Hidden layer의 output을 출력층의 입력으로 사용할 뿐만 아니라 다음 time step의 hidden layer node의 입력으로도 사용하는 네트워크
hidden layer에서 activation function을 통해 결과를 내보내는 노드를 메모리 셀 또는 RNN 셀이라 표현
입력과 출력의 길이를 다르게 설계 까능, 1:N, N:1, N:N 가능

사용 이유: ReLU 사용 시 이전 값이 커짐에 따라 전체 출력이 발산하는 문제가 생길 수도 있음, sigmoid보다 나은 tanh를 사용








LSTM의 forget gate, input gate, output gate -> update gate, reset gate.
LSTM의 cell-state가 hidden state에 합쳐짐
LSTM에 비해 빠른 학습 시간, 낮은 계산 복잡성이 장점
reset gate : 지난 정보를 얼마나 버릴 지 결정, sigmoid 출력이기 때문에 (0,1)
update gate : 새 정보를 얼마나 반영할 지 결정, sigmoid 출력이기 때문에 (0,1)
: 현재 시점에 사용할 메모리의 정보
RNN, LSTM, GRU의 다른점은?
RNN은 이전 time step의 hidden state를 사용하여 다음 time step의 hidden state를 계산하는 데 사용하는 네트워크, 시간에 따라 누적된 정보를 처리할 수 있는 신경망
LSTM은 RNN의 장기 기억 손실 문제를 해결한 네트워크, cell-state와 gate들로 장기 기억을 모방한 신경망
GRU는 LSTM의 복잡한 구조를 개선하기 위한 네트워크, 아키텍처가 단순하고 매개변수가 적어서 계산이 더 효율적이며 학습 속도가 빠른 신경망