AllGoMath

3차원 함수 플로터 3D Function Plotter

이변수 함수의 3D 곡면 렌더링과 경사하강 경로 시각화.

이변수 함수의 3D 곡면을 실시간으로 렌더링하고, 시작점과 학습률을 조절해 경사하강법이 골짜기로 내려가거나 발산하는 경로를 직접 확인합니다.

경사하강법은 함수 표면을 내리막으로 걷는다. 매 스텝마다 가장 가파른 증가 방향인 그래디언트를 재고, 그 반대로 학습률만큼 이동한다. 반복하면 점은 골짜기에 정착한다 — 현대 머신러닝 대부분의 엔진이다. 학습률이 너무 크면 발산하고 너무 작으면 기어간다. 그래디언트가 0으로 줄면 임계점에 도달한 것이며, 시작 위치에 따라 전역이 아닌 지역 최소에 갇힐 수 있다.

시간복잡도 O(n^2) sampling + O(k) steps

x_{k+1} = x_k - a * grad f(x_k)

응용

지도 위의 지형

등고선 지도의 능선과 계곡, 봉우리는 결국 고도 함수 f(x, y)의 그래프다. 등산로가 능선을 따라 이어지는 동안, 빗물은 가장 가파른 내리막인 그래디언트의 반대 방향으로 흐른다.

손실 함수 위의 학습

신경망 학습은 손실 함수라는 지형에서 가장 낮은 지점을 찾아 내려가는 과정이다. 옵티마이저 벤치마크의 고전인 Rosenbrock 계곡이 그 어려움을 잘 보여준다. 좁고 휘어진 골짜기에서 학습률이 크면 발산하고, 작으면 좀처럼 바닥에 닿지 못한다.

기울기가 0인 지점

안장점에서는 그래디언트가 0이지만 극값은 아니다. 한 축으로는 오르막, 다른 축으로는 내리막이기 때문이다. 고차원 딥러닝에서 학습을 지연시키는 주범은 극소점보다 오히려 이런 안장점이라고 알려져 있다.