RNN의 기본 구조 이해하기

1. RNN의 기본구조

 

각 time step에 sequence data Xt와 전 step의 hidden state vector인 ht-1이 함께 입력으로 들어오고 현 step의 출력으로 ht를 구한다.

 

1-1) Rolled RNN

 

 

Xt와 RNN에서 이전에 내놓은 ht-1돌면서 함께 들어가서 ht를 내놓는거

 

1-2) Unrolled RNN

 

위의 rolled version을 시간 순으로 풀어버리면

 

 

서로 다른 time step에서 들어오는 입력 처리할 때 동일한 parameter를 가지는 모듈 A를 반복적으로 사용하는 구조라서 Recurrent Neural Network

 

매 step마다 재귀적으로 모듈 A가 호출되어 거기서 나온 출력이 다음 step의 입력으로 들어간다

 

 

2. RNN의 예측값

 

그동안 보았던 NN의 출력이 task의 실제값에 대한 예측값이었다는 점에서

 

RNN은 조금 특이한데 RNN의 출력인 ht가 task의 예측값은 아니다.

 

RNN은 ht를 이용해서 필요하다면 output layer에서 예측을 수행하여 yt 를 뽑아낸다.

 

매 step마다 예측을 수행하기도 하고 마지막에 예측을 수행하기도 한다.

 

매 step마다 예측을 수행하는 POS tagging
문장의 모든 단어를 이해한 뒤 마지막에 예측을 수행하는 sentiment analysis

 

수식적으로 이해해본다면

 

 

notation에 대한 설명을 쓴다면

 

 

RNN의 function과 parameter fw는 매 time step마다 공유된다.

 

그러니까 모든 모듈의 parameter가 동일하다는 것이 RNN의 중요한 특징이다.

TAGS.

Comments