← DataForge 홈
⛰️

경사하강법

공이 언덕을 굴러 내려가듯 최솟값을 찾아가는 과정을 봅니다

실시간 물리 시뮬레이션
X축: 가중치 ($w$) Y축: 손실 ($L(w)$)
현재 위치 ($w$): 0.00
현재 높이 ($L$): 0.00
현재 경사 (Slope): 0.00
경사하강 공식: w ← w - η × Slope
공 (현재 가중치) 전역 최솟값

조건 및 하이퍼파라미터 조절

학습률 (Learning Rate, $\eta$) 0.100
너무 작음 (기어감) 적정 범위 너무 큼 (발산/오버슈팅)
공의 시작 위치 ($w_{start}$) -4.0

쉽게 이해하는 경사하강법

머신러닝의 인공지능은 "최대한 정답에 가까운 정교한 공식을 완성하는 일"입니다. 이때 오답률(에러 크기)을 '언덕의 높이(Loss)'라 부르고, 공식의 수치들을 '공의 위치($w$)'라고 가정해봅시다.

1

경사도(기울기) 측정

공이 놓인 지점에서 오른쪽이 높은지 왼쪽이 높은지 미분(Derivative)을 통해 경사면의 각도를 측정합니다.

2

내리막길 방향으로 이동

기울기가 플러스(+)면 왼쪽으로, 마이너스(-)면 오른쪽으로 이동시킵니다. 즉, 기울기의 반대 방향으로 공을 보냅니다.

3

보폭(학습률) 조절

너무 크면 언덕 건너편으로 튕겨 날아가고(발산), 너무 작으면 기어가는 보폭 속도인 학습률($\eta$)을 곱해 위치를 업데이트합니다.

"기울기가 0인 평평한 골짜기 바닥에 멈추는 것이 최종 목표입니다."

이런 실험을 해보세요!

사용한 수학적 지형(함수식)

이차곡선: L(w) = 0.5 * w²
울퉁불퉁 언덕: L(w) = 0.1w⁴ + 0.15w³ - 1.2w² - 0.5w + 8
가파름 후 평평: L(w) = (0.5w³ - 2.5w)의 아크탄젠트 활용 지형