위키득계정 ↗
기술

Adagrad

Adagrad기술
영문명
Adagrad
누적 상태
성분별 기울기 제곱합
조절 단위
개별 매개변수
주의점
누적에 따른 갱신 배율 감소
Adagrad는 과거 기울기의 크기를 누적해 매개변수별 갱신 배율을 조절하는 최적화 방법이다. 대표적인 대각형 방식은 각 성분의 기울기 제곱합을 사용한다. 누적량이 큰 성분은 같은 기울기가 주어져도 더 작게 이동한다.

성분별 누적

기울기 성분 g에 대해 sₜ=sₜ₋₁+gₜ²로 누적한다. 제약이 없는 기본 대각형의 한 표기는 wₜ=wₜ₋₁-ηgₜ/(√sₜ+ε)다. η는 기본 학습률이다. 안정화 상수와 초기 누적값의 정의는 구현별로 확인해야 한다.

같은 기울기가 반복될 때

초기 누적값을 0, 기울기를 매번 3, η를 0.1로 두고 ε의 영향을 생략하자. 첫 누적값은 9라서 이동량이 -0.1이다. 다음 누적값은 18이고 이동량은 약 -0.07071이다. 세 번째는 27이므로 약 -0.05774다. 같은 기울기인데도 이동량이 감소한다.

빈도만 세는 방법은 아니다

누적값이 각각 100과 4인 두 성분에 현재 기울기 2가 들어오면 새 누적값은 104와 8이다. 같은 기본 학습률에서 이동량의 절댓값은 각각 2η/√104, 2η/√8이다. 누적은 횟수뿐 아니라 과거 기울기의 크기에도 의존한다. 드문 성분이 언제나 더 중요하다는 판정은 아니다.

장기간 학습의 특성

제곱합은 감소하지 않으므로 기본 학습률이 일정하면 분모에 따른 배율도 커지지 않는다. 다만 현재 기울기가 달라지므로 실제 이동량까지 매번 감소하는 것은 아니다. RMSprop처럼 오래된 제곱 기울기의 영향을 이동평균으로 줄이는 방식과 구분된다.

관련 문서

RMSprop / Adam (최적화) / AdamW / 경사 하강법 / 인공 신경망 / 모멘텀 (최적화)