SGD
비등방성 함수(방향에 따라 성질(기울기)가 달라지는 함수)에서 탐색 경로가 비효율적
모멘텀 Momentum
속도 v, av는 물체가 아무런 힘을 받지 않을 때 하강시키는 역할
AdaGrad
동그라미: 행렬의 원소별 곱셈
1/h로 학습률 조정 > 학습률 감소가 매개변수의 원소마다 다르게 적용
개별 매개변수에 적응적으로 학습률을 조정하면서 학습 진행
Adam (Momentum + AdaGrad)
## 가중치 초깃값에 따른 은닉층 활성화값(활성화함수 출력값)의 변화
# sigmoid
각 층의 값이 0, 1에 치우쳐져 있고 역전파의 기울기 값이 점점 줄어들다가 사라짐 > 기울기 소실
다수의 뉴런이 거의 같은 값을 출력하고 있어서 뉴런을 여러개 만든 의미가 없음 > 표현력 제한
Xavier 초깃값의 표준편차가 1/sqrt(n) 되도록 설정 > 모양 어그러져도 앞에 2개보다는 값이 넓게 분포됨
# ReLU
아주 작은 값이 흐름 > 역전파때 가중치 기울기 작음 > 학습 거의 x
층이 깊어질수록 값이 치우침 > 기울기 소실
He 초깃값의 표준편차가 2/sqrt(n) 인 정규분포 > 굿굿굿
# 정리
ReLU > He 초깃값
sigmoid, tanh 등 s자 모양 > Xavier 초깃값
시작이 반이다.... 초깃값 중요하다잉..
배치 정규화
- 학습 속도 개선
- 초깃값 의존 x
- 오버피팅 억제
## 오버피팅 억제
가중치 감소
- 큰 가중치에 큰 페널티 부여
- 손실함수의 값을 줄임
Drop out
- 뉴런을 임의로 삭제하면서 학습
- test할 때는 각 뉴런의 출력에 train때 삭제 안 한 비율을 곱해서 출력
## 하이퍼파라미터 최적화
검증 데이터
- 하이퍼파라미터 확인 전용
train 매개변수 학습 validation 하이퍼파라미터 성능 평가 test 신경망 범용 성능 평가
하이퍼파라미터 최적화
- 범위 설정 > 10의 거듭제곱 단위로 (로그 스케일로 지정)
- 설정된 범위에서 값 무작위 추출
- 샘플링한 하이퍼파라미터로 학습 > validation data로 정확도 평가
- 앞의 두개 100회 등 특정횟수로 반복하고 정확도를 봐서 범위 좁힘
'CV > 밑바닥부터 시작하는 딥러닝' 카테고리의 다른 글
8장 딥러닝 (2) | 2021.02.20 |
---|---|
7장 합성곱 신경망 CNN (0) | 2021.02.18 |
4장 신경망 학습 (1) | 2021.01.23 |