본문 바로가기

컴퓨터공학/딥러닝 논문리뷰

Adam: A method for stochastic optimization

반응형

논문제목: Adam: A method for stochastic optimization

ADAM은 파라미터 수가 엄청나게 많은 모델도 학습시킬 수 있고, 그래디언트와 모멘텀을 기반으로 하여 작동하기 때문에 메모리 효율도 좋고, step size도 스스로 조절해줌. 오늘날 가장 많이 사용되고 있는 optimizer이다. Gradient에 momentum을 추가하여 사용된다. 현재 시점의 gradient g와 이전 시 점의 모멘텀 벡터를 활용하여 다음에 움직일 방향 mt를 결정한다. 여기서 베타의 의미는 모멘텀과 gradient 중 어느쪽을 더 가중할 것인가를 나타내는 하이퍼 파 라미터이다. 이렇게 mt를 구한 이후, 이를 보정한 값으로 업데이트가 진행되게 된다. 이는 학습 초기의 모멘텀 벡터들이 주로 0으로 편향되는 것을 방지하고자 하는 것. 나중에는 의미가 없어지게 된다. ADAM은 step size도 조절해주는데, gradient 변화량에 반비례하는 step size를 통해 조절한다. 모든 시점에 대해서 누 적된 gradient로 step size를 조절하게 되면, 학습이 꽤 진행된 이후부터는 step size가 0으로 수렴하게 되는 일이 발생하는데, 이를 베타2를 이용하여 감소시켜주 어야 한다. Adam은 다른 기법에 비해서 압도적으로 좋은 성과를 내고 있다.

반응형