07.AI
자연어처리 (NLP) - NPML
Mr. Slumber
2023. 5. 15. 15:11
728x90
반응형
[개념] 직전까지 등장한 n-1개의 단어들로 다음 단어를 맞추는 n-gram 언어 모델
통계 기반 언어 모델 문제점을 일부 극복

NPLM은 아래 수식을 최대화 하려고 하며, 각 조건부 확률 PP (w4w4 | w1w1, w2w2, w3w3), PP (w5w5 | w2w2, w3w3, w4w4), ...... 을 높인다는 의미이다.
wtwt : tt 번째 단어
ywtywt : '출력 (Output)' 부분에서 설명
[기존 통계 기반 언어 모델의 문제점]
1. 학습 데이터에 존재하지 않는 n-gram 데이터가 포함된 문장이 나타날 확률 값을 0으로 부여한다.
2. '장기 의존성 (Long-Term Dependency)' 문제가 발생한다.
(즉, n-gram 의 n 의 값이 커질수록 등장 확률 값이 0인 단어 시퀀스가 폭발적으로 증가하게 된다.)
3. 단어 / 문장 간 유사도를 계산할 수 없다.
- 단어들은 모두 원-핫 벡터로 표현되고, 두 단어의 유사성을 구하기 위해 내적을 할 경우 값은 항상 0이 나오며, 이는 두 단어 벡터가 직교 (Orthogonal) 한다는 것이다.
- 직교한다는 것은 두 벡터가 서로 독립적 (Independent) 이라는 것을 의미하지만, 현실에서는 단어들간 관련성이 없는 것이 아니다.
- 이러한 문제를 해결하기 위해 분산 표현 (Distributed Representation) 이라는 개념이 등장한다.
[아키텍처]
https://soobarkbar.tistory.com/8

NPLM (Neural Probabilistic Language Model)
기존 통계 기반 언어 모델의 문제점 학습 데이터에 존재하지 않는 n-gram 데이터가 포함된 문장이 나타날 확률 값을 0으로 부여한다. 이러한 문제점은 Back-off 또는 Smoothing 방법으로 일부 보완할 수
soobarkbar.tistory.com

NPLM의 학습 구조를 보면, 초기 행렬 C의 원소 값을 랜덤으로 할당한 다음, 각 단어에 해당하는 원-핫 벡터를 행렬 C와 내적한다. 내적하는 과정을 자세히 보면 단어의 인덱스에 해당하는 원-핫 벡터를 내적하기 때문에 행렬 C에서 그 인덱스에 해당하는 열을 그대로 가져오는 효과가 있다. 따라서 이 과정을 Look-up table이라는 용어로 많이 사용한다.

일단 n-1개의 단어들 각각의 원-핫 벡터를 행렬C와 내적한 결과를 이어 붙인다(concatenate). 이렇게 만들어진 x벡터가 모델의 입력으로 input layer, hidden layer, output layer를 거치게 된다.

NPLM은 기존 n-gram 모델에서 학습 데이터에 한 번도 등장하지 않은 패턴에 대해서는 등장 확률을 0으로 부여해 임베딩이 어려웠던 점을 문맥이 비슷한 다른 문장을 참고해 확률을 부여한다는 점에서 극복했다고 볼 수 있다. 하지만, 학습 파라미터가 너무 많아 계산이 복잡해지고, 자연스럽게 모델 과적합(overfitting)이 발생할 가능성이 높다는 한계를 가진다.
이 한계를 극복하기 위해 다음 임베딩 방법론인 Word2Vec이 등장하였다.
1) 기존 모델에서의 개선점 (One-hot Vector -> Distributed Representation / Sparse -> Dense)
NPLM은 밀집 벡터 (Dense Vector) 를 사용한다.
이 밀집 벡터를 통해 단어의 유사도를 표현할 수 있으며, 희소성 문제 (Sparsity Problem) 를 해결할 수 있다.
또한, 모든 n-gram을 저장하지 않기 때문에 n-gram 언어 모델보다 저장 공간의 이점을 가진다.
2) 고정된 길이 입력 (Fixed-length input)
NPLM은 n-gram 언어 모델과 마찬가지로 다음 단어를 예측하기 위해 이전의 모든 단어를 참고하는 것이 아닌, 정해진 n개의 단어만 참고한다.
이는 버려진 단어들의 문맥 정보를 참고할 수 없다는 것이다.
훈련 말뭉치에 있는 각 문장의 길이가 전부 다를 수 있으며, 이를 개선하기 위해서는 모델이 매번 다른 길이의 입력 시퀀스에 대해서도 처리할 수 있는 능력이 있어야 한다.
3) 계산복잡성 (Computational Complexity)
임베딩으로 사용하는 행렬 CC 외에도 HH, UU, bb, dd 등 다른 파라미터들까지 업데이트를 해줘야 한다.
따라서, 과적합 (Overfitting) 이 발생할 위험이 높다.
이러한 문제점을 극복하기 위해 학습 파라미터를 줄이는 방향으로 제시된 모델이 Word2Vec이다.
728x90