위키득계정 ↗
기술

Adam (최적화)

Adam (최적화)기술
영문명
Adam
이름의 유래
Adaptive Moment Estimation
누적 정보
기울기와 기울기 제곱의 이동평균
대표 보정
초기화 편향 보정
Adam은 기울기의 일차 모멘트와 이차 모멘트를 이동평균으로 추정해 매개변수 갱신량을 조절하는 최적화 방법이다. 이름은 Adaptive Moment Estimation에서 왔다. 기본 알고리즘은 0으로 초기화한 추정량의 편향을 보정한다.

두 상태를 따로 갱신하기

기울기를 gₜ라 하면 mₜ=β₁mₜ₋₁+(1-β₁)gₜ, vₜ=β₂vₜ₋₁+(1-β₂)gₜ²로 갱신한다. 제곱과 나눗셈은 성분별 연산이다. v는 중심화된 분산 그 자체가 아니라 기울기 제곱의 이동평균이다.

초기화 편향을 보정하기

m₀=v₀=0으로 시작한 기본형에서는 m̂ₜ=mₜ/(1-β₁ᵗ), v̂ₜ=vₜ/(1-β₂ᵗ)를 사용한다. 대표 갱신식은 wₜ=wₜ₋₁-ηm̂ₜ/(√v̂ₜ+ε)다. η는 학습률이고 ε는 수치 안정화를 위한 작은 양수다.

첫 단계 예제

설명을 위해 β₁=β₂=1/2, 첫 기울기 4로 두자. m₁=2, v₁=8이고 보정하면 m̂₁=4, v̂₁=16이다. ε의 영향을 생략하고 학습률을 0.1로 두면 이동은 -0.1이다. 보정 전 상태를 그대로 나누면 약 -0.07071이라 다른 결과다.

이름만으로 성능을 판단하지 않기

모멘트 추정에 따른 조절이 있어도 기본 학습률과 감쇠 계수는 여전히 설정해야 한다. ε의 배치, 가중치 감쇠, 변형 알고리즘의 사용 여부도 결과에 영향을 준다. Adam을 썼다는 사실만으로 모든 목적함수의 최솟값이나 최상의 일반화 성능을 보장하지 않는다.

관련 문서

RMSprop / 모멘텀 (최적화) / 경사 하강법 / 조기 종료 (기계 학습) / 인공 신경망 / 분산 / 활성화 함수