시즌 1 · 알파고편 / PART 4 · PART 4 · 신경망 등장: 직관을 학습한다 / Ch 1 · 퍼셉트론에서 MLP까지

학습이란? — 손실 함수와 경사 하강

지금까지 가중치를 손으로 정했어. 실제로는 데이터로부터 자동 학습.

📖 학습의 두 핵심 개념
  1. 손실 함수 (Loss function) — "현재 가중치가 얼마나 틀렸나"의 점수. 낮을수록 좋음.
  2. 경사 하강 (Gradient descent) — 손실을 줄이는 방향으로 가중치 조금씩 수정.

학습 과정:

1. 가중치 무작위 초기화
2. 반복:
    a. 데이터 (x, y_정답) 한 개 가져옴
    b. forward pass로 y_예측 계산
    c. 손실 L(y_정답, y_예측) 계산 — 예: 제곱 오차
    d. 가중치에 대한 손실의 기울기 ∂L/∂w 계산 — 역전파
    e. 가중치 갱신: w ← w - η · ∂L/∂w   (η = 학습률)
3. 손실이 충분히 낮으면 종료
🎯 직관적 비유 — 산에서 골짜기 찾기

안개 낀 산에서 가장 낮은 골짜기를 찾아야 함. 시야는 안 보이지만 발 밑 기울기는 느낌. 가장 가파른 내리막 방향으로 한 걸음씩.

  • 현재 위치 = 현재 가중치
  • 높이 = 손실 값
  • 발 밑 기울기 = 기울기 ∂L/∂w
  • 한 걸음 크기 = 학습률 η

충분히 걸으면 골짜기(낮은 손실 = 좋은 가중치)에 도달. 이게 경사 하강법.

💡 역전파 (Backpropagation, 1986)

여러 층 신경망에서 ∂L/∂w를 효율적으로 계산하는 방법. 출력 쪽에서 입력 쪽으로 역방향으로 미분 chain rule 적용.

"chain rule을 신경망에 적용한 것"이라 새 수학이 아님. 그런데 1986년까지 아무도 이걸 쓸 생각을 못 했음. 알고리즘 하나로 AI 겨울이 끝났다.

이 챕터에서 역전파 코드를 만들지는 않음 (수학이 길고, 실제 알파고는 TensorFlow/PyTorch 사용). 핵심은 "가중치는 학습 가능"이라는 개념.

실제로는:

  • TensorFlow/PyTorch가 자동 미분 → 역전파 자동
  • 우리는 모델 구조만 정의하고 데이터 주면 학습
  • 알파고도 마찬가지 — TensorFlow로 학습

다음 챕터에서 CNN을 다루고, 그 다음 챕터들에서 알파고의 두 신경망(policy, value)을 본다.