위키득계정 ↗
기술

양방향 순환 신경망

양방향 순환 신경망기술
영문명
Bidirectional recurrent neural network
처리 경로
정방향과 역방향
대표 구성 요소
RNN·LSTM·GRU
주요 제약
뒤쪽 입력이 필요함
양방향 순환 신경망은 입력 순서를 앞에서 뒤로 처리하는 경로와 뒤에서 앞으로 처리하는 경로를 함께 사용하는 구조다. 각 위치에서 앞쪽 문맥과 뒤쪽 문맥을 결합할 수 있다. 두 방향의 계산 결과를 어떻게 합칠지도 모델의 일부다.

양쪽 문맥을 계산하기

정방향 상태는 이전 위치에서, 역방향 상태는 다음 위치에서 정보를 받는다. 전체 위치의 출력을 사용할 때는 같은 원래 위치에 대응하도록 결과를 맞춘다. 역방향에서 먼저 계산된 값이 원래 순서의 첫 위치에 해당하는 것은 아니다.

세 값의 예

입력 (1,2,4)에 각 방향의 갱신을 h=x+0.5h이전, 초기 상태를 0으로 둔 선형 예를 보자. 정방향 상태는 (1,2.5,5.25)다. 역방향 계산 결과를 원래 위치에 맞추면 (3,4,4)다. 두 값을 연결한 위치별 출력은 (1,3), (2.5,4), (5.25,4)다.

결합과 출력 크기

각 방향의 은닉 벡터 길이가 8이면 연결한 출력은 길이 16이다. 대응 성분끼리 더하거나 평균내면 길이는 8이다. 따라서 양방향이라는 사실만으로 출력 길이가 반드시 두 배가 되는 것은 아니다. 두 방향은 보통 각자의 학습 가중치를 가진다.

사용할 수 있는 정보

전체 문장을 미리 볼 수 있는 처리에는 뒤쪽 문맥을 활용할 수 있다. 반면 아직 도착하지 않은 미래 자료까지 참조하는 경로는 즉시 예측하는 실시간 조건에 그대로 적용할 수 없다. 미래 입력을 사용한 평가 결과를 과거 정보만 쓰는 예측 결과와 동일한 조건으로 비교해서는 안 된다.

관련 문서

단순 순환 신경망 / LSTM / GRU / 인공 신경망 / 임베딩 층 / 내적 어텐션 / 데이터 누출 (기계 학습)