Sign In
AI

MLE와 MAP로 살펴보는 딥러닝

최윤진
이번 글에서는 딥러닝을 통계로 이해하는 방법인 MLE와 MAP에 대해서 살펴보겠습니다.
https://sanghyu.tistory.com/10

1. MLE

MLE는 Maximum Likelihood Estimation의 약자입니다.

가능도(Likelihood)

가능도는 확률과 대비되는 개념입니다.
정육면체의 주사위의 각 면이 나올 ‘확률’은 1/6로 정의할 수 있습니다.
확률을 사용할 수 있는 이유는 확률 분포나 모델이 명확히 정의되어 있기 때문입니다.
특정 데이터가 관찰될 정도는 확률로 표현할 수 있습니다.
반면 가능도는 데이터가 미리 정의된 상황에서 어떠한 확률 분포 혹은 모델이 그것을 설명하는 정도를 측정할때 사용합니다. 예를 들어 형태를 모르는 주사위를 400번 던졌는데 1,2,3,4의 숫자만 100번씩 나온 상황이 있다고 해봅시다. 그렇다면 주사위의 모양은 정육면체가 아니라 정사면체로부터 나올 가능성이 높다고 생각할 수 있습니다. 이러한 정도를 측정할 때 가능도를 사용합니다. 아래 그림에서 특정 점에 위치하는 데이터 x 를 설명할 가능도가 높은 것은 분홍색 확률 분포라고 할 수 있습니다.
확률은 특정 모델이 정해진 상황에서 데이터를 예측하는데 사용하지만,
가능도는 데이터가 관찰된 상황에서 사용하기 때문에 딥러닝과 관련이 있습니다.
https://recipesds.tistory.com/entry/%EC%9A%B0%EB%8F%84%EB%9E%80-%EB%8F%84%EB%8C%80%EC%B2%B4-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-%EC%A0%90-%EC%B6%94%EC%A0%95%EC%A0%84%EC%97%90-%ED%95%98%EB%8A%94-%EC%A4%80%EB%B9%84-%EC%B2%B4%EC%A1%B0-%EA%B0%80%EB%8A%A5%EB%8F%84-Likelihood%EB%9D%BC%EA%B3%A0%EB%8F%84-%EB%B6%88%EB%A6%AC%EB%8A%94-%EC%B9%B4%EC%98%A4%EC%8A%A4%EC%A0%81%EC%9D%B8-%EB%82%A9%EB%93%9D

딥러닝은 MLE다.

신경망의 가중치들이 올바르게 학습될 수록, 신경망은 데이터를 더 잘 설명할 수 있습니다.
가능도가 커지고 있다고 볼 수 있습니다.
즉, 가능도를 최대화 하는 것(MLE)는 딥러닝의 목표입니다.
https://secml.readthedocs.io/en/stable/tutorials/01-Training.html
가능도 $L(\theta|Data)$는 조건부 확률 $P(Data|\theta)$로 계산하며 MLE 는 아래와 같이 적을 수 있습니다.

MLE = argmax(L(\theta|Data)) = argmax(P(Data |\theta))
학습하는 데이터들이 $x$ 라는 분포에서 관찰 되었다고 해봅시다.
최대화 문제는 $argmin * -$ 변환을 통해 최소화 문제로 바꿀 수 있습니다.
MLE 를 만족하는 $\theta$ 는 아래와 같이 적을 수 있습니다.
아래의 조건을 만족하는 가중치는 학습 데이터에 대한 가능도를 최대화 하는 가중치입니다.
$x$ 의 데이터 분포를 이산형 확률 분포(베르누이), 연속형 확률 분포(정규분포) 로 분리하면 각각 아래와 같은 식으로 변환 할 수 있습니다.
이산형 확률 변수를 사용하는 분류 문제를 푸는 경우 Cross Entropy 함수를
연속형 확률 변수를 사용하는 회귀 문제를 푸는 경우 MSE 손실 함수를 썼던 이유를
MLE 관점에서 보았을 때 유도될 수 있는 사실로 이해할 수 있습니다.
Cross Entropy, MSE 손실 함수를 사용하지 않아도 모델을 학습 시킬 수 있습니다.
하지만 이론적으로 가능도를 최대화 하기 위해서는 이 손실 함수를 최소화 하는것이 MLE 에 부합합니다.

2. MAP

딥러닝은 MLE의 과정이기도 하지만 MAP(Maximum A Posteriori)의 과정이라고도 볼 수 있습니다.
사후확률(Posteriori)가 무엇인지, 딥러닝을 왜 MAP 로 이해할 수 있는지 베이즈 정리에서 출발 해 봅시다.

베이즈 정리

베이즈 정리는 조건부확률에서 유도되는 자연스러운 식입니다. 이것이 가지는 의미는 무엇 일까요 ?
베이즈 정리의 식을 살펴보면 $P(A|B)$를 모르기 때문에, 알고 있는 $P(B|A)$, $P(A)$를 이용하는 것입니다.
$P(A|B)$ 를 구하기 위해서 $P(B|A)$ 와 $P(A)$ 의 곱을 이용합니다.

비, 먹구름 - 베이즈정리

