본문 바로가기
자연어처리/개념 정리

LSTM/GRU 개념 간단 정리

by 아인슈페너먹고싶다 2022. 9. 7.

LSTM (Long-Short Term Memory)

 

 

 

앞서 알아본 RNN은 오래된 것들을 정확히 기억 해내지 못한다는 치명적인 단점이 있음

 

또한 역전파 과정에서 기울기 소실(gradient vanishing), 기울기 폭팔 문제 (gradient exploding)가 발생한다.

 

이런 단점들을 해결하기 위해 LSTM이 도입되었다.

 

 

 

 


 

LSTM에서는 여러 gate가 존재하는데 gate는 기존 벡터가 가지고있는 정보를

필요한 만큼만 추출하는 역할을 한다. 

 

(마치 물이 흘러갈때 수문,gate 를 필요만큼 열어주는 것 처럼)

 

LSTM의 gate들은 다음과 같이 표현된다.

 

 

출처 : 구름 AI 자연어처리 과정

 

 

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 모델을 자세히 보자면 다음과 같다.

 

 

출처 :https://wikidocs.net/22888

 

 

 

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를 이해하기 쉽게 모형으로 보자면 다음과 같다.

 

 

출처 :https://wikidocs.net/22888

 

 

 

3) forget gate

 

$$ f_{t} = \sigma (W_{xf}x_{t}+W_{hf}h_{t-1}+b_{f}) $$

 

출처 :https://wikidocs.net/22888

 

 

4) output gate

 

 

$$ o_{t} = \sigma (W_{xo}x_{t}+W_{ho}h_{t-1}+b_{o}) $$

 

 

출처 :https://wikidocs.net/22888

 

 

RNN에서는 행렬곱이 반복적으로 일어나지만 LSTM에서는 매번 새로운 gate의 값과 곱해지기에

 

기울기 소실문제가 일어나지 않는다.

 

 

 

 


 

 

GRU(Gated Recurrent Unit)는 한국인 교수님은 조경현 교수님이 집필한 논문에서 제안된 모델이다.

 

성능은 LSTM과 유사하지만 LSTM의 구조를 보다 단순화 시킨 모델이라 할 수 있다.

 

 

 

GRU의 gate는 

 

reset gate와 update gate가 존재하며 모델 모양과 수식은 다음과 같다.

 

출처 : https://wikidocs.net/22889

 

 

 

구름 AI 자연어처리 과정에서도 간단하게만 다뤄서 GRU는 여기까지..

 

 

꿑!

 

 

댓글