실시간 물리 시뮬레이션
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
관성 계수 (Momentum Coefficient, $\alpha$)
0.9
쉽게 이해하는 경사하강법
머신러닝의 인공지능은 "최대한 정답에 가까운 정교한 공식을 완성하는 일"입니다. 이때 오답률(에러 크기)을 '언덕의 높이(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)의 아크탄젠트 활용 지형