본문 바로가기
Study/DL

RNN - 2편 (LSTM)

by 까망우동 2023. 7. 1.
반응형

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 의 구성
      1. Input gate: 어떤 input을 cell state에 얼만큼 저장할지
      2. Forget gate: Memory unit (Cell state)에거 얼만큼을 버릴지/남길지
      3. 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)이 얼만큼 영향을 받을지 결정하는 역할을 한다. 

    LSTM 구조

    • 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)가 된다

    Stacked LSTM

     

     

     

     

     

     

     

     

     

     

     

     

    반응형

    '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

    댓글