더북(TheBook)

① LSTM 계층을 정의하는 부분(nn.LSTM)에 bidirectional=True 옵션을 사용하면 양방향 LSTM을 사용하겠다는 의미입니다. 이와 같이 양방향 LSTM은 옵션 변경만으로 손쉽게 구현할 수 있습니다. bidirectional=True 옵션은 양방향 RNN, 양방향 GRU 모두에 해당됩니다.

②, ②′, ②″ LSTM과 양방향 LSTM의 차이는 다음 그림과 같습니다. 입력 데이터가 전방향과 역방향 학습에 모두 전달되며 그 결과들도 모두 출력에 반영됩니다. 즉, 한 번 학습하는 데 두 개의 계층이 필요하기 때문에 LSTM과는 다르게 은닉 상태, 셀 상태에 2를 곱하고 마지막 출력층에도 2를 곱해야 합니다(num_layers = 1로 정의했지만 다음 그림과 같이 마치 두 개의 계층을 사용하는 것과 같기 때문에 2를 곱합니다).

▲ 7-31 양방향 LSTM

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.