一方向のRNNと比べた、双方向RNN(Bidirectional RNN)の構造に関する説明として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 B
この問題の論点:双方向RNNの内部構造
ポイント
双方向RNNは、順方向と逆方向の独立した2つのRNNの隠れ状態を組み合わせ、各時刻で前後両方の文脈を使います。
選択肢ごとの解説
- A
不適切
順方向と逆方向のRNNは、それぞれ別の重みを持ちます。そのため、隠れ層の大きさが同じなら、回帰結合層の部分のパラメータ数は一方向のRNNの2倍になります。
- B
適切 正解
双方向RNNは、順方向と逆方向の2つのRNNを並べた構造です。各時刻の出力には、両方の隠れ状態を結合したものなどを使うため、その位置より前と後ろの両方の文脈を反映できます。
- C
不適切
順方向と逆方向の隠れ層は互いにつながっておらず、どちらも元の入力系列を直接受け取ります。順方向の結果を逆方向に渡す構造ではないため、2つの方向の計算は独立に行えます。
- D
不適切
1つの隠れ層が前後両方の時刻の隠れ状態に依存すると、どの時刻から計算すればよいかが決まらず、計算が循環します。双方向RNNは、前から読む層と後ろから読む層に分けてこの問題を避けています。
補足
順方向と逆方向の各RNNには、LSTMやGRUを使う構成も広く用いられます。文脈に応じた単語の表現を作るELMoも、前から読むLSTMと後ろから読むLSTMの言語モデルを組み合わせています。
試験での狙われ方
2つの方向の層がつながっているか、重みを共有するかなど、構造の細部を入れ替えた選択肢で問う形が考えられます。