Skip to content

Files

Latest commit

afd3d9a · Feb 26, 2017

History

History
This branch is up to date with ahn-github/saito-goki:master.

ch04

파일 설명

파일명 파일 용도 관련 절 페이지
gradient_1d.py 수치 미분으로 기울기를 구합니다. 4.3.2 수치 미분의 예 125
gradient_2d.py 수치 미분으로 기울기를 구합니다(두 편미분을 동시에 계산). 4.4 기울기 129
gradient_method.py 경사하강법의 갱신 과정을 보여줍니다. 4.4.1 경사법(경사 하강법) 132
gradient_simplenet.py simpleNet 클래스 4.4.2 신경망에서의 기울기 134
train_neuralnet.py 미치배치 방식으로 학습하고 시험 데이터로 평가합니다. 4.5.2 미니배치 학습 구현하기 / 4.5.3 시험 데이터로 평가하기 141, 143
two_layer_net.py 2층 신경망 클래스 4.5.1 2층 신경망 클래스 구현하기 137

4장 신경망 학습

이번 장의 주제는 신경망 학습입니다. 여기서 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻합니다. 이번 장에서는 신경망이 학습할 수 있도록 해주는 지표인 손실 함수를 소개합니다. 이 손실 함수의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표입니다. 이번 장에서는 손실 함수의 값을 가급적 작게 만드는 기법으로, 함수의 기울기를 활용하는 경사법을 소개합니다.

목차

4.1 데이터에서 학습한다! 
__4.1.1 데이터 주도 학습 
__4.1.2 훈련 데이터와 시험 데이터 
4.2 손실 함수 
__4.2.1 평균 제곱 오차 
__4.2.2 교차 엔트로피 오차 
__4.2.3 미니배치 학습 
__4.2.4 (배치용) 교차 엔트로피 오차 구현하기 
__4.2.5 왜 손실 함수를 설정하는가? 
4.3 수치 미분 
__4.3.1 미분 
__4.3.2 수치 미분의 예 
__4.3.3 편미분 
4.4 기울기 
__4.4.1 경사법(경사 하강법) 
__4.4.2 신경망에서의 기울기 
4.5 학습 알고리즘 구현하기 
__4.5.1 2층 신경망 클래스 구현하기
__4.5.2 미니배치 학습 구현하기 
__4.5.3 시험 데이터로 평가하기

이번 장에서 배운 내용

  • 기계학습에서 사용하는 데이터셋은 훈련 데이터와 시험 데이터로 나눠 사용한다.
  • 훈련 데이터로 학습한 모델의 범용 능력을 시험 데이터로 평가한다.
  • 신경망 학습은 손실 함수를 지표로, 손실 함수의 값이 작아지는 방향으로 가중치 매개변수를 갱신한다.
  • 가중치 매개변수를 갱신할 때는 가중치 매개변수의 기울기를 이용하고, 기울어진 방향으로 가중치의 값을 갱신하는 작업을 반복한다.
  • 아주 작은 값을 주었을 때의 차분으로 미분하는 것을 수치 미분이라고 한다.
  • 수치 미분을 이용해 가중치 매개변수의 기울기를 구할 수 있다.
  • 수치 미분을 이용한 계산에는 시간이 걸리지만, 그 구현은 간단하다. 한편, 다음 장에서 구현하는 (다소 복잡한) 오차역전파법은 기울기를 고속으로 구할 수 있다.