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