Forget gate: prev hidden state와 현재 input을 갖고 어떤 정보를 살리고, 어떤 정보를 버려서 cell state에 올릴지 결정
Input gate: 현재 input 중 어떤걸 사용할지(cell state에 올릴지) 결정
: sigmoid가 아닌 tanh를 사용하는 이유는 이 '새로운 기억 셀'은 게이트가 아닌, 새로운 데이터를 기억 셀에 추가하는 것이기 때문
: 를 얼마나 반영할지를 결정
Update cell: 버릴건 버리고 챙길건 챙겨서 cell state를 update
는 forget gate의 출력인 와 이전 기억 셀 의 아다마르 곱으로 계산
Output gate: output 결정
행렬곱이 아닌 아다마르곱을 사용해 기울기를 덜 손실시킴
RNN과 같이 매번 똑같은 가중치 행렬을 사용하는게 아닌, 새로 들어온 데이터에 대해 아다마르 곱이 수행되므로 곱셈의 효과가 누적되지 않음
Cell state가 tanh, sigmoid를 지나지 않기 때문
Reset Gate: 과거의 hidden state를 얼마나 무시할지 결정
r = 0이면 완전 무시
Update Gate: Hidden state를 갱신