언어 모델 (Language Model)

김회정·2023년 7월 14일
0

머신러닝

목록 보기
5/7

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

1. 언어 모델

언어 모델(Language Model, LM)은 언어라는 현상을 모델링하고자 단어 시퀀스(문장)에 확률을 할당(assign)하는 모델이다. 이러한 특징으로 인해 언어 모델은 단어 순서의 자연스러움을 확률적으로 평가할 수 있다. 특정 문장이 주어졌을 때 주어진 확률분포에 따라 다음 순서에 적합한 단어의 확률을 언어 모델은 알려줄 수 있다. 예를 들어 "nice to meet"이라는 문장이 컨텍스트로 언어 모델에 주어졌을 때, 언어 모델은 다음에 올 단어에 대한 확률을 계산해 "you"라는 단어가 확률상 가장 적합한 단어라는 결론을 내릴 가능성이 높다.

2. 언어 모델의 수식 표현

언어 모델을 수식으로 표현하기 위해 w1,w2,...,wnw_{1}, w_{2}, ..., w_{n}이라는 n개 단어로 구성된 문장을 생각해보자. 이때 단어가 w1,w2,...,wnw_{1}, w_{2}, ..., w_{n}의 순서로 출현할 확률을 p(w1,w2,...,wn)p(w_{1}, w_{2}, ..., w_{n})로 나타낼 수 있다. 이 확률은 여러 단어가 동시에 일어날 확률로 해석할 수 있다.

이 쯤에서 확률의 곱셈정리를 다시 살펴보자. 곱셈정리에 의하면 A와 B가 동시에 일어날 확률 P(AB)P(A∩B)은 다음과 같이 표현할 수 있다.

P(AB)=P(AB)P(B)P(A∩B)=P(A|B)P(B)

위의 식에 따라 A와 B가 동시에 일어날 확률은 B가 일어난 확률과 B가 일어난 다음 A가 일어날 확률을 곱한 것과 같다라는 것을 알 수 있다.

이러한 곱셈정리에 따라 n개의 단어에 대한 동시 확률 p(w1,w2,...,wn)p(w_{1}, w_{2}, ..., w_{n})을 정리할 수 있다. w1w_{1}부터 wn1w_{n-1}까지의 시퀸스를 AA로 표현할 때 n개의 단어에 대한 동시 확률은 다음과 같이 표현할 수 있다.

P(w1,w2,...,wn)=P(A,wn)=P(wnA)P(A)P(w_{1}, w_{2}, ..., w_{n})=P(A,w_{n})=P(w_{n}|A)P(A)

시퀸스 AA 또한 같은 방식으로 정리할 수 있다.

P(A)=p(w1,w2,...,wn1)=P(A,wn1)=P(wn1A)P(A)P(A)=p(w_{1}, w_{2}, ..., w_{n-1})=P(A^{'},w_{n-1})=P(w_{n-1}|A^{'})P(A^{'})

이렇게 단어 시퀸스를 하나씩 줄여가면서 사후 확률로 분해하면 다음과 같은 식을 도출할 수 있다.

P(w1,w2,...,wn)=P(wnw1,...,wn1)P(wn1w1,...,wn2)P(w2w1)P(w1)=Πt=1nP(wtw1,...,wt1)P(w_{1}, w_{2}, ..., w_{n})=\newline P(w_{n}|w_{1},...,w_{n-1})P(w_{n-1}|w_{1},...,w_{n-2})···P(w_{2}|w_{1})P(w_{1}) =\newline\Pi_{t=1}^{n}P(w_{t}|w_{1},...,w_{t-1})
profile
안녕하세요

0개의 댓글