MLE 에서 cross-entropy

dj_·2024년 9월 13일
0

MLE 복기

  • Maximum Likelihood Estimation(MLE)는 다른 글에서도 다뤘는데요, 정리해보면 확률 분포를 고정해두고, 주어진 데이터에 알맞은 확률 분포의 파라미터는 찾는 알고리즘입니다.
  • 이전 글(MLE 설명)

MLE vs 딥러닝

  1. 딥러닝과 MLE 모두 파라미터를 최적화하는 과정입니다.
  • MLE는 likelihood를 최대화하는 방향으로 파라미터를 최적화합니다.
  • 딥러닝은 예측 확률 분포(y_hat)를 정답 확률 분포와 같게 만들도록 최적화합니다. (분류 문제의 softmax)
  • 특히 Negative Log Likelihood loss는 본질적으로 MLE와 동일합니다.
  1. MLE에는 정답이 없습니다.
  • MLE는 예측이 아니라 데이터의 설명에 초점을 맞춥니다. 주어진 데이터를 가장 잘 표현하는 확률 분포의 파라미터를 찾는 과정입니다.
  • 반면에 supervised learning기반의 딥러닝 알고리즘들은 정답이 존재합니다. 분류문제에서는 softmax를 통해 나온 확률 분포를 정답 확률 분포와 일치하도록 loss function을 만들어 파라미터를 최적화합니다.
  1. MLE는 확률 분포를 고정합니다.
  • MLE는 특정 확률 분포를 가정하고, 데이터에 맞는 파라미터를 찾는 것입니다.
  • 반면에 딥러닝은 특정 분포를 가정하지 않습니다.

딥러닝의 진행 과정을 통한 MLE와의 비교
1. 딥러닝은 특정 분포의 가정없이 신경망 구조와 비선형 함수를 통해 모델을 만듭니다.
2. 이 모델에는 여러 파라미터가 존재하고, MLE처럼 주어진 데이터에 대해 likelihood(결과 확률값)를 추론합니다. (MLE와 달리 파라미터의 초기값은 존재합니다.)
3. 계산의 편의성을 위해 likelihood에 log함수를 취합니다. (이전 글 참조)
4. gradient descent방식의 최적화를 위해 음수로 변환함으로써 최종적으로 likelihood를 최대화 = -log(likelihood)의 최소화 로 치환됩니다.
5. NLL loss의 경우 이 과정이 그대로 loss에 녹아든 것입니다. 즉, 딥러닝 모델의 결과로 나온 확률(likelihood)이 1이 되도록 모델의 파라미터를 업데이트하기위한 loss로, MLE와 굉장히 유사합니다.

NLL loss, Cross Entropy Loss

  • 둘 모두 주로 분류 문제에서 사용됩니다.
  • NLL loss는 위에서 다뤘듯이 MLE 최적화와 굉장히 유사합니다. 따라서, likelihood를 최대로 해야하는 output에만 적용해야 합니다.
    - 예를 들어, 모델의 output이 [0.1, 0.4, 0.7], 정답이 1번 class라고 한다면, 0.4에 해당하는 index에만 nll loss를 적용하는 것입니다.
  • cross entropy loss의 경우 분류 문제에 특화되었으며, 위의 과정을 one-hot vector를 사용해 자동화했다고 보시면 됩니다.
  • one-hot vector는 정답 class만 1, 아닌 class는 0인 벡터로, 위의 loss를 적용하면 정답인 class에 대해서만 MLE와 동일한 최적화를 진행할 수 있게 됩니다.

0개의 댓글