사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리하였습니다.
매개변수 갱신 - Adam
모멘텀은 공이 그릇 바닥을 구르는 듯한 움직임을 보였습니다.
AdamGrad는 매개벼수의 원소마다 적응적으로 갱신 정도를 조정했습니다.
두 기법을 융합한 기법이 바로 Adam입니다.
위 두 방법의 이점을 조합했으므로 매개변수 공간을 효율적으로 탐색해줄 것이라고 기대할 수 있습니다.
하이퍼파라미터의 '편향 보정'이 진행된다는 점도 Adam의 특징입니다.
Adam에 의한 최적화 갱신 경로를 확인해보겠습니다.
Adam 갱신 과정도 모멘텀과 비슷한 패턴으로 움직입니다.
이는 학습의 갱신 강도를 적응적으로 조정해서 얻는 혜택입니다.
Adam은 하이퍼파라미터를 3개 설정합니다.
하나는 지금까지의 학습률, 나머지 두 개는 일차 모멘텀용 계수와 이차 모멘텀용 계수입니다.
이 책은 Adam을 이해하기 쉽도록 직관적으로 설명하여, 완전히 정확하지는 않습니다. 자세한 내용은 원논문을 참고하세요.
어느 갱신 방법을 이용할 것인가?
지금까지 매개변수의 갱신 방법 4개를 살펴봤습니다.
네 기법의 결과를 비교해보겠습니다.
그림마 보면 AdaGrad가 가장 나은 것 같은데, 그 결과는 풀어야 할 문제가 무엇이냐에 따라 달라지므로 주의해야 합니다. 또, 하이퍼파마미터를 어떻게 설정하느냐에 따라서도 결과가 바뀝니다.
각자의 장단점이 있어 상황을 고려해 여러 가지로 시도해봐야 합니다.
MNIST 데이터셋으로 본 갱신 방법 비교
손글씨 숫자 인식을 대상으로 네 기법을 비교해보겠습니다.
각 방법의 학습 진도가 얼마나 다른지를 확인하겠습니다.
결과를 보면 SGD의 학습 진도가 가장 느립니다. 나머지 세 기법의 진도는 비슷한데, AdaGrad가 조금 더 빠른 것 같습니다.
주의할 점은 하이퍼파라미터인 학습률과 신경망의 구조(층 깊이 등)에 따라 결과가 달라진다는 것 입니다.
'수학 > 딥러닝 이론' 카테고리의 다른 글
[딥러닝] 2. 가중치의 초깃값 - 가중치의 초깃값에 따라 은닉층의 활성화값 분포 변화, Xavier 초깃값 (2) | 2020.10.02 |
---|---|
[딥러닝] 1. 가중치의 초깃값 - 초깃값을 0으로 하면? (0) | 2020.10.02 |
[딥러닝] 매개변수 갱신 - AdaGrad 기법 (0) | 2020.10.02 |
[딥러닝] 매개변수 갱신 - 모멘텀(Momentum) 기법 (3) | 2020.10.02 |
[딥러닝] 매개변수 갱신 - 확률적 경사 하강법(SGD) 개념과 단점 (0) | 2020.10.02 |