개요
딥 러닝에 있어서 가장 기본적인 시퀀스 모델.
피드 포워드 신경망과 달리, 이전 시점의 정보를 상태로 유지한다.

여기서 셀은 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행하므로 이를 메모리 셀이라고 표현한다.

위 그림에서 두가지는 같은 표현이다. 우측이 시계열적으로 표현한 것.
수식

현재 시점 에서의 은닉 상태값은
은닉층의 메모리 셀은 계산을 위해 총 두개의 가중치가 필요하다.
: 입력층에서 입력값을 위한 가중치
: 이전 시점 의 은닉 상태값인 을 위한 가중치
행렬 연산으로 이해하는 RNN 은닉층 연산

배치 크기가 1이고, d와 D_h 두 값 모두가 4로 가정했을 때, RNN의 은닉층 연산을 그림으로 표시한 것.
활성화 함수로는 추로 하이퍼볼릭 탄젠트가 사용되지만, ReLU로 바꿔 사용하려는 시도도 있다.
위의 식에서 의 값은 모든 시점에서 값을 동일하게 공유한다. 만약, 은닉층이 2개 이상일 경우에는 은닉층 2개의 가중치는 서로 다르다.
피드 포워드 신경망과의 차이점
피드 포워드 신경망에서는 뉴런이라는 단위를 사용했다.
하지만 RNN에서는,
입력층과 출력층에서는 각각 입력 벡터와 출력 벡터,
은닉층에서는 은닉 상태
라는 표현을 주로 사용한다.

입력 벡터의 차원 : 4, 은닉 상태의 크기 : 2, 출력 벡터의 차원이 2 인 RNN
의 시점이 2일때의 모습
출력 구조

입력과 출력의 길이를 다르게 설계할수 있으므로 다양한 용도로 사용할 수 있다.
깊은 순환 신경망 (Deep Recurrent Neural Network)

양방향 순환 신경망 (Bidirectional Recurrent Neural Network)

깊은 양방향 순환 신경망 (Deep Bidirectional Recurrent Neural Network)

한계

장기 의존성 문제
비교적 짧은 시퀀스에 대해서만 효과를 보인다. 타임스텝이 길어질수롭 앞의 정보가 뒤로 충분히 전달되지 못한다.
사진은 앞 시퀀스의 내용이 잊혀지는 걸 표현