LSTM (Long-Short Term Memory)
앞서 알아본 RNN은 오래된 것들을 정확히 기억 해내지 못한다는 치명적인 단점이 있음
또한 역전파 과정에서 기울기 소실(gradient vanishing), 기울기 폭팔 문제 (gradient exploding)가 발생한다.
이런 단점들을 해결하기 위해 LSTM이 도입되었다.
LSTM에서는 여러 gate가 존재하는데 gate는 기존 벡터가 가지고있는 정보를
필요한 만큼만 추출하는 역할을 한다.
(마치 물이 흘러갈때 수문,gate 를 필요만큼 열어주는 것 처럼)
LSTM의 gate들은 다음과 같이 표현된다.
f : forget gate : whether to erase cell
i : input gate : whether to write to cell
g : gate gate? : how much to write to cell
o : output gate : how much to reveal cell
이런 gate와 더불어 LSTM 모델을 자세히 보자면 다음과 같다.
gate 별로 수식을 알아보자
1) input gate
$$ i_{t} = \sigma (W_{xi}h_{t-1}+b_{i}) $$
2) 업데이트 셀?
$$ g_{t} = tanh(W_{xg}x_{t}+W_{hg}h_{t-1}+b_{g}) $$
두 gate를 이해하기 쉽게 모형으로 보자면 다음과 같다.
3) forget gate
$$ f_{t} = \sigma (W_{xf}x_{t}+W_{hf}h_{t-1}+b_{f}) $$
4) output gate
$$ o_{t} = \sigma (W_{xo}x_{t}+W_{ho}h_{t-1}+b_{o}) $$
RNN에서는 행렬곱이 반복적으로 일어나지만 LSTM에서는 매번 새로운 gate의 값과 곱해지기에
기울기 소실문제가 일어나지 않는다.
GRU(Gated Recurrent Unit)는 한국인 교수님은 조경현 교수님이 집필한 논문에서 제안된 모델이다.
성능은 LSTM과 유사하지만 LSTM의 구조를 보다 단순화 시킨 모델이라 할 수 있다.
GRU의 gate는
reset gate와 update gate가 존재하며 모델 모양과 수식은 다음과 같다.
구름 AI 자연어처리 과정에서도 간단하게만 다뤄서 GRU는 여기까지..
꿑!
'자연어처리 > 개념 정리' 카테고리의 다른 글
Attention 간단 개념 정리 (1) | 2022.09.08 |
---|---|
Sequence to Sequence 간단 개념 정리 (2) | 2022.09.07 |
RNN 개념 간단 정리 (자연어 처리) (0) | 2022.09.06 |
Glove 개념 간단 정리 (0) | 2022.09.05 |
Word2Vec 간단 개념 정리 (0) | 2022.08.31 |
댓글