딥러닝 모델을 설계할 때 출력층의 구성과 활성화 함수 선택은 문제의 성격에 따라 달라집니다. 이 글에서는 회귀와 분류 문제에서 출력 구조가 어떻게 달라지는지, 그리고 모든 출력은 사실상 선형 회귀에서 출발한다는 점을 중점적으로 정리합니다.
🔍 1. 모든 레이어의 본질: 선형 회귀
딥러닝에서 각 레이어는 기본적으로 다음과 같은 선형 연산으로 구성됩니다:
iniCopyEditz = Wx + b
이것은 전형적인 선형 회귀의 형태입니다.
즉, **모든 출력은 활성화 함수가 적용되기 전까지는 ‘선형 회귀 출력값’**이라고 볼 수 있습니다.
⚙️ 2. 중간층의 변화: 비선형성 도입
중간층에서는 단순 선형 조합만으로는 복잡한 패턴을 학습할 수 없기 때문에 비선형 활성화 함수를 추가합니다:
iniCopyEdita = activation(Wx + b)
- ReLU, Tanh, LeakyReLU 등이 대표적
- 이를 통해 모델 전체가 비선형 함수 근사가 가능해집니다
🧮 3. 출력층의 차이: 문제에 맞는 활성화 선택
✅ 회귀 (Regression)
- 목적: 실수값 예측 (예: 주가, 온도)
- 출력: 제약 없는 연속 실수값
- 활성화 함수: 없음 (
activation=None
또는'linear'
) - 손실 함수:
MSE
,MAE
등
🎯 “그대로 예측값으로 사용해야 하므로 선형 출력이 핵심”
✅ 분류 (Classification)
(1) 이진 분류 (Binary Classification)
- 출력: [0, 1] 사이의 확률
- 활성화 함수: Sigmoid
- 손실 함수: Binary Cross Entropy
(2) 다중 클래스 분류 (Multi-class, 하나만 정답)
- 출력: 클래스별 확률, 합이 1
- 활성화 함수: Softmax
- 손실 함수: Categorical Cross Entropy
(3) 다중 레이블 분류 (Multi-label, 여러 개 정답 가능)
- 출력: 클래스별 독립 확률
- 활성화 함수: Sigmoid (각 클래스별 개별 적용)
- 손실 함수: Binary Cross Entropy (클래스별)
📌 4. Sigmoid vs Softmax 차이
항목 | Sigmoid | Softmax |
---|---|---|
출력 범위 | (0, 1) | (0, 1) |
확률 합계 | 1이 아닐 수 있음 | 항상 1 |
클래스 관계 | 독립 | 상호 배타적 |
사용 사례 | 다중 레이블 분류 | 다중 클래스 분류 |
🧠 5. 정리: 모델 구성 핵심 요약
구성 요소 | 회귀 | 분류 |
---|---|---|
중간층 | 선형 + 비선형 활성화 | 선형 + 비선형 활성화 |
출력층 | 선형 (활성화 없음) | 비선형 (Sigmoid / Softmax) |
출력값 | 실수 전체 범위 | 확률 (0~1), 해석 가능한 범위 |
손실 함수 | MSE, MAE 등 | Binary 또는 Categorical CrossEntropy |
🔚 마무리
딥러닝 모델은 겉으로 보면 복잡하지만, 모든 출력은 선형 회귀에서 출발합니다. 문제 유형에 따라 마지막 출력층에서 어떤 비선형 변형(=활성화 함수) 을 적용하느냐가 전체 모델의 목표와 해석을 결정합니다.
모델을 설계할 때 가장 먼저 고려해야 할 것은, “이 출력이 어떤 의미를 가져야 하는가?” 입니다.