신경망 기초 (Neural Network Basics)¶
개요¶
신경망(Neural Network)은 생물학적 뉴런의 작동 원리에서 영감을 받은 수학적 모델이다. 입력 데이터에 가중치(weight)를 곱하고, 편향(bias)을 더한 뒤, 비선형 활성화 함수(activation function)를 통과시켜 출력을 생성한다. 단일 퍼셉트론(Perceptron)에서 시작하여 다층 퍼셉트론(MLP)으로 확장되면서, 현대 딥러닝의 기반이 되었다.
핵심 개념¶
1. 퍼셉트론 (Perceptron)¶
퍼셉트론은 가장 단순한 형태의 신경망으로, 단일 뉴런을 모델링한다.
여기서: - \(x_i\): 입력 특성 - \(w_i\): 각 입력에 대한 가중치 - \(b\): 편향 (bias) - \(f\): 활성화 함수 (단층 퍼셉트론에서는 step function)
단층 퍼셉트론의 한계: 선형 분리(linearly separable)가 가능한 문제만 해결할 수 있다. 대표적인 반례가 XOR 문제로, Minsky와 Papert(1969)가 증명하였다.
graph LR
x1((x₁)) -->|w₁| sum((Σ + b))
x2((x₂)) -->|w₂| sum
x3((x₃)) -->|w₃| sum
sum --> f["f(·)"] --> y((ŷ)) 2. 다층 퍼셉트론 (Multi-Layer Perceptron, MLP)¶
XOR 문제를 해결하기 위해 은닉층(hidden layer)을 추가한 구조이다.
구조: 입력층(Input Layer) → 은닉층(Hidden Layer, 1개 이상) → 출력층(Output Layer)
각 층의 연산:
graph LR
subgraph 입력층
i1((x₁))
i2((x₂))
i3((x₃))
end
subgraph 은닉층 1
h1((h₁))
h2((h₂))
h3((h₃))
h4((h₄))
end
subgraph 출력층
o1((y₁))
o2((y₂))
end
i1 --> h1 & h2 & h3 & h4
i2 --> h1 & h2 & h3 & h4
i3 --> h1 & h2 & h3 & h4
h1 --> o1 & o2
h2 --> o1 & o2
h3 --> o1 & o2
h4 --> o1 & o2 비선형성의 필요성: 선형 변환의 합성은 여전히 선형이다. 즉, 활성화 함수 없이 층을 아무리 쌓아도 \(\mathbf{W}_2 \mathbf{W}_1 \mathbf{x} = \mathbf{W}' \mathbf{x}\)와 동일하다. 비선형 활성화 함수가 있어야만 네트워크에 표현력(expressiveness)이 생긴다.
깊이(Depth) vs 너비(Width):
| 특성 | 넓은 네트워크 (Wide) | 깊은 네트워크 (Deep) |
|---|---|---|
| 파라미터 효율성 | 낮음 | 높음 (동일 함수를 더 적은 뉴런으로 표현) |
| 학습 난이도 | 상대적으로 쉬움 | 기울기 소실/폭발 문제 |
| 표현력 | 이론적으로 충분 | 계층적 추상화 가능 |
| 실제 성능 | 일정 수준 이상에서 포화 | 복잡한 패턴에서 우수 |
3. 범용 근사 정리 (Universal Approximation Theorem)¶
충분한 너비의 단일 은닉층 네트워크는 임의의 연속 함수를 원하는 정밀도로 근사할 수 있다. (Cybenko, 1989; Hornik, 1991)
핵심 조건: - 활성화 함수가 비상수(non-constant) - 유계(bounded) - 단조증가(monotonically increasing)
깊이의 이점: 깊은 네트워크는 동일한 함수를 지수적으로 적은 뉴런으로 표현할 수 있다 (Eldan & Shamir, 2016).
주의: "근사 가능(approximable)"과 "학습 가능(learnable)"은 다르다. 이 정리는 존재성(existence) 정리이지, 구성적(constructive) 정리가 아니다. "한 층이면 충분하다"는 의미가 아니며, 실제로는 깊은 네트워크가 훨씬 효율적이다.
4. 순전파 (Forward Pass)¶
입력 데이터가 네트워크를 통과하며 예측을 생성하는 과정이다.
여기서 \(\mathbf{a}^{[0]} = \mathbf{x}\) (입력)이며, 최종 출력은 \(\mathbf{a}^{[L]}\)이다.
배치 처리: 여러 샘플을 행렬로 묶어 병렬 계산할 수 있다. 이를 통해 GPU의 병렬 연산 능력을 최대한 활용한다.
Training vs Inference: forward pass의 연산 자체는 동일하지만, 학습 시에는 역전파(backpropagation)를 위해 각 층의 중간 값(\(\mathbf{z}^{[l]}\), \(\mathbf{a}^{[l]}\))을 저장해야 한다.
5. 손실 함수 (Loss Functions)¶
모델의 예측과 실제 값의 차이를 정량화하는 함수이다.
회귀 (Regression)¶
| 손실 함수 | 수식 | 특징 |
|---|---|---|
| MSE (Mean Squared Error) | \(\frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2\) | 이상치에 민감, 미분 용이 |
| MAE (Mean Absolute Error) | \(\frac{1}{n}\sum_{i=1}^{n}\|y_i - \hat{y}_i\|\) | 이상치에 강건, 0에서 미분 불가 |
| Huber Loss | MSE와 MAE의 결합 | 이상치에 강건하면서 미분 가능 |
분류 (Classification)¶
| 손실 함수 | 수식 | 사용처 |
|---|---|---|
| Binary Cross-Entropy | \(-[y\log(\hat{y}) + (1-y)\log(1-\hat{y})]\) | 이진 분류 |
| Categorical Cross-Entropy | \(-\sum_{i} y_i \log(\hat{y}_i)\) | 다중 클래스 분류 |
상세 내용¶
XOR 문제와 MLP의 해결¶
XOR 함수는 두 입력이 같으면 0, 다르면 1을 출력한다. 이는 단일 직선으로 분리할 수 없기 때문에 단층 퍼셉트론으로는 해결할 수 없다.
MLP는 은닉층을 통해 입력 공간을 비선형적으로 변환하여, 원래는 선형 분리가 불가능했던 데이터를 분리 가능한 형태로 만든다. 이것이 바로 딥러닝의 핵심 아이디어인 표현 학습(representation learning) 의 시초이다.
출력층 활성화와 손실 함수의 조합¶
| 과제 | 출력층 활성화 | 손실 함수 |
|---|---|---|
| 이진 분류 | Sigmoid | Binary Cross-Entropy |
| 다중 클래스 분류 | Softmax | Categorical Cross-Entropy |
| 회귀 | 없음 (Linear) | MSE / MAE |
언제 사용하는가¶
- MLP: 정형 데이터(tabular data)에서 비선형 관계를 모델링할 때
- 입력이 고정 길이 벡터이고, 공간적/시간적 구조가 없을 때
- 기준 모델(baseline): 더 복잡한 아키텍처(CNN, RNN, Transformer)를 적용하기 전에 MLP로 먼저 기준 성능을 확인
단, 이미지에는 CNN, 시퀀스에는 RNN 또는 Transformer가 더 적합하다.
흔한 오해와 함정¶
-
"층을 많이 쌓으면 항상 좋다": 깊이가 증가하면 기울기 소실/폭발 문제가 심화된다. 적절한 초기화와 정규화가 필수이다.
-
"범용 근사 정리 때문에 한 층이면 충분하다": 이론적으로 가능하지만, 필요한 뉴런 수가 지수적으로 커질 수 있어 실용적이지 않다.
-
출력층 활성화와 손실 함수 불일치: 예를 들어, sigmoid 출력에 MSE를 사용하면 학습 초기에 기울기가 매우 작아져 수렴이 극도로 느려진다. 반드시 적합한 조합을 사용해야 한다.
-
편향(bias)을 생략: 편향 없이는 모든 결정 경계가 원점을 지나야 하므로, 모델의 표현력이 크게 제한된다.
다른 주제와의 연결¶
- 활성화 함수: 비선형성을 부여하는 핵심 요소
- 역전파: 신경망의 학습 알고리즘
- 가중치 초기화: 학습 시작점의 중요성
- 정규화: 학습 안정화 기법
- CNN: 이미지 데이터에 특화된 신경망
- RNN/LSTM/GRU: 시퀀스 데이터에 특화된 신경망
- Transformer: 현대 딥러닝의 지배적 아키텍처