Deeper Learning

Long Short-Term Memory (LSTM) 본문

AI/Deep Learning

Long Short-Term Memory (LSTM)

Dlaiml 2020. 12. 4. 01:32

LSTM

GRU와 비슷하게 기초 RNN에 Gate를 추가한 구조의 모델

Forget Gate, Update Gate, Output Gate를 사용합니다.

 

Structure

[Figure 1] LSTM cell structure

 

Forget Gate

Forget Gate는 previous cell state (memory)인 $c^{<t-1>}$를 얼마나 "Forget" 할 것인지 결정합니다.

Candidate cell state

$\tilde{c}^{<t>}$는 현재 시점의 정보를 담고 있습니다.

Update Gate

Update Gate는 현재 시점의 정보를 담고 있는 $\tilde{c}^{<t>}$의 특정 부분을 최종 $c^{<t>}로 전달하기 위한 mask 역할을 합니다. 

Output Gate

Output Gate는 현시점에서 output을 정하기 위한 Gate입니다. 

 

Forward Propagation

위에서 설명한 Gate들을 사용하여 Forward Propagation이 이루어집니다.

 

현시점의 cell state는 전 시점의 cell state인 \$c^{<t-1>}과 Forget Gate의 원소곱과 candidate cell state인 $\tilde{c}^{<t>}$와 Update Gate의 원소곱의 합으로 계산이 가능합니다. 

수식을 Gate의 역할에 따라 해석해보면 전 시점에서 전달된 memory들을 얼마나 잊어버릴지 Forget Gate를 통해 결정하고 현재 시점에서 생성된 memory들을 얼마나 현재 최종 memory에 반영할 것인지 Update Gate를 통해 결정한다고 볼 수 있습니다.

 

다음으로 hidden state인 a는 Gate들의 값을 정할 때 그 시점의 input과 함께 사용됩니다. a는 cell state인 c의 값을 사용하여 계산이 가능합니다. 위와 같이 Output Gate와 $tanh(c^{<t>})의 원소곱으로 정의됩니다. 

수식을 해석하면 Output Gate가 다음 hidden state를 생성하는 데 사용되는 memory의 부분과 정도를 정한다고 생각할 수 있습니다. 

 

마지막으로 y값은 기초 RNN 구조와 마찬가지로 activations인 a를 input으로 신경망을 통과시킵니다. activation function으로는 다중 분류 모델의 경우 softmax를 사용합니다.

Back Propagation

 

RNN Back Propagation

 위는 Basic RNN 역전파가 이루어질 때 계산식입니다.

식이 복잡해 보이지만 Chain Rule을 사용하면 쉽게 구할 수 있는 값입니다.

 

LSTM Back Propagation

LSTM은 위와 같이 추가로 cell state에 대한 역전파가 이루어져 더욱 복잡해집니다.

위와 같은 식을 사용하여 직접 gradient의 계산이 가능합니다. (*는 element-wise product를 의미합니다)

 

코드로 구현한 LSTM 역전파

cct는 cancdidate cell state로 $\tilde{c}^{<t>}$를 말합니다.

 

Reference

Klaus Greff et al. (2017). LSTM: A Search Space Odyssey / arXiv:1503.04069v2 [cs.NE] 

Coursera Deep Learning Specialization - Sequence models

 

'AI > Deep Learning' 카테고리의 다른 글

Inception score (IS)  (0) 2020.12.04
Feature Extraction  (0) 2020.12.04
Gated Recurrent Units (GRU)  (0) 2020.12.03
Language Model  (0) 2020.12.01
Recurrent Neural Network  (0) 2020.12.01
Comments