/
딥러닝 모델을 학습시키기 위해 최대우도추정(Maximum Likelihood Estimation) 기법을 씁니다. 주어진 데이터만으로 미지의 최적 모델 파라메터 θ를 찾아야 합니다. 입력값 𝑋와 파라메터 θ가 주어졌을 때 정답 𝑌가 나타날 확률, 즉 우도 𝑃(𝑌|𝑋;θ)를 최대화하는 θ가 바로 우리가 찾고 싶은 결과라고 보면 되겠습니다. 그런데 학습데이터 각각의 우도를 스케일해도 전체 argmax의 결과는 바뀌지 않으므로 ‘우도의 곱을 최대’로 만드는 θ와 ‘로그우도의 기대값, 즉 Σ𝑥𝑃(𝑦|𝑥)log𝑃(𝑦|𝑥;θ)를 최대’로 하는 θ는 같습니다.* 두 확률분포 𝑝와 𝑞 사이의 차이를 계산하는 데에는 크로스 엔트로피(cross entropy)라는 함수가 사용됩니다. 식은 −Σ𝑝(𝑥)log𝑞(𝑥)입니다. 여기에서 𝑝를 우리가 가진 데이터의 분포 𝑃(𝑌|𝑋), 𝑞를 모델이 예측한 결과의 분포 𝑃(𝑌|𝑋;θ)로 두겠습니다. 이렇게 되면 크로스 엔트로피는 파라메터 θ 하에서의 음의 로그우도의 기대값이라고 해석할 수 있습니다. 따라서 −Σ𝑥𝑃(𝑦|𝑥)log𝑃(𝑦|𝑥;θ)를 최소화하는 θ가 바로 우리가 찾고 싶은 모델이 됩니다. 아래 계산 예시** 참고.
Search

딥러닝 모델을 학습시키기 위해 최대우도추정(Maximum Likelihood Estimation) 기법을 씁니다. 주어진 데이터만으로 미지의 최적 모델 파라메터 θ를 찾아야 합니다. 입력값 𝑋와 파라메터 θ가 주어졌을 때 정답 𝑌가 나타날 확률, 즉 우도 𝑃(𝑌|𝑋;θ)를 최대화하는 θ가 바로 우리가 찾고 싶은 결과라고 보면 되겠습니다. 그런데 학습데이터 각각의 우도를 스케일해도 전체 argmax의 결과는 바뀌지 않으므로 ‘우도의 곱을 최대’로 만드는 θ와 ‘로그우도의 기대값, 즉 Σ𝑥𝑃(𝑦|𝑥)log𝑃(𝑦|𝑥;θ)를 최대’로 하는 θ는 같습니다.* 두 확률분포 𝑝와 𝑞 사이의 차이를 계산하는 데에는 크로스 엔트로피(cross entropy)라는 함수가 사용됩니다. 식은 −Σ𝑝(𝑥)log𝑞(𝑥)입니다. 여기에서 𝑝를 우리가 가진 데이터의 분포 𝑃(𝑌|𝑋), 𝑞를 모델이 예측한 결과의 분포 𝑃(𝑌|𝑋;θ)로 두겠습니다. 이렇게 되면 크로스 엔트로피는 파라메터 θ 하에서의 음의 로그우도의 기대값이라고 해석할 수 있습니다. 따라서 −Σ𝑥𝑃(𝑦|𝑥)log𝑃(𝑦|𝑥;θ)를 최소화하는 θ가 바로 우리가 찾고 싶은 모델이 됩니다. 아래 계산 예시** 참고.

출처
수집시간
2021/08/18 01:35
연결완료
1 more property
*
우도에서 크로스엔트로피까지 유도를 한번 해 보자.
𝑃(𝑌|𝑋;θ) (likelihood, 우도) 를 최대화하는 θ를 찾자. = maximum log likelihood 를 찾자.
xP(yx;θ){\sum}_xP(y|x;{\theta}) 를 최대화하는 θ{\theta} 를 찾자.
예시** 를 참고하면, P(yx)=[0,0,0,1,0]P(y|x) = [0,0,0,1,0] 과 같은 형태일 것이다.
xlog(P(yx;θ)){\sum}_xlog(P(y|x;{\theta})) 를 최대화하는 θ{\theta} 를 찾자. (그냥 로그 씌운거임. 로그는 x>0 에서 1:1 대응이므로)
이를 로그우도라고 한다.
기댓값의 수학적 정의는 xxP(x){\sum}_xxP(x)
xP(yx)log(P(yx;θ)){\sum}_xP(y|x)log(P(y|x;{\theta})) 를 최대화하는 θ{\theta} 를 찾자. (기댓값 폼 으로 바뀐 것)
이를 로그우도의 기댓값이라고 한다.
이때 P(yx;θ)P(y|x;{\theta}) 이 무엇인가 보면 또 재미있다.
P(yixi;θ)=e𝑓θ(𝑥𝑖)/𝑗e𝑓θ(𝑥𝑗)P(y_i|x_i;{\theta})={e}^{𝑓_{\theta}(𝑥_𝑖)}/∑_𝑗{e}^{𝑓_{\theta}(𝑥_𝑗)}
이것을 풀어 쓰면 xP(yx)log(P(yfθ(x)){\sum}_xP(y|x)log(P(y|f_{\theta}(x)) 이다. 이러면 조금 더 기댓값같나?
xP(yx)log(P(yx;θ))-{\sum}_xP(y|x)log(P(y|x;{\theta})) 를 최소화하는 θ{\theta} 를 찾자.
이를 "음의 로그우도 기댓값" 이라고 한다.
이 식을 조금만 더 다르게 바꿔 본다면 xP(x)log(Q(x))-{\sum}_xP(x)log(Q(x)) 와 같이 나타낼 수 있고
이것은 정보이론의 크로스-엔트로피의 이산변수 버전의 식과 일치하게 된다.
이를 두 확률분포의 관점으로 쓰면 H(P,Q)H(P,Q) 이다.
H(P,Q)=P(x)log(Q(x))H(P,Q) = -P(x)log(Q(x))
**
예를 들어 생각해 보니 추상적인 개념이 조금 더 구체저으로 와닿는 기분이었다.
만약 범주가 10개인 태스크에서, 이미지 확률변수를 x 라고 한다면 P(y|x) 은 정말 다양한 형태로 나타날 것이다
만약 싱글레이블이라면 [0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
만약 멀티레이블이라면 [0, 1, 0, 0, 0, 1, 0, 0, 0, 1]
그리고 모델이 예측하는 값은 P(y|x:theta) 이다.
예를 들어 [0, 0, 0, 0, 0.9, 0.1, 0, 0, 0, 0]
또는 [0.1, 0.8, 0.3, 0.2, 0.9, 0.1, 0, 0, 0, 0]