BiRNN完全解剖
Category: 機械翻訳 Deep Learning | Tags: BiRNN NLP 時系列解析
こんにちは。これまで株価やセンサーデータの異常検知など、主に「数値の時系列データ予測」を実装してきたエンジニアです。
最近、自然言語処理(NLP)の古典的名著である論文『Neural Machine Translation by Jointly Learning to Align and Translate (Bahdanau et al., 2015)』を読み込んでいたのですが、その中で使われている技術「Bidirectional RNN (BiRNN)」の仕様を知ったとき、思わずこう叫んでしまいました。
「えっ、未来のデータ見ちゃっていいの!? それ、リーク(カンニング)じゃない?」
時系列予測の世界ではご法度とされる「未来情報の参照」。なぜ機械翻訳ではそれが許されるのか、そしてそれがどう「最強のベクトル」を生み出すのか。私の受けた衝撃とともに解説します。
1. 時系列予測の常識 vs NLPの常識
時系列予測における「タブー」
私がこれまで扱っていた株価予測などのタスクでは、時間は常に過去から未来へ一方向に流れます。
今日((t))の時点で、明日((t+1))のデータは宇宙のどこにも存在しません。もしモデルの学習中に (t+1) の情報を入力してしまったら、それは「リーク(Data Leakage)」となり、モデルの信頼性は崩壊します。
機械翻訳における「未来」
しかし、機械翻訳(NLP)の入力データは少し性質が異なります。
システムに入力されるのは「I have a pen.」という完成された文章です。
モデルが先頭の「I」を処理している瞬間、物理的にはまだ読み込んでいなくても、データセット上には数単語先に「pen」が存在しています。翻訳というタスクは、逐次予測であると同時に、「文全体の構造解析」でもあります。
人間が翻訳するときも、一旦文末まで読んでから訳し始めますよね? BiRNNはまさにそれをやっているのです。
2. BiRNNの仕組み:過去と未来の結合
この論文のモデルでは、エンコーダ部分にBiRNN(双方向RNN)を採用しています。その構造を最小単位まで分解してみましょう。
図解:順方向RNNと逆方向RNNが合流するBiRNNの概念図
順方向 (Forward)
逆方向 (Backward)
結合 (Concatenation)
Input x Forward h→ Backward ←h Annotation h xt-1 h→ ←h h xt h→ ←h ht xt+1 h→ ←h h ... ...
Step 1: 順方向 (Forward)
これは通常のRNNと同じです。文頭から文末に向かって読み進めます。
[ \vec{h}_j = f(x_j, \vec{h}_{j-1}) ]
ここで作られるベクトル (\vec{h}_j) には、「文頭から単語 (x_j) までの過去の文脈」が圧縮されています。
Step 2: 逆方向 (Backward) —— 衝撃の正体
ここがポイントです。文末から文頭に向かって時間を遡ります。
[ \overleftarrow{h}_j = f(x_j, \overleftarrow{h}_{j+1}) ]
ここで作られるベクトル (\overleftarrow{h}_j) には、「文末から単語 (x_j) までの未来の文脈」が圧縮されています。
Step 3: アノテーションの結合
そして、ある単語位置 (j) において、この2つをガチャンと結合(Concatenate)します。
[ h_j = [\vec{h}_j^\top ; \overleftarrow{h}_j^\top]^\top ]
これにより、単語 (x_j) のベクトル (h_j) は、単なる単語の意味だけでなく、「その単語を中心として、文全体(過去と未来)を見渡した全知全能の視点」を持つことになります。
3. なぜこれで精度が上がるのか?
例えば、以下の文を考えてみましょう。
- The man said that ... (あの男は~と言った [接続詞])
- Look at that man ... (あの男を見ろ [指示代名詞])
単語 "that" が出てきた瞬間、前から読んでいるだけ(順方向のみ)では、これが「接続詞」なのか「指示代名詞」なのか確定しきれません。
しかし、BiRNNで後ろ(未来)から読むことによって、「後ろに主語+動詞が来ているから接続詞だ」「後ろに名詞が来ているから形容詞的用法だ」と確定できます。
この「文脈の中で確定した意味」を持たせたベクトルこそが、この論文で「アノテーション(Annotation:注釈)」と呼ばれているものの正体です。
4. まとめ:時系列脳からの脱却
「未来を見てはいけない」というのは、オンライン予測における制約でした。
しかし、すでにデータが出揃っている翻訳や文書解析においては、「未来(後ろのデータ)を積極的に活用して、現在の曖昧性を解消する」ことが正義となります。
このBiRNNによって作られた「最強の単語リスト(アノテーション)」を、デコーダはどうやって翻訳に使うのでしょうか?
次回の記事では、このリストを使った革新的技術「Attentionメカニズム」について、論文の核心部分「固定長ベクトルの呪縛からの解放」をテーマに解説します。