모델의 정확도를 높이기 위해 => 손실함수 최소화 하는 과정으로~
1) mini-batch
학습을 수행하는데 group으로 나누고 한 번에 행렬로 학습시켜 시간 절약
훈련데이터 무작위로 가져옴
수치미분
, 오차역전파
의 방법을 배움
2) 기울기 산출
그 미니배치의 손실함수 값을 줄이는 것이 목표
매개변수 값 최적화 => 기울기
* 학습률
=> 한번에 갱신되는 양 결정
이때 학습률이 높으면 발산, 너무 낮으면 시간이 오래 걸림
3) 매개변수 갱신
가중치 매개변수를 기울기 방향으로 아주 조금 갱신
4) 반복
1~3단계 반복
기울기 산출: 수치 미분 대신 오차역전파법 사용=> 빠른 시간으로 실행 가능.
2층 신경망: TwoLayerNet 클래스를 이용해 구현
4.5장의 구현과의 차이점
layer: multi, add, Relu,..
affine: 행렬의 곱셈
각 구현한 계층의 layer 활용.
4장에서 했던 gradient 사용
batch_size, 학습률의 변화, 반복횟수의 변화를 주어 결과 확인하기
배치횟수, 학습률을 탐색=> 효율적인 학습 탐색