Lecture 10. 인공 신경망 (ANN)
선형 회귀를 여러 층으로 쌓아 비선형 함수를 학습합니다.
목차
- 퍼셉트론 한 개
- 다층 신경망
- 활성화 함수
- 역전파와 경사 하강법
- 인터랙티브 학습 데모
1. 퍼셉트론 (뉴런 한 개)
가장 기본 단위는 입력에 가중치를 곱하고 활성화 함수를 통과시키는 작은 함수입니다.
$$ z = w_1 x_1 + w_2 x_2 + b, \quad a = \sigma(z) $$이게 선형 회귀와 무엇이 다를까요? 활성화 함수 $\sigma$가 비선형이라는 점입니다.
2. 활성화 함수
$$ \text{ReLU: } \sigma(z) = \max(0, z), \quad \text{Sigmoid: } \sigma(z) = \frac{1}{1+e^{-z}}, \quad \text{Tanh: } \sigma(z) = \tanh z $$비선형이 끼어들지 않으면 아무리 많은 층을 쌓아도 결국 하나의 직선과 같습니다. 활성화 함수가 신경망을 강력하게 만듭니다.
- ReLU가 현재 기본값 — 계산이 빠르고 기울기 소실이 적음. 단점: "죽은 뉴런".
- Sigmoid는 출력이 (0, 1)이어서 확률 해석 좋지만 깊은 망에서 기울기 소실.
- Tanh는 평균이 0이어서 Sigmoid보다 학습이 안정적.
- 현대 변형: Leaky ReLU, GELU, Swish 등이 Transformer/ResNet에서 널리 쓰입니다.
🎮 인터랙티브: 활성화 함수 비교
네 가지 함수의 모양과 기울기를 동시에 확인합니다.
3. 다층 신경망
뉴런을 층(layer)으로 쌓으면 임의로 복잡한 함수를 근사할 수 있습니다 (보편 근사 정리).
$$ a^{[l]} = \sigma\!\left(W^{[l]} a^{[l-1]} + b^{[l]}\right) $$4. 학습: 역전파 + 경사 하강법
네트워크의 출력 $\hat{y}$와 정답 $y$의 오차를 손실 함수로 측정합니다.
$$ \mathcal{L} = \frac{1}{2N}\sum_{i=1}^N (y_i - \hat{y}_i)^2 $$가중치 $w$를 미분해서 손실을 줄이는 방향으로 한 발씩 업데이트합니다.
$$ w \leftarrow w - \alpha \frac{\partial \mathcal{L}}{\partial w} $$여러 층의 미분은 연쇄 법칙(chain rule)으로 뒤에서 앞으로 전파됩니다 — 이것이 역전파(backpropagation)입니다.
🎮 인터랙티브: 1D 함수 학습
작은 신경망(1→8→1, ReLU)이 sin 함수를 학습하는 과정입니다. 학습률을 바꾸며 수렴 속도를 보세요.
🟢 정답 sin(x) 🔵 신경망 출력
5. PyTorch 코드
import torch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(1, 20),
nn.ReLU(),
nn.Linear(20, 1),
)
loss_fn = nn.MSELoss()
opt = torch.optim.Adam(model.parameters(), lr=1e-2)
x = torch.linspace(-3.14, 3.14, 200).unsqueeze(1)
y = torch.sin(x)
for ep in range(2000):
pred = model(x)
loss = loss_fn(pred, y)
opt.zero_grad(); loss.backward(); opt.step()
print("loss:", loss.item())
6. 더 깊이 공부하기
- Goodfellow, Bengio, Courville, Deep Learning, MIT Press 2016 — 온라인 공개. 6장 MLP, 8장 최적화가 이 강의의 심화판.
- Nielsen, Neural Networks and Deep Learning — 무료 온라인 교과서. 역전파를 손으로 유도하는 가장 친절한 자료.
- Cybenko (1989), "Approximation by superpositions of a sigmoidal function" — 보편 근사 정리의 원논문.
- Kingma, Ba, "Adam: A method for stochastic optimization", ICLR 2015.
- He, Zhang, Ren, Sun, "Delving Deep into Rectifiers", ICCV 2015 — ReLU 초기화와 PReLU.