📌 서론
딥러닝 모델을 학습할 때, 우리는 모델의 파라미터를 추정하는 과정에서 다양한 손실 함수를 사용한다. 이러한 손실 함수들은 특정 확률 분포에 기반한 Maximum Likelihood Estimation(MLE)을 통해 도출된다.
이번 글에서는 MLE와 손실 함수(MSE, Cross-Entropy) 간의 관계를 확률적 관점에서 살펴보고, 손실 함수를 선택할 때 고려해야 할 점을 알아보자.
Maximum Likelihood Estimation (MLE)
Maximum Likelihood Estimation은 주어진 데이터가 가장 높은 확률로 발생하게 만드는 모델의 파라미터를 추정하는 방법이다. 이때, 모델의 출력은 확률 값을 직접적으로 나타내지 않으며, 확률을 추정하기 위한 파라미터 값을 의미한다.
예를 들어, 가우시안 분포의 경우 모델은 분포의 평균 값을 추정하며, 카테고리 분포의 경우 특정 카테고리에 해당하는 확률을 추정한다.
이러한 관점에서, 모델이 추정한 파라미터를 기반으로 확률 분포가 결정되며, 그 결과로 손실 함수가 정의될 수 있다.
손실 함수와 확률 분포의 연결
MSE와 가우시안 분포
MSE(Mean Squared Error)는 회귀 문제에서 주로 사용되는 손실 함수로, 가우시안 분포(정규 분포)를 따르는 데이터에서 log-likelihood를 최대화하는 결과로 도출된다. 가우시안 분포에서 데이터의 평균을 추정하는 것이 MSE를 사용하는 근거이다. 즉, MSE는 가우시안 분포에서의 Maximum Likelihood를 기반으로 손실 함수가 정의된 것이다.
Cross-Entropy와 카테고리 분포
Cross-Entropy는 분류 문제에서 주로 사용되며, categorical distribution에서의 log-likelihood를 최대화하는 방식으로 유도된다. 이 손실 함수는 모델이 추정한 카테고리의 확률 분포와 실제 라벨 간의 차이를 측정하며, 확률적 관점에서 왜 분류 문제에 적합한지 설명된다.
역전파와 CE의 이점
Cross-Entropy 손실 함수는 역전파(Backpropagation) 과정에서 Vanishing Gradient 문제를 완화하는 데 더 유리하다. 이는 주로 softmax 함수와 결합했을 때 그레디언트가 소실되지 않고, 출력값을 정규화하여 그레디언트를 유지하는 역할을 하기 때문이다. 반면, MSE는 회귀 문제에 적합하지만 분류 문제에서는 그레디언트가 작은 값으로 소실될 가능성이 있다.
따라서, 분류 문제에서는 Cross-Entropy가 그레디언트 소실 문제를 덜 발생시키며, 역전파 과정에서 더 안정적인 학습을 가능하게 한다.
1. Softmax 함수란?
Softmax 함수는 분류 문제에서 자주 사용되는 활성화 함수(activation function)로, 모델의 출력값을 확률 값으로 변환해준다. 다중 클래스 분류 문제에서 마지막 출력층에 사용되며, 각 클래스에 속할 확률을 예측하는 역할을 한다.
Softmax 함수는 다음과 같은 수식으로 표현된다:
여기서:
즉, Softmax는 모델이 예측한 다양한 클래스 점수(로짓, logits)를 각각 0과 1 사이의 값으로 변환해 주고, 그 값들의 총합이 1이 되도록 정규화해 준다. 이를 통해 각 클래스에 속할 확률을 계산할 수 있게 된다.
2. 그레디언트(gradient)란?
그레디언트는 손실 함수가 줄어들 방향과 크기를 나타내는 값이다. 딥러닝에서 역전파(backpropagation)를 통해 그레디언트를 계산하고, 이를 이용해 모델의 가중치를 업데이트하여 손실 함수의 값을 최소화하도록 학습한다.
즉, 그레디언트는 “기울기”로, 모델이 더 나은 성능을 내기 위해 어떤 방향으로 얼마만큼 변화해야 하는지를 알려주는 역할을 한다.
3. Vanishing Gradient 문제란?
Vanishing Gradient(기울기 소실) 문제는 딥러닝에서 깊은 네트워크를 학습할 때 발생할 수 있는 중요한 문제이다. 특히 역전파 과정에서 활성화 함수를 거치면서 그레디언트가 점점 작아지는 경우, 결국 아주 작은 값이 되어버리면 가중치 업데이트가 거의 이루어지지 않게 된다. 이로 인해 학습이 제대로 이루어지지 않거나, 매우 느려질 수 있다.
이 문제가 주로 발생하는 이유는, 그레디언트를 역전파할 때 층을 거치면서 미분된 값들이 점차적으로 작아지기 때문이다. 특히 시그모이드와 같은 함수들은 출력이 0과 1 사이에 갇혀 있어, 역전파할 때 그레디언트 값이 작아지기 쉬운 구조이다.
4. Cross-Entropy와 Softmax의 역할
Cross-Entropy 손실 함수는 Softmax 함수와 결합하여 분류 문제에서 자주 사용된다. Softmax는 출력 값을 확률처럼 해석할 수 있게 정규화해주고, Cross-Entropy는 이 예측된 확률 분포와 실제 라벨 간의 차이를 측정하여 손실 값을 계산한다.
특히 Cross-Entropy와 Softmax의 결합이 Vanishing Gradient 문제를 완화하는 이유는, 이 결합이 그레디언트 계산 과정에서 효과적으로 작동하기 때문이다. Softmax 함수는 그 자체로 그레디언트를 완화할 수 있는 구조를 가지며, Cross-Entropy는 그레디언트가 소실되지 않도록 손실 함수를 정의한다. 이 결합 덕분에 역전파 과정에서 출력값이 정규화되어 그레디언트가 지나치게 작아지는 것을 방지하고, 비교적 안정적인 학습을 가능하게 한다.
5. MSE와 Vanishing Gradient 문제
반면, 회귀 문제에서 주로 사용되는 MSE 손실 함수는 Vanishing Gradient 문제에 취약할 수 있다. MSE는 단순히 예측값과 실제값의 차이의 제곱을 손실로 계산하기 때문에, 그레디언트가 작은 값으로 수렴하는 경우가 많다. 특히 분류 문제에서, MSE는 그레디언트가 작아져 학습이 느려지거나 멈출 수 있는 가능성이 있다.
🌟 요약
• Softmax는 모델의 출력을 정규화하여 각 클래스의 확률로 변환해주는 함수이다.
• 그레디언트는 손실을 줄이는 방향과 크기를 알려주는 값으로, 학습 과정에서 중요한 역할을 한다.
• Vanishing Gradient 문제는 그레디언트가 너무 작아져 학습이 잘 이루어지지 않는 문제이다.
• Cross-Entropy와 Softmax의 결합은 그레디언트 소실을 방지하고 안정적인 학습을 가능하게 하며, 분류 문제에서 더 적합하다.
• 반면, MSE는 회귀 문제에서는 적합하지만, 분류 문제에서는 그레디언트 소실 문제에 더 취약할 수 있다.
태스크에 따른 손실 함수 선택
손실 함수 선택은 우리가 다루는 문제 유형에 따라 달라진다.
회귀 문제
회귀 문제에서는 출력이 가우시안 분포를 따른다고 가정하는 것이 자연스럽기 때문에, MSE를 사용하는 것이 일반적이다. MSE는 모델이 데이터의 평균을 추정하게 하여, 실제 값과의 차이를 최소화한다.
분류 문제
분류 문제에서는 카테고리 확률을 추정하는 것이 목표이므로, Cross-Entropy를 사용하는 것이 더 적합하다. 이는 카테고리 분포를 기반으로 모델의 출력과 실제 라벨 간의 차이를 줄이는 역할을 한다.
물론, 이러한 선택이 항상 옳은 것은 아니고 다양한 손실 함수를 실험적으로 사용해 보는 것이 중요하다.
모델 성능은 손실 함수에 큰 영향을 받기 때문에, 데이터와 문제에 따라 여러 손실 함수를 실험적으로 적용해 보는 것이 필요하다. 예를 들어, 회귀 문제에서 MSE 외에도 이상치에 덜 민감한 Huber Loss를 사용할 수 있고, 분류 문제에서는 불균형한 데이터셋에서 Focal Loss가 더 나은 성능을 보일 수 있다.
결론
딥러닝에서 손실 함수는 모델의 학습 성능에 큰 영향을 미치기 때문에, 문제의 성격과 확률 분포를 고려한 직관적인 선택이 중요하다. 회귀 문제에서는 MSE를, 분류 문제에서는 Cross-Entropy를 기본적으로 선택할 수 있지만, 실험적으로 다양한 손실 함수를 적용하여 최적의 성능을 찾는 것이 필요하다.
'Upstage AI Lab 4기 > Deep Learning' 카테고리의 다른 글
텍스트 데이터 전처리 방법 (토큰화, 정제, 정규화, Stemming, Lemmatization 등) (1) | 2024.11.12 |
---|---|
딥러닝 모델 구현에서 PyTorch의 쓰임 (2) | 2024.10.28 |
[Pytorch] tensor shape 변경에서 -1과 1 쓰임 그리고 슬라이싱 (1) | 2024.10.23 |
손실 함수, 활성화 함수, 최적화 함수 등 순서, 쓰임, 역할 (1) | 2024.10.23 |
가중치 초기화의 중요성과 Xavier 초기화, He 초기화 소개 (1) | 2024.10.17 |