2022. 3. 13. 16:47ㆍAI/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 |