728x90
장단기 기억망(Long-short Term Memory, LSTM)이란?
- RNN의 기울기 정보 크기를 조절하기 위한 GATE를 추가하여 기울기 소실,폭발의 문제를 해결하기 위해 고안된 모델
- RNN이라고 하면 일반적으로 LSTM을 가리키며 이는 연속적인 데이터를 처리하기 위한 대표적인 모델이다.
- 기존 RNN의 모델은 기울기 문제로 인해 문장에 대한 분류,번역,생성 성능이 낮았지만 이를 해결함
- 그러한 기울기 문제를 해결하기 위해 LSTM에선 *3가지 GATE가 추가 되었는데 이는 아래와 같다.
더보기
* 3가지 GATE
1. Forget Gate (ft): 과거 정보를 얼마나 유지할 것인가?
2. Input Gate (It) : 새로 입력된 정보는 얼마만큼 활용할 것인가?
3. Output Gate (Ot) : 두 정보를 계산하여 나온 출력 정보를 얼마만큼 넘겨줄 것인가?
기존 RNN 기반 모델(LSTM,GRU)들의 단점은 Encoder의 정보를 Decoder로 넘겨줄 때,
입력되어지는 모든 단어 정보를 하나의 Hidden state 벡터에만 담아야 한다는 점이었다.
이는 만약 처리해야하는 시퀀스가 많아진다면 모든 토큰 정보를 하나에 어떻게 담냐는 문제가 발생하게 된다.
이러한 문제를 해결하기 위한 방법이 ATTENTION 이다.
Attention이란 ?
- 각 인코더의 단계마다 생성되어지는 hidden state 를 간직하고 각 hidden state를 Decoding일때 전부 전달한다.
- 디코더 각 단계 마다 hidden state 벡터를 쿼리로 사용하고 인코더에서 넘어온 hidden state 벡터를 키와 밸류로 사용한다.
- 쿼리의 키의 연관성은 내적을 사용해서 구한다.
- 이러한 단계를 거치면 time-step마다 출력할 단어가 어떤 인코더의 어떤 단어 정보와 연관되어 있는지 Attention을 할 수 있게된다.
- 즉 Attention을 활용하면 디코더가 인코더에 입력되는 단어 정보를 모두 활용하기 때문에 장기 의존성 문제를 해결할 수 있다.
'AI > 딥러닝' 카테고리의 다른 글
소프트맥스(Softmax) 함수란? (0) | 2022.05.15 |
---|---|
Transfomer란 무엇일까? (0) | 2022.05.15 |
순환 신경망(Recurrent Neural Network)이란? (0) | 2022.05.13 |
언어 모델(Language Model),통계적 언어 모델(Statistical Language Model, SLM)이란? (0) | 2022.05.13 |
Word2Vec(Word to Vector)란 무엇일까? (0) | 2022.05.11 |
댓글