Neural Network 기초
행렬 곱셈의 연쇄 + 비선형 활성화 = 범용 함수 근사기
📌 이 글의 목적
Neural Network(신경망)는 딥러닝의 기반임. 이 글은 퍼셉트론에서 다층 신경망까지의 구조, 학습 원리(역전파), 그리고 실전에서 사용하는 핵심 컴포넌트를 정리함.
1. 퍼셉트론에서 다층 신경망으로
1.1 퍼셉트론
단일 뉴런. 입력의 가중합에 활성화 함수를 적용하여 출력을 생성함.
z = w₁x₁ + w₂x₂ + ... + wₙxₙ + b (가중합)
a = σ(z) (활성화)
- 단일 퍼셉트론은 선형 분리 가능한 문제만 해결 가능 (XOR 불가능)
- 이 한계를 극복하기 위해 다층 퍼셉트론(MLP) 등장
1.2 MLP (Multi-Layer Perceptron)
- 은닉층이 1개 이상이면 비선형 문제 해결 가능
- 은닉층이 깊어질수록 더 복잡한 패턴 학습 가능 → Deep Learning
- 각 레이어:
출력 = 활성화(입력 × 가중치 + 편향)
2. 활성화 함수
비선형성을 부여하는 핵심 컴포넌트. 활성화 함수가 없으면 아무리 레이어를 쌓아도 선형 변환에 불과함.
| 함수 | 수식 | 특징 | 사용 |
|---|---|---|---|
| Sigmoid | 1/(1+e⁻ˣ) | 0~1 출력, 기울기 소실 문제 | 이진 분류 출력층 |
| Tanh | (eˣ-e⁻ˣ)/(eˣ+e⁻ˣ) | -1~1 출력, Sigmoid보다 나음 | RNN |
| ReLU | max(0, x) | 빠름, 양수만 통과, Dead ReLU 문제 | ✅ 가장 많이 사용 |
| Leaky ReLU | max(0.01x, x) | Dead ReLU 해결 | CNN |
| GELU | x × Φ(x) | 부드러운 ReLU. 확률적 게이트 | ✅ Transformer/LLM 표준 |
| SiLU/Swish | x × σ(x) | GELU와 유사 | 최신 모델 |
| Softmax | eˣⁱ/Σeˣʲ | 확률 분포 출력 | 다중 분류 출력층 |
💡 은닉층에서는 ReLU 또는 GELU, 출력층에서는 태스크에 맞는 함수 (이진→Sigmoid, 다중→Softmax, 회귀→없음)를 사용하는 것이 표준.
3. 순전파와 역전파
3.1 순전파 (Forward Pass)
입력에서 출력까지 각 레이어를 순차적으로 계산.
3.2 역전파 (Backpropagation)
출력의 오차를 역방향으로 전파하여 각 가중치의 그래디언트를 계산.
- #0 수학 기초의 체인 룰이 핵심
- 각 가중치에 대해:
W ← W - α × ∂L/∂W
3.3 기울기 소실/폭발
| 문제 | 원인 | 증상 | 해결 |
|---|---|---|---|
| 기울기 소실 | Sigmoid/Tanh에서 깊은 네트워크 | 앞쪽 레이어가 학습 안 됨 | ReLU, Residual Connection |
| 기울기 폭발 | 가중치가 커서 그래디언트 발산 | 손실이 NaN | Gradient Clipping, 적절한 초기화 |
4. 손실 함수
| 손실 함수 | 태스크 | 수식 |
|---|---|---|
| MSE | 회귀 | Σ(y-ŷ)²/n |
| Binary Cross-Entropy | 이진 분류 | -[y·log(ŷ) + (1-y)·log(1-ŷ)] |
| Cross-Entropy | 다중 분류 | -Σ yᵢ·log(ŷᵢ) |
5. 옵티마이저
| 옵티마이저 | 핵심 | 현재 위치 |
|---|---|---|
| SGD | 기본 경사하강법 | 기본 |
| SGD + Momentum | 관성 추가 | 개선 |
| RMSProp | 적응적 학습률 | 개선 |
| Adam | Momentum + RMSProp | ✅ 실전 표준 |
| AdamW | Adam + Weight Decay 분리 | ✅ LLM 학습 표준 |
6. 정규화 기법
| 기법 | 원리 | 효과 |
|---|---|---|
| Dropout | 학습 중 일부 뉴런을 랜덤 비활성화 | 과적합 방지, 앙상블 효과 |
| Batch Normalization | 미니배치 단위로 정규화 | 학습 안정화, 빠른 수렴 |
| Layer Normalization | 레이어 단위로 정규화 | ✅ Transformer 표준 |
| Weight Decay (L2) | 가중치에 패널티 | 과적합 방지 |
7. 가중치 초기화
| 방법 | 적합한 활성화 | 원리 |
|---|---|---|
| Xavier/Glorot | Sigmoid, Tanh | 입출력 뉴런 수 기반 분산 조절 |
| He/Kaiming | ReLU 계열 | ✅ 현재 표준 |
잘못된 초기화 → 기울기 소실/폭발 → 학습 실패. 프레임워크(PyTorch)가 기본적으로 적절한 초기화를 적용하지만, 이해하고 있어야 문제 진단 가능.
8. 학습 전략
| 전략 | 설명 |
|---|---|
| 학습률 스케줄러 | Warmup + Cosine Decay (LLM 표준) |
| Early Stopping | 검증 손실이 증가하면 학습 중단 |
| Gradient Clipping | 그래디언트 크기를 제한하여 폭발 방지 |
| Mixed Precision | FP16으로 계산, FP32로 축적 → 학습 2배 빠름, 메모리 절약 |