MLE 복기
- Maximum Likelihood Estimation(MLE)는 다른 글에서도 다뤘는데요, 정리해보면 확률 분포를 고정해두고, 주어진 데이터에 알맞은 확률 분포의 파라미터는 찾는 알고리즘입니다.
- 이전 글(MLE 설명)
MLE vs 딥러닝
- 딥러닝과 MLE 모두 파라미터를 최적화하는 과정입니다.
- MLE는 likelihood를 최대화하는 방향으로 파라미터를 최적화합니다.
- 딥러닝은 예측 확률 분포(y_hat)를 정답 확률 분포와 같게 만들도록 최적화합니다. (분류 문제의 softmax)
- 특히 Negative Log Likelihood loss는 본질적으로 MLE와 동일합니다.
- MLE에는 정답이 없습니다.
- MLE는 예측이 아니라 데이터의 설명에 초점을 맞춥니다. 주어진 데이터를 가장 잘 표현하는 확률 분포의 파라미터를 찾는 과정입니다.
- 반면에 supervised learning기반의 딥러닝 알고리즘들은 정답이 존재합니다. 분류문제에서는 softmax를 통해 나온 확률 분포를 정답 확률 분포와 일치하도록 loss function을 만들어 파라미터를 최적화합니다.
- 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와 동일한 최적화를 진행할 수 있게 됩니다.