$A$ 를 비가 오는 사건, $B$를 먹구름이 끼는 사건이라고 해봅시다.
베이즈 정리에 따르면
먹구름이 꼈을 때 비가 올 확률 $P(비|먹구름)$ 은
비가 왔을 때 먹구름이 낄 확률 $P(먹구름 | 비)$ 과 비가 올 확률 $P(비)$ 에 비례합니다.
사전에 알고 있던 $P(비)$는
비가 왔을 때 먹구름이 꼈던 사건 $P(먹구름|비)$ 들에 대한 경험을 통해
먹구름이 꼈을 때 비가 올 확률 $P(먹구름|비)$ 을 계산하는 데 도움을 줄 수 있습니다.
과거의 벌어진 경험을 통해 잘 알지 못하는 확률(믿음)을 수정해 나갈 수 있다는 것이 베이즈 정리가 말하는 사실입니다.
과거의 믿음 $P(A)$ 를 사전확률이라 하며
수정된 확률 $P(A|B)$를 사후확률이라 합니다.
MAP의 사후확률은 베이즈정리의 사후확률을 말합니다.
https://angeloyeo.github.io/2020/01/09/Bayes_rule.html

딥러닝 - 베이즈정리

딥러닝의 경우로 생각해봅시다.
$A$를 신경망의 가중치, $B$를 학습 데이터라 하면, 베이즈 정리를 아래와 같이 적을 수 있습니다.
$P(\theta|Data)$는 학습 데이터가 주어진 상태에서 모델의 가중치가 등장할 확률 입니다.
$P(\theta$) 는 모델의 가중치가 등장할 확률입니다.
$P(Data|\theta)$는 MLE 을 사용할때 사용했던 가능도와 같습니다.
MAP 내부에 MLE가 있습니다.
MLE는 MAP의 일부라고 이해 할 수 있습니다.

딥러닝은 MAP다.

MLE가 아니라 MAP가 딥러닝의 목표가 될 수 있는 이유는 무엇일까요?
사후 확률 $P(\theta|Data)$ 를 다시 생각해봅시다.
이 값은 데이터가 주어졌을 때, 특정 가중치들의 분포가 나타날 확률입니다.
가중치들은 신경망에서 무수히 많습니다.
이런 가중치들이 특정 학습 데이터 하에서 등장할 확률을 계산하는 방법은 없습니다.
이론적으로 학습 데이터가 주어진 상황에서, 모든 가중치 조합들의 등장 확률을 계산해서 가장 높게 나오는 것을 채택 한다면 가장 좋은 모델을 얻을 수 있습니다.
하지만 현실적으로 불가능하기 때문에 $P(Data|\theta)$ 를 이용하는 것입니다.
베이즈 정리는 이것이 가능함을 알려주고 있습니다.
$P(Data|\theta)$ 은 손실 함수를 통해 추정할 수 있으며 backprpagation 을 통해 최대화 하는 방향으로 학습 시킬 수 있습니다.
딥러닝을 MLE로 이해하는 관점은 MAP 중에서 가능도 $P(Data|\theta)$ 만을 사용하는 방법이며 나머지 $P(\theta)$ 에 대한 고려는 사용하지 않는 방법입니다.
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
MAP를 위해선 신경망의 가중치 분포 $P(\theta)$를 같이 고려해줘야 합니다.
베이즈 정리의 용어 상으론 사전 확률입니다.

MAP는 사전확률을 고려한다.

MAP에 log 함수를 씌우면 아래와 같이 바뀔 수 있습니다.
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
위 식이 말하는 것은 아래와 같습니다.
MLE를 최대화 할 때는 Cross Entropy, MSE 와 같은 손실 함수만 최소화하면 됩니다.
하지만 MAP 를 최대화 할때는 손실 함수에 가중치 확률의 로그 값을 더해준 결과를 같이 최소화 해야 합니다.
$\theta$ 의 확률 분포가 정규분포(가우시안), 라플라스 분포라고 가정 해봅시다.
라플라스 분포는 정규 분포에 비해 조금 더 극단적인 분포를 가지는 모양입니다.
아래 과정으로 $logP(\theta)$ 가 변환할 수 있습니다.
이것은 오버피팅 되는 것을 방지하기 위해 손실함수에 가중치들의 절댓값을 L1 규제, 제곱합을 더해주는 L2 규제 식 완벽히 일치합니다.
L1, L2 는 수식으로도 가중치들에 대한 규제 효과를 이해 할 수 있습니다.
https://hyebiness.tistory.com/11
하지만 MAP 관점에서 이해 한다면 다음과 같이 이해할 수 있습니다.
L1 규제는 가중치를 사전에 라플라스 분포로,
L2 규제는 가중치를 사전에 정규 분포로 규정하는 것이다.
그렇기 때문에 L1, L2 규제 상에서 가중치들이 오버피팅 되지 않는 것입니다.
라플라스 분포는 더 정규 분포보다 더 극단적이기 때문에 L1 규제가 가중치들을 0 으로 만들고 중요한 가중치들에 대한 선별 효과를 가진다는 것도 이해할 수 있습니다.

3. MLE vs MAP

https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
MLE와 MAP 의 차이는 사전 확률 분포를 고려하느냐 안하느냐의 차이입니다.
일반적으로 딥러닝은 사전 분포를 고려하지 않고 가능도만 최대화 하는 MLE 관점으로 접근해도 좋은 결과를 얻어 낼 수 있습니다. 하지만 학습 데이터가 부족한 경우 가중치의 사전확률을 규정하는 MAP 관점으로 접근하면 오버피팅을 방지하여 더 좋은 결과를 얻을 수 있습니다.
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
Kp
Subscribe to 'KPMG Lighthouse'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to 'KPMG Lighthouse'!
Subscribe
😀
1