시계열 데이터의 현재 시간 이전뿐만 아니라, 이후 정보까지 저장해서 활용할 수 있다면 더 좋은 성능을 기대할 수 있다.

예를 들어, “푸른 하늘에 ㅇㅇ이 떠있다.”라는 문장에서 ㅇㅇ에 들어갈 단어를 예측하고자 한다면, 우리는 앞의 정보인 “푸른”, “하늘”이라는 정보를 가지고 ㅇㅇ에 들어갈 단어가 “구름”이라고 예측할 수 도 있지만, 뒤의 정보인 “떠있다”라는 단어까지 함께 고려하면 더 높은 확률로 정답이 “구름”이라는 것을 예측할 수 있다.

BRNNs를 이용하면, 이전 정보와 이후 정보를 모두 저장할 수 있다.

image.png

BRNNs는 2개의 Hidden Layer를 가지고 있다.

전방향 상태(forward states) 정보를 가지고 있는 Hidden layer

후방향 상태(backward states) 정보를 가지고 있는 Hidden layer

이 둘은 연결되어 있지 않다.

하지만, 입력값은 이 2가지 Hidden Layer에 모두 전달되고, Output Layer도 이 2가지 Hidden Layer로 모두 값을 받아서 최종 Output을 계산한다.

시간 에서 전방향(forward) hidden layer의 활성값(activation) output $\overrightarrow{h}_t$ ****,

후방향(backward) hidden layer의 활성값(activation) output $\overleftarrow{h}_t$,

output layer의 output $y_t$은 다음과 같이 계산한다.

image.png

image.png

image.png