Bamboo is coming

트랜스포머 본문

인공지능 개념

트랜스포머

twenty 2023. 9. 8. 15:07

언어 모델은 단어들의 확률 분포이다.
역사적으로 확률 기반이었으나 2015년 이후에 딥러닝 기반 언어 모델이 등장하면서 문장을 벡터로 표현하게 된다.

unigram - 나열된 단어가 동시에 나올 확률,  독립 확률의 결합을 이야기하는 모델
\[ P(w_1 w_2 \cdots w_n) = \prod P(w_i)\]
단점, 단어의 순서를 고려하지 않음

bigram - 단어의 순서를 고려하지 않았던 unigram을 개선.
조건부 확률을 이용해서 언어의 분포 확률을 표현한 모델
$$P(w_i|w_1 w_2 \cdots w_{i-1})=\prod P(w_i w_{i-1})$$
\(w_1\)부터 \(w_{i-1}\) 단어가 나오고 마지막 으로 \(w_i\) 가 나올 확률은 직전 w와 w의 조건부 확률의 곱이다.

n-gram - 이전 단어에 의해 결정되는 bigram을 개선하여 n개의 이전 단어에 의해 결정되는  모델
$$P(w_i|w_1w_2\cdots w_{i-1})=\prod P(w_i|w_{i-1}w_{i-2}\cdots w_{i-n+1})$$
앞에 단어가 나오고 마지막 \(w_i\) 가 나올 확률은 직전 w와 w의 조건부 확률의 곱이다.
ㄴ 전체 갯수가 같기 떄문에 빈도/빈도를 하면 확률이 나옴..!  

한 번도 나타나지 않은 단어에 대한 확률을 구하기 위해
Laplace smoothing을 진행한다.
\[ P(w_i|w_{i-1}) = \frac{Count(w_{i-1}, w_i) + 1}{\sum_i Count(w_i) + V} \]
- \( \sum_i Count(w_i)\) : 모든 단어에 대한 출현 횟수의 합 - 이는 훈련 데이터셋에서 각 단어가 몇 번이나 등장했는지의 총합. 예를 들어, ‘나는’이라는 단어가 100번, ‘컴퓨터’라는 단어가 50번 등장했다면, 이들의 출현 횟수를 모두 더한 값.
2. V(어휘의 크기):이는 훈련 데이터셋에 등장하는 고유한 단어의 수. 즉, 중복을 제거한 단어의 종류의 수. ‘나는’, ‘컴퓨터’ 같은 각각의 단어를 한 번씩만 셈.

예를 들어, “나는 컴퓨터를 좋아하고, 컴퓨터는 나에게 흥미롭다”라는 데이터셋에서 “모든 단어에 대한 출현 횟수의 합”은 10이고, “V(어휘의 크기)“는 ‘나는’, ‘컴퓨터를’, ‘좋아하고’, ‘컴퓨터는’, ‘나에게’, ‘흥미롭다’ 6개의 고유한 단어로, 6이 됩니다.

한 번도 나타나지 않은 단어, 제로 카운트 문제를 해결하는 방법으로는 Laplace smoothing(Add-one smoothing), Add-k smoothing, Backoff, Interpolation이 있다.

Backoff - N-gram에서 N개의 말뭉치에서 확률이 계산되지 않으면 n-1-gram에서 찾아서 사용하는 방식이다.
\[P(w_i|w_{i-n+1}^{i-1}) = 
\begin{cases}
P_{ML}(w_i|w_{i-n+1}^{i-1}), & \text{if } C(w_{i-n+1}^{i}) > 0 \ 
\alpha(w_{i-n+1}^{i-1})P(w_i|w_{i-n+2}^{i-1}), & \text{otherwise} 
\end{cases}\]
Interpolation - N-gram, (N-1)-gram, (N-2)-gram...을 일정 비율로 곱한 것
\[P(w_i|w_{i-2}w_{i-1}) = \lambda_3 P(w_i|w_{i-2}w_{i-1}) + \lambda_2 P(w_i|w_{i-1}) + \lambda_1 P(w_i)\]
단, \((\lambda_1, \lambda_2, \lambda_3)\) : 각 n-gram 확률을 조합할 때 사용되는 가중치이며, 이들은 모두 0과 1 사이의 값이며, \((\lambda_1 + \lambda_2 + \lambda_3 = 1)\)을 만족해야 합니다.
이 방법은 더 많은 문맥을 고려하면서도 데이터가 부족한 경우에도 확률을 추정할 수 있게 해줍니다.


RNN
\[ a(t)= tanh(W_{hh}h(t-1) + W_{hx}X=x(t-1) + bh) \]
\[ y(t)=tanh(W_{yh}a(t-1)+by) \]

Comments