LSTM
cell state로 이전단계의 정보의 소실이나 변형을 줄임
출처 : http://colah.github.io/posts/2015-08-Understanding-LSTMs/
ct,ht=LSTM(xt,ct−1,ht−1)
LSTM은 현재 time step의 xt 와 이전 time step의 ct−1,ht−1를 입력으로 받아서 ct,ht를 출력한다.
cell state가 핵심정보를 담고있다.
hidden state는 ct를 한번 더 가공하여 그 time step에서 노출 할 필요가 있는 정보만을 남긴, 필터링이 된 정보이다.
LSTM gate
LSTM은 4개의 gate가 있다.
gate들은 어느정도의 정보가 cell state에 따라올지 조절해준다.
- f: Forget gate, 이전 cell state의 벡터를 얼마나 가져올지 조절, sigmoid사용
- i: Input gate, Gate gate를 얼마나 가져갈지 조절, sigmoid 사용
- g: Gate gate, ht−1×xt 를 이전 cell state에 더해줌, tanh 사용
- o: output gate, ht를 만들때 얼마나 가져갈지를 조절, sigmoid 사용
출처 : http://colah.github.io/posts/2015-08-Understanding-LSTMs/
LSTM 연산
W : shape (4h,(x+h))
input (xt+ht−1) : shape (1,(x+h))
W의 행이 4h인 이유는 W가 gate마다 존재해서 그렇다(Wf,Wi,Wg,Wo)
input을 transpose하여 W와 행렬곱을 수행한다.
깔끔하게 잘 설명되어 있네요 ! 👍