rueki

Adam Optimizer (adaptive moment estimation) 본문

DL

Adam Optimizer (adaptive moment estimation)

륵기 2020. 7. 5. 17:56
728x90
반응형

지금 성능 좋기로 제일 많이 나와있고, 많이 쓰이는 Adam optimizer 알고리즘에 대해서 알아보려고한다.

Momentum과 RMSprop을 합친 알고리즘으로서, 다양한 범위의 딥러닝 구조에서 잘 작동한다고 소개되있기도 한다.

 

알고리즘을 살펴보기 전에, 파라메터의 종류에 대해 먼저 살펴보고자 한다.

 

a (learning rate) : 어느 최적화 알고리즘에서나 나오듯, 이 부분이 보편적으로 많이 보이면서 중요하다.

                        완벽한 최적의 값을 알 수 없기에, 찾을 때까지 학습을 하며 바꾼다.

 

$B_{1}$ : 모멘텀 부분에 관련된 파라메터로서 이동 평균 및 가중 평균을 의미하고 default로 0.9정도로 사용하면

            좋다고 한다.

 

$B_{2}$ : 이동가중평균이다. 0.999가 좋다고 한다.

ϵ : 값의 변화에 큰 역활을 하지는 않지만 추천하는 값으로는 10의 -8승정도라고 한다.


논문에서 소개된 Adam의 장점은 stepsize가 Gradient의 rescaling에 영향을 받지 않는다는 것인데,

이는 안정적으로 최적화를 할 수 있다는 뜻이다.

 

여기서 v(momentum 1차벡터)와 h(momentum 2차벡터)는 각각  처음에 0으로 설정해서, 학습 초반에 

0으로 biased되는 문제를 해결한다. 

이 부분에서 설명하고자 하는 것은, 모멘텀과 유사하게 기울기의 지수 평균을 저장하고, RMSprop과 유사하게 기울기의 제곱값을 지수 평균을 저장하는 것이다.

이제 이 값들을 가지고 기울기 update를 하면 수도 코드에서의 맨 마지막 내용을 설명할 수가 있다.

기울기가 곱해질 자리에 m을 넣고, 분모자리에 Gt 대신에 v를 넣어 계산을 진행한다.

 

728x90
반응형

'DL' 카테고리의 다른 글

딥러닝 Optimization 함수 정리  (0) 2020.08.26
Batch Normalization  (0) 2020.07.05
RNN과 LSTM에 대해서 알아보자  (0) 2020.04.04
2. Activation Function  (0) 2020.02.18
1. Forward Propagation  (0) 2020.02.18
Comments