deep learning

Loss Function Outline

문과 열등생 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 : 표현 길이)
    $$ min\sum_{i=1}^n (P_i * Li) $$
  • 이 때, L은 다음과 같이 표현될 수 있으며,
    • P가 클수록 L은 짧아야하기 때문에, -log 함수로 표현 가능

$$ L_i = -\log P_i $$

  • 결국 다음과 같은 식으로 효율적인 정보 표현을 위한 목적 함수 설정이 가능하다
  • 최소 평균 길이

$$ Entropy = \sum_{i=1}^n -(P_i * \log P_i) $$

  • 정보량
    • 정보의 표현 길이는 곧 정보가 담고 있는 정보의 양을 의미한다.
    • 즉 정보량은 특정 사건이 발생했을 때 얻을 수 있는 정보의 양을 수치로 나타낸 것으로, 사건이 드물게 발생할수록 그 사건에 대한 정보량은 더 크다. (드물게 일어나는 사건일수록, 자주 일어나는 사건에 비해 더 많은 정보를 담고 있다고 해석할 수 있다.)
    • 이러한 관점에서 본다면, 엔트로피가 높다는 것은 정보 표현 길이의 평균이 크다는 것이고, 이는 희귀 정보의 발생 빈도가 높다는 것을 의미하며, 이는 정보의 불확실성 또는 무질서도가 높다는 것을 의미한다.
    $$ I(x) = -\log (P(x)) $$

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입니다. 수식 유도는 이활석님 슬라이드에서 가져왔습니다:
    • $$ H(y, \hat{y}) = -[y\log \hat{y}\ +\ (1-y)\log(1-\hat{y}) ] $$
    • Multiclass Cross Entropy : 다중 분류 문제에서 사용하는 Cross Entropy (Categorical Cross Entropy)
      • 각 클래스에 대한 예측 확률과 실제 클래스 레이블 간의 차이를 종합적으로 계산하여 모델의 예측 정확도를 수치화하는 방법
      $$ H(P, Q) = -\sum_{i=1}^{C}P(i)\log Q(i) $$
      • $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보다 큰 값을 갖게 된다.
      $$ \sum_i \sum_j P(x_i\ y_j)*\log {P(x_i,\ y_i) \over P(x_i)P(y_j)} $$
      • 일반적으로는 양의 상호 정보량(Positive pointwise mutual information : PPMI) 사용
      • $$ \text {PPMI}(x_i, y_i)\ =\ max(0,\ \text {PMI}(x_i, y_i)) $$

★ Entropy는 정보의 불확실성을 측정하는 지표로서, 각 클래서의 확률 분포를 고려하여 모델의 성능을 평가하는 지표라는 점에서, 마지막 layer에서의 activation function이 그 이전의 값들을 확률로 변환시켜준 경우에만 사용이 가능.