본문으로 건너뛰기
228 / OPTIMIZATION DYNAMICS LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 미분·확률·최적화 기초
단원 목록 (600) · Momentum·Adam의 실제 갱신
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

속도·모멘트·bias correction을 같은 이차 손실에서 비교합니다.

Same diagonal quadratic and start (1,1). Blue is GD at the same eta; orange is heavy-ball v=beta v+g, x←x−eta v. Beta2 is unused. This finite example supplies no universal adaptive-method convergence guarantee.

-0.410.44.68-0.18
가로 반복 · 파랑 같은 eta의 GD 목적값 · 주황 선택 방식의 목적값
stepx1x2method fGD f
0114.54.5
10.90.20.5650.565
20.73-0.61.7060.334
30.521-0.762.4460.266
40.302-0.280.3590.215
50.0960.3280.4350.174
6-0.0780.5521.2220.141
7-0.2090.290.3570.114
8-0.294-0.1520.1360.093
9-0.332-0.3840.6440.075
10-0.329-0.2620.3290.061

final variables = (-0.329, -0.262)

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

속도

Heavy-ball은 과거 속도와 새 기울기를 더합니다.

v_next=beta v+g

실험에서 확인하기 →
이 단원 목차

알고리즘의 관례를 먼저 고정하기

Momentum과 적응형 방법에는 이름이 비슷한 여러 변형이 있다. 실습은 f(x)=(x₁²+κx₂²)/2, 초기 (1,1)에서 heavy-ball과 bias correction을 포함한 Adam을 명시적으로 비교한다. 파란 선은 같은 학습률과 반복 수의 GD, 주황 선은 선택한 방법이다. 목적과 초기값이 같아야 차이를 갱신 규칙에 연결할 수 있다.

이 예는 결정론적 이차함수의 유한 실행이다. 일반화, 확률 잡음, 분리된 weight decay, 비동기 갱신이나 보편적인 수렴 정리를 실험한 것은 아니다.

속도를 저장하는 heavy-ball

초기 속도 0에서 구현한 규칙은

vk=βvk−1+gk,xk+1=xk−ηvk.v_k=\beta v_{k-1}+g_k,\qquad x_{k+1}=x_k-\eta v_k.

기울기에 1−β를 곱하지 않는 관례다. 이를 곱하는 다른 관례와 학습률 숫자만 같게 놓으면 다른 보폭을 비교하게 된다. β=0으로 두면 정확히 GD가 된다.

곡률 λ인 한 방향에서 속도를 제거하면 특성다항식 r²−(1+β−ηλ)r+β를 얻는다. 0≤β<1에서 두 근이 단위원 내부에 놓이는 조건은 0<ηλ<2(1+β)다. 실습은 이차함수의 두 방향을 검사한다. 이는 선형 점화식의 안정성 조건이며 매 반복 목적값 감소를 뜻하지 않는다. 복소 근과 관성 때문에 안정한 경우에도 진동과 overshoot가 생길 수 있다.

두 모멘트를 저장하는 Adam

Adam은 지수 평균 두 개를 사용한다.

mk=β1mk−1+(1−β1)gk,vk=β2vk−1+(1−β2)gk2,xk+1=xk−ηmk/(1−β1k)vk/(1−β2k)+ϵ.m_k=\beta_1m_{k-1}+(1-\beta_1)g_k,\quad v_k=\beta_2v_{k-1}+(1-\beta_2)g_k^2, \qquad x_{k+1}=x_k-\eta\frac{m_k/(1-\beta_1^k)}{\sqrt{v_k/(1-\beta_2^k)}+\epsilon}.

제곱·제곱근·나눗셈은 좌표별 연산이다. ε=0.001은 제곱근 밖에 고정한다. 안에 넣으면 다른 알고리즘이다. heavy-ball 모드에서는 beta2가 쓰이지 않는다.

첫 기울기는 (1,κ)다. 0으로 시작한 모멘트의 편향을 보정하면 허용된 beta 값에 관계없이 첫 모멘트는 g, 둘째는 g²다. κ=8, η=0.1이면 새 좌표는 약 (0.900100,0.900012)다. GD의 결과 (0.9,0.2)와 비교하자. Adam의 비슷한 초기 이동량은 정규화 때문이며 두 곡률이 같다는 뜻은 아니다.

적응형 배율이 보장하지 않는 것

제곱 기울기 평균은 Hessian이 아니다. 좌표 사이 교차 곡률도 담지 않는다. 좌표를 임의로 회전하면 동일한 알고리즘 궤적을 유지하는 것도 아니다. 유한 그래프가 좋아 보인다고 모든 볼록·비볼록 문제의 수렴이 증명되지는 않는다. 정확한 변형·학습률 일정·확률 가정·정칙 조건을 함께 읽어야 한다.

직접 풀기와 풀이

κ=8,η=0.1,β=0.8의 heavy-ball을 열 번 실행하여 GD와 목적값을 비교하자. 안정성이 매 반복 우위를 뜻하지 않음을 확인한다. β=0으로 바꾸면 두 곡선이 일치한다. 다음 Adam 한 번만 실행하고 보정 모멘트 (1,8), (1,64)를 직접 구하자. 보정을 생략하면 초기 이동량이 왜 달라지는지도 설명하자.

더 읽기: Kingma와 Ba, Adam, Bottou, Curtis와 Nocedal.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. Adam의 제곱 기울기는 Hessian인가요?
2. Heavy-ball beta=0은 GD인가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.