본문 바로가기

Deep learning

[Article] GRU & LSTM

Long Short-Term Memory (LSTM)

Background

장기의존성 문제

  • 과거의 정보가 마지막까지 전달되지 못하는 현상
  • https://yjjo.tistory.com/17 I grew up in France and want to be a plumber who the best is in the world and I speack fluent French 문장에서 France가 너무 초반에 등장하여 뒷단까지 충분히 전달되기 어려워 French로 예측하기 쉽지 않음 -> 장기 의존성 문제

LSTM

RNN의 특별한 구조로 장기의존성을 학습할 수 있는 딥러닝 프레임워크

  • 이전 단계의 정보를 memory cell에 저장하여 흘려보냄, 현재 시점의 정보를 바탕으로 과거의 내용을 얼마나 잊을지 곱해주고 그 결과에 현재의 정보를 더해서 다음 시점으로 정보를 전달

LSTM의 작동 원리

  1. 망각게이트
    과거의 정보를 얼마나 잊을지 결정하는 게이트, 현시점의 정보와 과거의 은닉층의 값에 각각 가중치를 곱하여 더한 후 sigmoid 함수를 적용, 그 출력 값을 직전 시점의 cell에 곱해줌
    • (0, 1)의 값을 가지는 sigmoid 함수, 1에 가깝다면 과거 정보를 많이 활용, 0에 가깝다면 과거 정보를 많이 잃게 됨
  2. 입력게이트, 입력후보
    현시점의 정보를 셀에 입력할 크기를 정해주는 입력게이트, 현시점의 정보를 계산하는 입력후보, 현시점이 실제로 갖고 있는 정보가 얼마나 중요한지를 반영하여 셀에 기록하는 것
  3. Memory cell의 계산
    망각게이트, 입력게이트, 입력후보를 이용하여 memory cell에 저장하는 단계
  4. 출력게이트
    현시점의 은닉층 값으로 출력할 양을 결정하는 출력게이트
  5. 출력층
*활성함수 
시그모이드 함수: 최대값 혹은 최소값 중 하나로 수렴해서 활성화 함수로 사용됨 -> gradient vanishing 함수 사용됨
    - Logistic 함수, 0~1의 값을 출력하는 S자형 함수 



https://arxiv.org/pdf/1701.05923.pdf

Gated Recurrent Units (GRU)

  • to solve "vanishing" or "exploding" gradient problems
  • reduce the gating signals
    • update gate zt: 과거와 현재의 정보의 최신화 비율을 결정 
    • reset gate rt: 과거의 정보를 적당히 리셋 
    • Candidate: 현 시점의 정보 후보군을 계산하는 단계, 은닉층의 정보를 그대로 이용하지 않고 리셋 게이트의 결과를 곱하여 이용 
    • BUT, 3-folds increase in parameters

7, 8 <GRU>

  • weights: BTT(backpropagation through time stochastic gradient descent)
  •  

https://yjjo.tistory.com/17
이분 블로그글 참고함

'Deep learning' 카테고리의 다른 글

05 Logistic Regression  (0) 2021.03.30
04 Multi-variable linear regression  (0) 2021.03.30
02 Simple Linear Regression  (0) 2021.03.23
01 ML  (0) 2021.03.23