스킬캠퍼스

오늘 끝나면

MLP와 역전파

  • MLP와 역전파의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 MLP와이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

1986 럼멜하트·힌튼·윌리엄스 — 은닉층의 부활, XOR을 푸는 법 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

AI · Day 2 / 지도학습 · 생성 DL

MLP와 역전파

Day 1의 퍼셉트론은 XOR에서 무너진다. 뉴런을 한 층 더 쌓고 오차를 거꾸로 흘리니 벽이 사라진다. 오늘은 다층 퍼셉트론과 역전파, 이 둘을 바닥부터 본다.

P.01AI · Day 2

XOR이 남긴 빚

Day 1의 퍼셉트론은 직선 하나밖에 못 긋는다. 그래서 XOR을 못 푼다.

퍼셉트론은 w·x + b 한 줄이 전부다. 출력이 입력의 선형 결합이라, 가중치를 바꿔도 평면을 직선으로 자르는 데서 멈춘다. XOR은 대각선으로 떨어진 두 무리라 직선 한 개로는 가를 수 없다.

1969년에 민스키와 페퍼트가 이 한계를 책으로 증명했다. 그 한 권 때문에 신경망은 10년 넘게 겨울을 맞았다. 해법은 단순하다. 뉴런을 한 층 더 쌓으면 된다. 중간층이 입력을 비선형으로 휘어주면, 안 갈라지던 것이 갈라진다.

단층 vs 다층, 결정 경계
단층 · 직선 1개XOR 분리 실패다층 · 휜 경계XOR 분리 성공
P.02AI · Day 2

층을 쌓는다는 것

MLP(Multi-Layer Perceptron)는 퍼셉트론을 여러 층 쌓은 것이다. 입력층, 은닉층, 출력층으로 나뉜다. 각 층의 뉴런은 앞 층 전부와 연결된다.

핵심은 층 사이에 끼우는 활성화 함수다. 선형 변환만 쌓으면 백 층을 쌓아도 결국 한 줄짜리 선형 변환과 똑같아진다. 그래서 매 층 뒤에 σ(z) 같은 비선형을 넣어 신호를 휘어준다.

왜 이게 전부를 바꾸나

비선형 은닉층이 하나만 있어도 MLP는 임의의 연속 함수를 원하는 만큼 가깝게 흉내 낸다. 이것을 보편 근사 정리라 한다. 직선밖에 못 긋던 기계가 어떤 곡선이든 그릴 수 있게 된 것이다.

2-3-1 다층 퍼셉트론
입력 2은닉 3 · σ출력 1
P.03AI · Day 2

순전파, 신호가 흐른다

입력 x가 들어오면 각 층은 곱하고 더하고 휘는 일을 반복한다. 이것을 순전파(forward pass)라 한다.

한 층 계산은 딱 두 줄이다.z = W·x + b로 선형 결합을 만든다.a = σ(z)로 비선형을 입힌다. 이 출력 a가 다음 층 입력이 되어 똑같이 반복된다.

오른쪽은 2-8-1 MLP가 XOR 4개 점을 배우는 실제 학습이다. 순전파, 손실, 역전파, 보정 사이클이 돌며 결정 경계가 직선에서 휜 곡선으로 바뀐다.

파이썬 코드 보기
import numpy as np

def sigmoid(z):
    return 1 / (1 + np.exp(-z))

def forward(x, W1, b1, W2, b2):
    z1 = W1 @ x + b1     # 은닉층 가중합
    a1 = sigmoid(z1)     # 비선형 활성화
    z2 = W2 @ a1 + b2    # 출력층 가중합
    return sigmoid(z2)   # 최종 예측

x → (W1·x+b1) → σ → (W2·a1+b2) → σ → ŷ

MLP가 XOR을 직접 배운다 · 만져보기
MLP가 XOR을 학습 · TensorFlow.js
epoch 0
Day 1 퍼셉트론은 이 XOR을 못 풀었다. MLP로 직접 학습시켜 보자.
P.04AI · Day 2

역전파, 오차를 거꾸로

답을 냈으면 얼마나 틀렸는지 따져야 한다. 정답과의 차이가 손실(loss)이다. 문제는 이 손실을 줄이려면 수만 개의 가중치를 각각 어느 방향으로 얼마나 움직여야 하느냐다.

가중치를 하나씩 흔들면 영원히 끝나지 않는다.역전파는 이것을 단 한 번의 역방향 패스로 해결한다. 비결은 미적분의 연쇄 법칙이다. 출력단 오차를 층을 거꾸로 타고 곱해 내려보내면, 각 가중치가 손실에 얼마나 기여했는지(∂L/∂w)가 자동으로 나온다.

한 사이클

순전파로 예측하고, 손실을 계산하고, 역전파로 기울기를 구한 다음, w ← w − η·∂L/∂w로 살짝 보정한다. 이 사이클을 수천 번 돌리면 네트워크가 학습된다. 1986년에 럼멜하트와 힌튼이 이것을 대중화했다. 신경망의 겨울이 끝났다.

Q. 역전파의 “역(backward)”은 정확히 무엇이 거꾸로 가는 것일까?데이터(입력)가 아니라 오차의 기울기가 거꾸로 흐른다. 순전파에서 출력 쪽으로 흐른 신호 경로를 그대로 되짚는다. 출력단 오차를 연쇄 법칙으로 곱해가며 입력 쪽 가중치까지 책임을 분배한다.
chain rule · 오차의 역류
입력은닉출력forwardbackward · ∂L/∂wL연쇄 법칙 · chain rule∂L/∂w = ∂L/∂a · ∂a/∂z · ∂z/∂w
P.05AI · Day 2

가중치가 내려간다

역전파가 어느 방향인지 알려주면, 경사 하강은 그 방향으로 한 걸음 내딛는다. 손실이라는 골짜기를 더듬어 내려간다. 한 걸음의 크기가 η, 즉 학습률이다.

너무 크면 골짜기를 뛰어넘어 발산한다. 너무 작으면 평생 못 내려온다. 그래서 학습률은 실무에서 가장 먼저 만지는 손잡이다.

비즈니스로 옮기면

역전파는 결과의 오차를 원인까지 거꾸로 분배하는 기계다. 매출이 떨어졌을 때 그 책임을 가격과 마케팅과 재고에 비례 배분해 다음 분기 액션을 조정하는 일과 구조가 같다. 좋은 의사결정도 결국 오차를 원인으로 되돌리는 루프다.

Q. 학습률 η를 100배 키우면 학습이 100배 빨라질까?아니다. 보통은 손실이 골짜기를 가로질러 튕기다 발산한다. 기울기는 방향만 믿을 수 있다. 한 걸음 거리는 작게 잡아 여러 번 내려가는 편이 안전하다.
손실 곡선 · 경사 하강
Lw최소w ← w − η·∂L/∂w

3줄 요약

  1. 11986 럼멜하트·힌튼·윌리엄스 — 은닉층의 부활, XOR을 푸는 법
  2. 2MLP와 역전파은 준비운동 → 지도학습 → 시퀀스 → 생성모델 → 실무 적용 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

MLP와

1986 럼멜하트·힌튼·윌리엄스 — 은닉층의 부활, XOR을 푸는 법

모델

입력을 받아 예측이나 출력을 만드는 계산 규칙

손실

예측이 정답에서 얼마나 빗나갔는지 재는 숫자