AI用語集・ディープラーニングの要素技術

双方向RNNとは

そうほうこうアールエヌエヌbidirectional recurrent neural network略語 BiRNN

別名:Bidirectional RNN、双方向リカレントニューラルネットワーク

  • シラバス 技術22
  • ◯×チェック3問
  • 練習問題2問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

双方向RNNとは、系列を先頭から読むRNNと末尾から読むRNNを組み合わせ、各時刻で前後両方の文脈を使えるようにしたモデルのことです。

くわしく

双方向RNN(Bidirectional RNN)は、系列を前から読むRNNと後ろから読むRNNを組み合わせたモデルです。1997年にSchusterとPaliwalが提案しました。

なぜ後ろからも読むのか

普通のRNNは、系列を先頭から順に読みます。そのため、ある時刻の隠れ状態には、それより前の情報しか入りません。しかし、文の中の単語の意味は、後ろに続く語で決まることがよくあります。「はし」が橋か箸かは、続く「を渡る」「で食べる」を見るとわかります。

しくみ

双方向RNNは、2つの独立したRNNを持ちます。

  • 順方向のRNN:先頭から末尾へ読み、各時刻までの前の文脈をまとめます。
  • 逆方向のRNN:末尾から先頭へ読み、各時刻より後ろの文脈をまとめます。

各時刻では、2つの隠れ状態をつなげるなどして出力に使います。中のRNNにLSTMを使ったものは双方向LSTMと呼ばれ、音声認識や固有表現抽出などで広く使われました。

使える場面と使えない場面

逆方向に読むには、系列の終わりまでの入力がそろっている必要があります。文書の分類や、翻訳元の文の読み込みのように、入力が最初からすべてあるタスクに向きます。Seq2Seqに注意機構を組み込んだBahdanauらの翻訳モデルでも、入力文を読むエンコーダに双方向RNNが使われました。

一方、話している途中で文字を確定させる音声認識や、文章を1語ずつ生成するデコーダでは、後ろの入力がまだないため、そのままでは使えません。

ほかのモデルとの関係

ELMoは、順方向と逆方向のLSTM言語モデルを組み合わせ、文脈に応じた単語の表現を作ります。BERTも「双方向」と呼ばれますが、RNNではなく、TransformerのSelf-Attentionで前後の文脈を同時に見ます。

覚え方

「前から読む人と後ろから読む人が、メモを持ち寄る」と覚えます。

G検定での出題

出題のされ方

順方向と逆方向の2つのRNNを組み合わせる構造、系列全体がそろってから処理する前提、そのためリアルタイム処理や1語ずつの文章生成には向かない点が問われます。

シラバスでは「双方向RNN(Bidirectional RNN)」と表記されています。

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. 双方向RNNのある時刻の出力は、その時刻より前の入力だけでなく、後ろの入力の影響も受ける。

    答えを見る

    答え ◯ 正しい

    末尾から読んできた逆方向のRNNの情報を、各時刻で順方向の情報と組み合わせるためです。文中の単語の意味を前後から判断する課題に向きます。

  2. Bahdanauらの注意機構付きの機械翻訳モデルでは、入力文を読み込むエンコーダに双方向RNNが使われた。

    答えを見る

    答え ◯ 正しい

    入力文の各単語について、前後両方の文脈を含んだベクトルを作るためです。翻訳元の文は最初からすべてそろっているので、後ろからも読めます。

  3. 双方向RNNを使えば、文章を先頭から1語ずつ生成するときにも、まだ生成していない後ろの単語を参考にできる。

    答えを見る

    答え × 誤り

    生成の途中では、後ろの単語はまだ存在しません。双方向RNNは系列全体がそろっていることが前提なので、生成を担うデコーダには一方向のモデルを使います。

この用語の練習問題

2問
  1. #0057双方向RNNの適用条件難易度 応用・単一選択未回答
  2. #0192双方向RNNの内部構造難易度 基礎・単一選択未回答

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術22

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習