[Deep Learning - NLP] Language Modeling With RNN
2022. 5. 9. 21:33ㆍAI/Codestates
728x90
반응형
RNN ( Recurrent Neural Network, 순환 신경망 ) 이란?
입력과 출력을 시퀀스 단위로 처리하는 시퀀스 ( Sequence ) 모델
▶ RNN의 종류
① one to one : 1개의 벡터를 받아 Sequential한 벡터를 반환
ex) 이미지 캡셔닝(Image captioning)
② one to many : Sequential 벡터를 받아 1개의 벡터를 반환
ex) 감성 분석(Sentiment analysis)
③ many to many (1) : Sequential 벡터를 모두 입력받은 뒤 Sequential 벡터 출력
ex) 시퀀스-투-시퀀스(Sequence-to-Sequence, Seq2Seq) 구조, 기계 번역(Machine translation)
③ many to many (2) : Sequential 벡터를 입력받는 즉시 Sequential 벡터를 출력
ex) 비디오를 프레임별로 분류(Video classification per frame)
▶ RNN 장점
→ 모델이 간단함
→ 어떤 길이의 sequential 데이터라도 처리할 수 있음
▶ RNN 단점
→ 병렬화 불가능 (1)
→ 기울기 소실 및 폭발 (2)
LSTM과 GRU 이란?
▶ LSTM ( Long Short Term Memory, 장단기기억망 )
→ Gate
○ Forget Gate : 과거 정보 유지 비율
○ Input Gate : 새로운 정보 반영 비율
○ Output Gate : 출력으로 얼마나 넘겨줄까의 비율
→ State
○ Cell State
○ Hidden State
▶ GRU ( Gated Recurrent Units )
→ State
○ Hidden State
→ Gate
○ Reset Gate
○ Update Gate ( Forget Gate + Input Gate )
Attention이란?
처리하고자 하는 시퀀스가 길 때, 앞쪽 토큰의 정보를 잃어버리는 문제를 해결하기 위해 인코더에서의 전체 입력 문장을 다시 한 번 참고하는 것
→ 쿼리 : 분석 하고자 하는 단어에 가중치 벡터
→ 키 : 각 단어가 쿼리에 해당하는 단어와 얼마나 연관있는지를 비교하기 위한 가중치 벡터
→ 벨류 : 각 단어의 의미를 살려주기 위한 가중치 벡터
dict = {"a" : 1} # Key "a", Value 1
dict["a"] # Query
728x90
반응형
'AI > Codestates' 카테고리의 다른 글
[Deep Learning - CV] Convolutional Neural Network ( CNN ) (0) | 2022.05.13 |
---|---|
[Deep Learning - NLP] Transformer (0) | 2022.05.10 |
[Deep Learning - NLP] Distributed Representation (0) | 2022.05.06 |
[Deep Learning - NLP] Count-based Representation (0) | 2022.05.04 |
[Day 71] Sprint Review (0) | 2022.05.04 |