Ch.6 미적분 — AI가 스스로 배우는 원리
경사하강법 — 골짜기 찾기
눈을 감고 산에서 가장 낮은 골짜기를 찾아라
앞이 안 보이는 상태에서 발밑의 경사만 느끼며 내려갑니다. 경사가 가파르면 큰 걸음으로, 완만하면 조심스럽게. 이것이 경사하강법의 비유입니다.
발걸음(학습률)이 너무 크면? 너무 작으면?
경사하강법 — 기울기 반대 방향으로 파라미터를 조금씩 업데이트하여 손실을 최소화합니다.
핵심 개념
경사하강법
기울기를 따라 최저점을 찾아가는 최적화 알고리즘
학습률
한 번에 파라미터를 얼마나 변경할지 정하는 값
핵심 내용
새 파라미터 = 현재 파라미터 - 학습률 × 기울기
기울기(∂L/∂w)의 반대 방향으로 [[학습률]](η)만큼 이동합니다. 기울기가 음수면 w를 키우고, 양수면 줄입니다.
학습률(η) 선택의 중요성: 너무 크면 → 최적점을 넘어서 발산 (공이 골짜기를 뛰어넘음) 너무 작으면 → 학습이 너무 느림 (공이 거의 안 움직임) 적절하면 → 안정적으로 최적점에 수렴
손실 함수에서 w=0으로 출발해 최적점 w=3을 찾아봅시다
import numpy as np
def loss_function(w):
return (w - 3) ** 2
def gradient(w):
return 2 * (w - 3)
# 학습 시작! (w=0에서 출발)
w = 0.0
learning_rate = 0.1
print("=== 경사 하강법 실행 ===\n")
print(f"{"Step":>4s} | {"w":>8s} | {"손실":>10s} | {"기울기":>8s}")
print("-" * 45)
for step in range(15):
loss = loss_function(w)
grad = gradient(w)
print(f"{step:4d} | {w:8.4f} | {loss:10.4f} | {grad:+8.4f}")
w = w - learning_rate * grad
print(f"\n최종 w = {w:.4f} (목표: 3.0000)")학습률 선택이 결과를 크게 바꿉니다
학습률(Learning Rate)이 너무 크면 어떤 문제가 발생하나요?
경사하강법에서 '기울기의 반대 방향'으로 이동하는 이유는 손실 함수를 줄이기 위해서이다.
경사하강법 공식 w_new = w_old - lr × gradient에서 lr(학습률)의 일반적인 범위는?
다음 경사하강법 코드의 빈칸을 채우세요. w = w - lr * ___ # 파라미터 업데이트
w = w - lr * ___
학습률이 너무 크면 어떤 현상이 발생하나요?
경사하강법 마스터!
핵심 용어
경사하강법
기울기를 따라 최저점을 찾아가는 최적화 알고리즘
학습률
한 번에 파라미터를 얼마나 변경할지 정하는 값
정리 노트
경사하강법 — 골짜기를 찾는 알고리즘
핵심 공식
- 업데이트 규칙
- w_new = w_old − 학습률 × 기울기
- 이동 방향
- 기울기의 반대 방향으로 이동하여 손실 최소화
학습률(Learning Rate) 선택
- 너무 크면
- 최적점을 넘어서 발산 (공이 골짜기를 뛰어넘음)
- 너무 작으면
- 학습이 너무 느림 (공이 거의 안 움직임)
- 적절한 범위
- 보통 0.001 ~ 0.1 사이의 작은 양수
학습률 선택이 모델 학습의 성패를 좌우한다
시각 자료
핵심 정리
- 1경사하강법: w_new = w_old - lr × gradient
- 2기울기의 반대 방향으로 이동하여 손실 최소화
- 3학습률이 너무 크면 발산, 너무 작으면 느림
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작