AdamAdam
Adam(Adaptive Moment Estimation)은 딥러닝 모델 훈련에서 가장 광범위하게 사용되는 최적화 알고리즘으로, 2014년 Diederik Kingma와 Jimmy Ba가 제안했다. 경사 하강법의 두 가지 발전 방향인 모멘텀(momentum)과 RMSprop의 아이디어를 결합해, 각 가중치마다 적응적으로 학습률을 조절한다.
동작 원리
Adam은 두 종류의 이동 평균을 유지한다. 첫 번째인 1차 모멘트(first moment) mₜ는 기울기의 지수 이동 평균으로, 모멘텀과 유사하게 이전 기울기 방향을 관성처럼 반영한다. 두 번째인 2차 모멘트(second moment) vₜ는 기울기 제곱의 지수 이동 평균으로, 각 가중치 방향의 기울기 변동성을 추적한다. 실제 갱신에서는 이 두 모멘트를 초기 편향(bias)에 대해 보정한 값으로 학습률을 나누어 적용한다. 기울기 변동이 큰 방향은 학습률이 작아지고, 변동이 작은 방향은 학습률이 커지는 효과다.
하이퍼파라미터로는 학습률 η(기본값 0.001), 1차 모멘트 감쇠율 β₁(기본값 0.9), 2차 모멘트 감쇠율 β₂(기본값 0.999), 수치 안정성을 위한 ε(기본값 1e-8)이 있다. 이 기본값들이 대부분의 작업에서 잘 동작하도록 설계되어 있어, 최소한의 하이퍼파라미터 튜닝으로도 안정적인 결과를 얻을 수 있다.
특성과 주의점
Adam은 희소한 기울기(sparse gradient)가 발생하는 상황, 예를 들어 단어 임베딩처럼 일부 파라미터만 자주 갱신되는 경우에 특히 효과적이다. 또한 손실 경관(loss landscape)이 불규칙하거나 잡음이 많은 문제에서도 안정적으로 수렴한다. 반면 일부 연구에서는 이미지 분류처럼 잘 정제된 데이터셋에서 충분한 에포크 훈련 시 모멘텀 SGD가 Adam보다 더 좋은 일반화 성능을 보인다는 결과도 있어, 작업 성격에 따른 옵티마이저 선택이 중요하다.