경사하강법 — 골짜기 찾기
w_new = w_old − 학습률 × 기울기. 기울기의 반대 방향으로 파라미터를 조금씩 업데이트한다.
눈을 감고 산에서 가장 낮은 골짜기를 찾아라. 앞이 안 보이는 상태에서 발밑의 경사만 느끼며 내려간다. 경사가 가파르면 큰 걸음으로, 완만하면 조심스럽게. 경사하강법 — 기울기 반대 방향으로 파라미터를 조금씩 업데이트하여 손실을 최소화한다.
새 파라미터 = 현재 파라미터 - 학습률 × 기울기
| 용어 | 설명 |
|---|---|
| 경사하강법 | 기울기를 따라 최저점을 찾아가는 최적화 알고리즘 |
| 학습률 | 한 번에 파라미터를 얼마나 변경할지 정하는 값 |
w_new = w_old − η × ∂L/∂w 기울기(∂L/∂w)의 반대 방향으로 학습률(η)만큼 이동합니다. 기울기가 음수면 w를 키우고, 양수면 줄입니다.
학습률(η) 선택의 중요성: 너무 크면 → 최적점을 넘어서 발산 (공이 골짜기를 뛰어넘음) 너무 작으면 → 학습이 너무 느림 (공이 거의 안 움직임) 적절하면 → 안정적으로 최적점에 수렴
손실 함수에서 w=0으로 출발해 최적점 w=3을 찾아봅시다
w=0에서 출발하여 학습률 0.1로 15번 업데이트하면 w가 3에 수렴한다. 매 스텝마다 기울기의 반대 방향으로 이동한다.
학습률 선택이 결과를 크게 바꿉니다
| 비교 | lr=0.01 (느림) | lr=0.1 (적절) |
|---|---|---|
| Step 0 | w=0.0, 손실=9.0 | w=0.0, 손실=9.0 |
| Step 10 | w=0.53, 손실=6.1 | w=2.93, 손실≈0 |
| Step 100 | w=2.51, 손실=0.2 | (이미 수렴) |
| 결론 | 100번에도 도달 못함 | 15번이면 도달 |
| 핵심 공식 | 설명 |
|---|---|
| 업데이트 규칙 | w_new = w_old − 학습률 × 기울기 |
| 이동 방향 | 기울기의 반대 방향으로 이동하여 손실 최소화 |
| 학습률(Learning Rate) 선택 | 설명 |
|---|---|
| 너무 크면 | 최적점을 넘어서 발산 (공이 골짜기를 뛰어넘음) |
| 너무 작으면 | 학습이 너무 느림 (공이 거의 안 움직임) |
| 적절한 범위 | 보통 0.001 ~ 0.1 사이의 작은 양수 |
학습률 선택이 모델 학습의 성패를 좌우한다
학습률(Learning Rate)이 너무 크면 어떤 문제가 발생하나요?
경사하강법에서 '기울기의 반대 방향'으로 이동하는 이유는 손실 함수를 줄이기 위해서이다.
경사하강법 공식 w_new = w_old - lr × gradient에서 lr의 일반적인 범위는?
경사하강법 코드의 빈칸: w = w - lr * ___
학습률이 너무 크면 어떤 현상이 발생하나요?