반응형
Index
LSTM (Long Short Term Memory)
- LSTM은 Long-term dependency를 capture하면서도 RNN의 vanishing/exploding grdaient problem을 극복하는 목적
- Simple RNN과 다르게 LSTM은 Memory를 위해 Cell state c(t) 와 Hidden state h(t) 2개의 벡터를 가지는데, 개괄적으로는 Cell state가 Long term, Hidden state가 Short term 메모리를 담당하고, 이 둘을 합쳐 Memory cell이라고 한다.
- Cell State 의 구성
- Input gate: 어떤 input을 cell state에 얼만큼 저장할지
- Forget gate: Memory unit (Cell state)에거 얼만큼을 버릴지/남길지
- Output gate: output즉 다음 step으로 넘길 hidden state값을 조절
- 즉 Input과 Forget Gate는 x(t), h(t-1)을 통해 다음 Cell sate c(t)를 얼만큼 업데이트 할 지 정하고 (Long term) Output gate는 cell sate를 통해 hidden state(output)이 얼만큼 영향을 받을지 결정하는 역할을 한다.
- Bidirectional LSTM은 양방향으로 (forward+backward) 학습하는 LSTM 모델로, 주식예측과 같이 과거데이터를 통해 미래를 예측하는 문제에는 맞지 않지만, 자연어처리 및 기계번역과 같이 앞뒤 맥락을 통해 유추하는 문제에 유용하다
- Stacked LSTM은 memory cell을 여러층으로 쌓아 올려 학습하는 구조로, 성능이 크게 향상될 수 있지만 gradient 계산 cost가 크다.
- Stacked가 아닌경우, Input shape은 3D텐서로 (batch_size, timesteps, input_dim), output shape은 2D텐서로 (batch_size, output_dim)이었다면, Stacked LSTM 에서는 output shape이 (batch_size, timesteps, output_dim)가 된다
반응형
'Study > DL' 카테고리의 다른 글
Auto Encoder (0) | 2023.07.01 |
---|---|
Attention Mechanism (0) | 2023.07.01 |
RNN - 1편 (RNN구조, RNN의 Backpropagation) (0) | 2023.07.01 |
CNN - 3편 (Up-sampling, U-Net) (0) | 2023.06.30 |
CNN - 2편 (Bottleneck, ResNet,Dropout) (0) | 2023.06.29 |
댓글