머신러닝/자연어처리

밑바닥부터 시작하는 딥러닝2 5장, RNN

Hgrace 2019. 6. 12. 13:47

글 내용은 밑바닥부터 시작하는 딥러닝2 책을 정리한 것입니다.

개인적으로 공부한 내용을 정리하는 용도로 적었습니다.


Feed forward 신경망은 한 방향으로 흐름을 보내기 때문에 시계열 데이터 패턴을 잘 학습하지 못한다.

이를 보완하기 위해 순환 신경망 RNN이 등장했다.

 

5.1 확률과 언어모델

언어모델(Language Model)은 단어 나열에 확률을 정해주는 것이다. 특정 단어의 시퀀스에 대해서, 그다음 나올 단어가 얼마나 자연스러운 단어 순서인지를 확률로 평가해준다.

 

I go to _____  

이 문장에서 ____에 나올 단어를 예상했을 때, home(0.099) cup(0.000009)라는 확률을 출력한다.

 

동시 확률은 사후 확률의 총 곱으로 나타낼 수 있다.

P(W1, W2, ..., Wm) = P(Wm | W1, W2, W3, ... , Wm-1) * P(Wm-1 | W1, W2, W3, ... , Wm-2) * .... * P(W2 | W1) * P(W1)

                           = ㅠP(Wt | W1, ... ,Wt-1) (총곱)

 

동시확률을 사후 확률(posteriori probability)의 곱셈 정리를 통해 유도할 수 있다.

P(A,B) = P(A|B)P(B)  

→ 'A와 B가 동시에 일어날 확률P(A,B)'은 'B가 일어날 확률P(B)'과 'B가 일어난 후 A가 일어날 확률 P(A|B)'를 곱한 값과 같다.