-
#3 Cost Function과 Activation Function은 무엇인가요?ML & DL 2025. 3. 18. 20:00
Cost Function과 Activation Function은 무엇인가요?
딥러닝과 머신러닝을 공부하다 보면 Cost Function(비용 함수)과 Activation Function(활성화 함수)이라는 개념을 자주 접하게 됩니다. 이 두 가지 개념은 신경망 모델이 학습하고 예측하는 과정에서 중요한 역할을 합니다. 이번 글에서는 Cost Function과 Activation Function이 무엇인지, 각각의 역할과 종류에 대해 쉽게 설명해 보겠습니다.
1. Cost Function(비용 함수)란?
(1) Cost Function의 정의
Cost Function(비용 함수)은 모델의 예측 값과 실제 값 간의 차이를 수치화한 함수입니다. 즉, 모델이 얼마나 잘 예측하는지를 평가하는 기준이 됩니다.
모델이 학습하는 목표는 Cost Function의 값을 최소화하는 것입니다. Cost Function이 작을수록 모델이 정확한 예측을 하고 있다고 볼 수 있습니다.
(2) 대표적인 Cost Function 종류
Cost Function은 회귀 문제(Regression)와 분류 문제(Classification)에 따라 다르게 사용됩니다.
1) 회귀 문제에서의 Cost Function
회귀(Regression) 문제에서는 연속적인 값을 예측해야 하므로, 예측값과 실제값의 차이를 최소화하는 것이 중요합니다.
평균 제곱 오차(Mean Squared Error, MSE)
- 가장 많이 사용되는 회귀 손실 함수입니다.
- 예측값과 실제값의 차이를 제곱하여 평균을 구합니다.
- $$ MSE = \frac{1}{m} \sum_{i=1}^{m} (y_i - \hat{y}_i)^2 $$
평균 절대 오차(Mean Absolute Error, MAE)
- MSE와 달리 차이값의 절댓값을 평균 냅니다.
- $$ MAE = \frac{1}{m} \sum_{i=1}^{m} |y_i - \hat{y}_i| $$
- MSE보다 이상치(Outlier)에 덜 민감한 특성이 있습니다.
2) 분류 문제에서의 Cost Function
분류(Classification) 문제에서는 정답을 맞추는 것이 중요하므로, 확률 기반의 손실 함수를 사용합니다.
이진 교차 엔트로피(Binary Cross Entropy)
- 이진 분류(예: 고양이 vs. 개)에서 사용되는 함수입니다.
- $$ BCE = - \frac{1}{m} \sum_{i=1}^{m} \Big(y_i \log \hat{y}_i + (1 - y_i) \log (1 - \hat{y}_i)\Big) $$
범주형 교차 엔트로피(Categorical Cross Entropy)
- 다중 클래스 분류에서 사용됩니다.
- $$ CCE = - \sum_{i=1}^{m} \sum_{j=1}^{n} y_{i,j} \log \hat{y}_{i,j} $$
이처럼 Cost Function은 모델의 성능을 평가하고, 경사 하강법(Gradient Descent)을 통해 최적의 모델을 찾는 데 중요한 역할을 합니다.
2. Activation Function(활성화 함수)란?
(1) Activation Function의 정의
Activation Function(활성화 함수)은 입력 값을 변환하여 출력 값을 결정하는 함수입니다. 신경망 모델에서 뉴런이 활성화되는 방식을 조절하는 역할을 합니다.
만약 활성화 함수가 없다면, 모든 뉴런이 선형적으로 동작하여 복잡한 문제를 해결할 수 없습니다. 따라서 활성화 함수를 통해 신경망에 비선형성을 추가하여 복잡한 패턴을 학습할 수 있도록 합니다.
(2) 대표적인 Activation Function 종류
1) 시그모이드 함수(Sigmoid Function)
- 출력 값을 0과 1 사이로 변환하는 함수
- 이진 분류에서 사용됨
- 하지만 기울기가 0에 가까워지는 문제(Vanishing Gradient Problem) 발생 가능
$$ f(x) = \frac{1}{1+e^{-x}} $$
2) 하이퍼볼릭 탄젠트(Tanh) 함수
- 출력 값을 -1과 1 사이로 변환하는 함수
- 시그모이드보다 학습이 빠르고 출력이 0을 중심으로 대칭적임
- 여전히 기울기 소실(Vanishing Gradient) 문제가 발생할 수 있음
$$ f(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} $$
3) ReLU(Rectified Linear Unit) 함수
- 음수 입력을 0으로 변환하고, 양수 입력은 그대로 유지
- 깊은 신경망에서 학습 속도를 빠르게 해줌
- 하지만 일부 뉴런이 영원히 비활성화되는 "죽은 뉴런(Dead Neuron)" 문제가 발생할 수 있음
$$ f(x) = max(0, x) $$
4) Leaky ReLU 함수
- ReLU의 변형으로, 음수 입력도 작은 기울기를 가지도록 개선한 함수
- 죽은 뉴런 문제를 해결할 수 있음
$$ f(x) = max(0.01x, x) $$
5) 소프트맥스(Softmax) 함수
- 다중 클래스 분류 문제에서 사용됨
- 입력 값을 확률 값(0~1)으로 변환하며, 모든 출력의 합이 1이 되도록 함
$$ f(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} $$
3. Cost Function과 Activation Function의 관계
Cost Function과 Activation Function은 신경망 학습에서 함께 사용됩니다. 특히, 활성화 함수의 출력 값이 Cost Function의 입력으로 들어가기 때문에, 이 둘은 밀접한 관계가 있습니다.
예를 들어:
- 이진 분류(Binary Classification)에서는 시그모이드 활성화 함수와 이진 교차 엔트로피(Binary Cross Entropy)가 함께 사용됩니다.
- 다중 분류(Multi-class Classification)에서는 소프트맥스 활성화 함수와 범주형 교차 엔트로피(Categorical Cross Entropy)가 함께 사용됩니다.
- 회귀 문제(Regression)에서는 선형 활성화 함수(입력값 그대로 출력)와 MSE(Mean Squared Error) 또는 MAE(Mean Absolute Error)가 함께 사용됩니다.
4. 결론
Cost Function과 Activation Function은 딥러닝 모델이 학습하는 데 필수적인 요소입니다.
- Cost Function은 모델의 예측 성능을 평가하는 역할을 하며, 손실을 최소화하는 방향으로 학습이 진행됩니다.
- Activation Function은 신경망의 뉴런이 활성화되는 방식을 결정하며, 모델이 복잡한 패턴을 학습할 수 있도록 비선형성을 추가합니다.
이 두 개념을 잘 이해하면 신경망이 어떻게 학습하고, 왜 특정 함수들이 특정 문제에 적합한지를 이해하는 데 도움이 될 겁니다!
'ML & DL' 카테고리의 다른 글
#2 신경망의 기본 구조와 활성화 함수, 역전파 알고리즘 (2) 2025.03.18 #1 딥러닝에서 가중치란 무엇인가요? (0) 2025.03.18