언어모델

2022. 3. 13. 16:47AI/Machine learning

    목차
반응형

word2vec

언어모델

방식

CBOW: 주변으로 중심단어를 예측

skip-gram: 중심으로 주변 단어 예측

 

CBOW

입력 벡터의 차원이 7x1이고(BoW), 은닉층이 3x1이라면, Win은 7x3의 matrix임

이 7x3의 가중치 matrix를 훈련을 통해 학습

이 가중치 벡터가 embedding vector가 됨

이는 분산 표현이며

분산 표현은 고정길이 dense 벡터임

 

word2vec의 문제

단어의 순서를 고려하지 않음

 

RNN

word2vec의 순서 고려 불가 문제를 해결하는 네트워크

시예열(문자열의 각 단어) 데이터 각각을 RNN에 순차적으로 feed

하고 중간계층(은닉층)에서 이전 처리 결과의 상태를 유지하여 반영

이론적으로는 무한의 상태 기억이 가능하나,

    실제로는 기울기 값의 감소 등으로 한계가 있음

    Truncated BPTT 등의 방식으로 극복하려 함

 

LSTM

RNN 학습의 문제를 개선

RNN은 역전파 시 gradient가 줄어 학습이 잘 되지 않음

LSTM은 RNN의 hidden state에 cell-state를 추가

cell-state를 hidden-state 간에 전달하여 각 상태의 학습이 제대로 될 수 있도록 개선

 

seq2seq

LSTM들을 여러개 사용하여 coder -> context 벡터 -> deocder

encoder block과 decoder block에서 여러 LSTM 들(혹은 GRU)를 사용

챗봇, 번역기 등의 모델을 만들 수 있음

그러나 context 벡터의 차원이 고정이라는 한계가 있음

 

attention

context 벡터의 길이를 입력 문자열의 길이에 맞게 함

encoder와 decoder는 각 은닉 상태를 모두 사용(마지막 은닉 상태만 사용하지 않음)

 

 

반응형

'AI > Machine learning' 카테고리의 다른 글

데이터 마이닝 1  (0) 2022.05.14
CF model with visual information  (0) 2022.03.27
Matrix factorization 접근법  (0) 2022.03.13
검색 vs. 추천  (0) 2022.03.13
Content based filtering, collaborative filtering  (0) 2022.03.13