위키득계정 ↗
기술

Adamax

Adamax기술
영문명
Adamax
알고리즘 계열
Adam의 변형
배율 상태
감쇠된 기울기 절댓값의 최댓값
보정 대상
일차 이동평균의 초기화 편향
Adamax는 Adam 계열의 최적화 방법으로, 기울기 제곱의 이동평균 대신 감쇠된 절댓값의 최댓값을 이용해 갱신 배율을 정한다. 기울기의 일차 이동평균도 유지하며 이 상태에는 초기화 편향 보정을 적용한다.

두 상태의 갱신

기울기를 g라 하면 mₜ=β₁mₜ₋₁+(1-β₁)gₜ, uₜ=max(β₂uₜ₋₁,|gₜ|)로 계산한다. 연산은 성분별이다. 한 가지 구현 표기의 이동량은 -ηmₜ/((1-β₁ᵗ)(uₜ+ε))다. 초기 상태는 m₀=u₀=0으로 둔다.

두 단계 계산

β₁=β₂=1/2, η=0.1에서 기울기가 차례로 4와 1이라고 하자. ε의 영향을 생략하면 첫 단계 m₁=2, u₁=4이고 이동은 -0.1이다. 두 번째는 m₂=1.5, u₂=2다. 일차 편향 보정 뒤 m은 2가 되어 이동량이 다시 -0.1이다.

계속 커지는 최댓값은 아니다

앞 예의 u는 4에서 2로 줄었다. 과거 상태를 먼저 β₂배 하기 때문에 전체 과거 기울기의 절댓값 중 최댓값을 영구히 보관하는 방식과 다르다. 또한 모든 매개변수를 하나의 최대값으로 나누는 전역 규칙이 아니라 각 성분에 자기 상태가 있다.

현재 기울기와 이동 방향

같은 예에서 세 번째 기울기가 0이면 m₃=0.75, u₃=1이다. 보정된 m은 6/7이므로 이동은 약 -0.08571이다. 현재 기울기가 0이어도 남아 있는 일차 이동평균 때문에 움직일 수 있다. 이름의 max가 손실의 최댓값을 직접 최소화한다는 뜻은 아니다.

관련 문서

Adam (최적화) / AdamW / Adagrad / Adadelta / RMSprop / 모멘텀 (최적화) / 경사 하강법