-
Loss Function Outlinedeep learning 2024. 3. 15. 00:31
Log-Likelihood (로그 우도)
- 모델이나 분포가 주어진 데이터를 얼마나 잘 설명하는지 측정하는 지표
- Log-Likelihood : 확률 모델의 parameter가 주어졌을 때, 관측된 데이터가 발생할 로그 확률의 합으로, 주어진 데이터 세트에 대해 특정 parameter 값이 얼마나 ‘타당한지’를 수치로 나타내는 것으로 이해 가능
$$ DataSet X = \{x_1, x_2, x_3,... , x_n\} $$
$$ L(\theta; X) = \log P(X | \theta) = \sum_{i=1}^n \log P(x_i | \theta) $$
- 모델의 파라미터가 theta, 데이터 세트가 X일 때 Log-Likelihoodo L은 모델 파라미터가 주어졌을 때 X가 나타날 로그 확률이며, 이는 파라미터 theta를 가진 모델에서 관측 데이터가 나타낼 로그 확률의 합
- 로그를 사용하는 이유
- 덧셈의 사용 : 로그를 사용하면 곱셈 대신 덧셈을 사용할 수 있어 계산을 단순화하고 수치적 안정성(underflow 방지 : 매우 작은 수치를 컴퓨터가 정확하게 표현할 수 있는 범위보다 더 작게 처리할 때 발생하는 문제 - 부동 소수점 형식과 관련)을 높일 수 있다.
- 최적화 : 로그함수가 단조 증가 함수라는 점에서, [0, 1]의 범위에서 0에 수렴하지 않고 증가 추세에 있다는 점에서 역전파 기반의 최적화에서 학습이 멈추는 문제가 발생하지 않
Maximum Log-Likelihood Estimation : 최대 우도 추정
- 데이터에 대한 모델의 parameter 값을 찾는 것으로, 관측된 데이터가 나타날 Likelihood를 최대화하는 parameter를 찾는 추정
- Log-Likelihood를 최대화하는 $\theta$ 값을 찾는 것
MSE (Mean Squared Error : 평균 제곱 오차)
- 오차의 제곱값의 평균으로, 알고리즘이 예측한 값과 실제 값의 차이를 고려하는 알고리즘
- 제곱값을 활용하는 이유 : 오차 값이 큰 경우의 페널티를 더 명확하게 표현하기 위함
- 특징
- 예측의 정확성을 측정하는 손실함수로서, regression problem에 사용 (오차를 줄이는 것은 결국 예측 값이 실제 값이 되도록 하는 것과 같기 때문)
- 오차가 커질수록 손실 값이 더 빠르게 증가 (MAE : Mean Absolute Error는 선형적으로 증가)
$$ E = \frac{1}{n}\sum_{i=1}^n (y_i - \hat{y}_i)^2 $$
★ 정보이론의 기본 개념 - For Cross Entropy
- 정보 (Information)
- 정보는 기본적으로 random하며, 0과 1의 bit로 표현(source coding)이 가능해야 한다.
- source coding is a mapping from symbols from an information source to a sequence of alphabet symbols (usually bits) such that the source symbols can be exactly recovered from the binary bits or recovered within some distortion. (One approach to data compression)
- 정보를 효율적으로 표현하기 위해서는 자주 등장하는 정보에 대해서는 짧게, 자주 등장하지 않는 정보에 대해서는 길게 표현해야 한다.
- 즉, 정보의 표현은 효율적으로 진행되어야 하며, 이 효율성은 정보의 발생 혹은 등장 빈도에 기초하며, 표현되는 정보의 평균 길이가 짧을수록 효율적인 정보 표현이라고 할 수 있다. (P : 발생 확률, L : 표현 길이)
- 정보는 기본적으로 random하며, 0과 1의 bit로 표현(source coding)이 가능해야 한다.
- 이 때, L은 다음과 같이 표현될 수 있으며,
- P가 클수록 L은 짧아야하기 때문에, -log 함수로 표현 가능
$$ L_i = -\log P_i $$
- 결국 다음과 같은 식으로 효율적인 정보 표현을 위한 목적 함수 설정이 가능하다
- 최소 평균 길이
$$ Entropy = \sum_{i=1}^n -(P_i * \log P_i) $$
- 정보량
- 정보의 표현 길이는 곧 정보가 담고 있는 정보의 양을 의미한다.
- 즉 정보량은 특정 사건이 발생했을 때 얻을 수 있는 정보의 양을 수치로 나타낸 것으로, 사건이 드물게 발생할수록 그 사건에 대한 정보량은 더 크다. (드물게 일어나는 사건일수록, 자주 일어나는 사건에 비해 더 많은 정보를 담고 있다고 해석할 수 있다.)
- 이러한 관점에서 본다면, 엔트로피가 높다는 것은 정보 표현 길이의 평균이 크다는 것이고, 이는 희귀 정보의 발생 빈도가 높다는 것을 의미하며, 이는 정보의 불확실성 또는 무질서도가 높다는 것을 의미한다.
Cross-Entropy : 교차 엔트로피
- 기본 개념
- 주어진 확률변수 $i$의 확률분포 $P$를 정확히 알지 못할 때, 주어진 확률변수의 확률분포 $P$를 파악하기 위해 $P$를 예측한 근사 분포 $Q$를 가정했을 때, $P$와 $Q$의 entropy의 차이
- 두 확률 분포 $P$와 $Q$ 사이의 차이를 측정하는 지표로, 다음의 수식으로 표현이 가능
- $$ CrossEntorpy = \sum_{i=1}^n -(P_i* \log Q_i) $$
- Cross Entropy 값이 낮을수록 Q의 분포가 P의 분포에 가깝다는 것을 의미
- 딥러닝 모델에서는 예측 분포 Q가 실제 분포 P와 얼마나 유사한지를 측정하는 지표로 사용된다.
- 실제 데이터의 확률 분포 P를 알지 못해 주어진 것으로 가정할 때, 모델은 주어진 데이터의 확률 분포를 예측하며, 확률 분포가 실제 데이터의 확률 분포와 유사하도록 학습을 통해 parameter를 조정한다.
- Cross Entropy 값이 작을수록 실제 Entropy와 같아지게 되기 때문에, 딥러닝 모델은 Cross Entropy가 최소값을 가질 수 있도록 학습을 통해 parameter를 조정 (MLE)
- 종류
- Binary Cross Entropy : 이진 분류 문제에서 사용하는 Cross Entropy
- MSE와의 차이점
- 가장 큰 차이점은 손실함수의 결과값이 다르다는 것
- MSE의 경우 차이값이 직접적으로 손실함수 값의 크기에 반영되지만, BCE의 경우 Log에 의해 손실값이 0과 1 사이의 값으로 변환
- 결론부터 이야기하면 Gaussian 분포 모수 추정시에는 MSE가, Bernoulli / Categorical 분포 모수 추정시에는 Cross-entropy가 적합한 loss입니다. 수식 유도는 이활석님 슬라이드에서 가져왔습니다:
- MSE와의 차이점
- $$ H(y, \hat{y}) = -[y\log \hat{y}\ +\ (1-y)\log(1-\hat{y}) ] $$
- Multiclass Cross Entropy : 다중 분류 문제에서 사용하는 Cross Entropy (Categorical Cross Entropy)
- 각 클래스에 대한 예측 확률과 실제 클래스 레이블 간의 차이를 종합적으로 계산하여 모델의 예측 정확도를 수치화하는 방법
- $P(i)$ : 클래스 i가 실제 클래스인 경우 1, 그렇지 않으면 0
- $Q(i)$ : 모델이 해당 instance가 클래스 i에 속한다고 예측한 확률
- Sparse Categorical Cross-Entropy : 각 클래스가 원-핫-인코딩 형태로 표현될 때 사용
- Categorical Cross-Entropy : 각 클래스가 정수 인코딩 형태로 표현될 때 사용
- K-L Divergence (Kullback-Leibler Divergence : KL 발산)
- 두 확률 분포 간의 차이를 측정하기 위해 사용되는 정보 이론의 개념으로, 두 분포 P와 Q의 상대 엔트로피로도 알려져 있다.
- KL Divergence는 데이터의 실제 확률 분포와 예측 확률 분포 간의 비유사성 또는 정보 손실량을 수치화한다.
- $$ D_{KL}(P||Q) = \sum_x -P(x)\log ({P(x)\over Q(x)}) $$
- Mutual Information : 상호 정보량
- 두 변수 사이의 정보량을 공유하는 정도를 측정하는 것으로,
- 두 변수가 얼마나 많은 정보를 공유하고 있는지를 나타내며, 이는 변수 사이의 의존성 정도를 나타낸다.
- x와 y가 독립적이라면 0, 독립적이지 않다면 0보다 큰 값을 갖게 된다.
- 일반적으로는 양의 상호 정보량(Positive pointwise mutual information : PPMI) 사용
- $$ \text {PPMI}(x_i, y_i)\ =\ max(0,\ \text {PMI}(x_i, y_i)) $$
- Binary Cross Entropy : 이진 분류 문제에서 사용하는 Cross Entropy
★ Entropy는 정보의 불확실성을 측정하는 지표로서, 각 클래서의 확률 분포를 고려하여 모델의 성능을 평가하는 지표라는 점에서, 마지막 layer에서의 activation function이 그 이전의 값들을 확률로 변환시켜준 경우에만 사용이 가능.
'deep learning' 카테고리의 다른 글
인공신경망을 사용하는 이유 (0) 2024.03.15 Embedding OutLine (0) 2024.02.29 Sparse Representation _vs_ Dense Representation (0) 2024.02.28 MLE (0) 2024.02.23