728x90
반응형
LSTM (Long Short Term Memory)
- RNN의 결과를 더욱 개선하기 위한 모델
- 한 층 안에서 반복을 많이 해야 하는 RNN의 특성상 일반 신경망보다 기울기 소실 문제가 더 많이 발생
- 반복하기 직전에 다음 층으로 기억된 값을 넘길지 안 넘길지를 관리하는 단계를 하나 더 추가
- Gate의 도입으로 입력, 출력을 조절할 수 있게 됨
- 메모리를 이용하여 Long-range corrlation을 학습할 수 있게 됨
- Error를 입력에 따라 다른 강도로 전달할 수 있음
- RNN의 Vanishing Gradient 문제 해결
LSTM 핵심 아이디어
- 이전 단계의 정보를 memory cell에 저장하려 흘려 보냄
- 현재 시점의 정보를 바탕으로 과거의 내용을 얼마나 잊을지 곱해주고 그 결과에 현재의 정보를 더해서 다음 시점으로 정보 전달
Cell State
- 컨베이어 벨트와 같아서, 작은 linear interaction만을 적용시키면서 전체 체인을 계속 구동
- cell state에 뭔가를 더하거나 없앨 수 있는 능력이 있는데, 이 능력은 gate라고 불리는 구조에 의해 제어됨
- Gate는 정보가 전달될 수 있는 추가적인 방법으로, sigmoid layer와 pointwise 곱셈으로 이루어짐
Gate
- 3개의 gate는 sigmoid unit으로 제어 됨
Forget Gate
- cell state로부터 어떤 정보를 버릴 것인지 정하는 단계
- sigmoid layer에 의해 결정됨
- 이전 은닉층 값(ht-1)과 현재 데이터에 각가 weight가 곱해져서 sigmoid로 전달
- sigmoid가 결국 0~1사이 출력이므로
- 1에 가까울수록 과저 정보(ct)를 많이 기억
- 0에 가까울수록 과저 정보(ct)를 많이 망각
Input Gate & Candidate
- 앞으로 들어오는 새로운 정보 중 어떤 것을 cell state에 저장할 것인지를 정하는 단계
- input gate layer(=sigmoid layer)가 어떤 값을 업데이트할지 정함
- input gate: 현 시점의 정보를 셀에 입력할 크기를 정해주는 입력 게이트
- candidate: 현 시점의 정보를 계산하는 입력 후보
- 현 시점이 실제로 갖고 있는 정보(입력후보)가 얼마나 중요한지(입력게이트)를 반영하여 셀에 기록
Memory Cell
- forget gate, input gate, candidate를 이용하여 Memory Cell에 저장
- 과거의 정보를 forget gate에서 계산된만큼 망각
- 현 시점의 정보 후보에 input gate의 중요도 곱셈
- 두 개를 더하여 현 시점 기준 memory cell 계산
Output Gate
- 현 시점의 memory cell을 현 시점의 은닉층 값으로 출력할 양을 결정
Forget Gate | Input Gate & Candidate | Output Gate |
Candidate Memory Memory Cell |
hidden state |
※ Gate 마다 weight들은 독립적인 값으로 학습이 이루어짐
Backpropagation
728x90
반응형
'Machine Learning > RNN' 카테고리의 다른 글
[Machine Learning] GRU (Gated Recurrent Unit) (0) | 2021.03.08 |
---|---|
[Machine Learning] RNN(Recurrent Neural Network) (0) | 2021.03.02 |