問題 No.1862
機械翻訳などのタスクで広く用いられるRNNエンコーダ・デコーダモデルに関する説明として、最も適切なものはどれか。
【正解の解説】
可変長の入力系列をエンコーダが固定長の内部状態ベクトルに変換し、デコーダがそのベクトルから別の可変長の出力系列を生成する。
人間が外国語を一度頭の中で「要約や意味の固まり」として受け止め、それを別の言語で組み立て直して発話するプロセスと同じです。エンコーダが文章の長さを問わず意味をぎゅっと固定サイズの記憶に圧縮し、デコーダがそこから好きな長さの別言語を紡ぎ出す仕組みになっています。
スポンサーリンク
【その他の選択肢の解説】
固定長の入力系列をエンコーダが可変長の内部状態ベクトルに変換し、デコーダがそのベクトルから別の固定長の出力系列を生成する。
機械翻訳を想像してください。入力される原文の長さは毎回バラバラですし、翻訳された訳文の長さも原文とは異なります。そのため、固定長の入力を前提としたり出力が固定長に縛られたりすると、短い文しか扱えなくなったり長い文で破綻したりするため不適切です。
可変長の入力系列をエンコーダが順次処理して直接出力し、デコーダがその結果を統合して別の可変長の内部状態ベクトルを構築する。
エンコーダの役割は入力された系列を文脈が詰まった内部状態へ要約することであり、そこから実際の出力文字列を順番に生成していくのはデコーダの役割です。この処理の分業体制が逆になっているため、正しい翻訳や生成を行うことができません。
固定長の入力系列をエンコーダが双方向の隠れ層に展開し、デコーダがその注意機構を用いて別の固定長の出力系列を再構築する。
注意機構は固定長ベクトルの情報落ちを補うために導入された強力な仕組みですが、元のモデルの基本構造である「可変長の入力から可変長の出力を生成する」という大前提が変わるわけではありません。すべてが固定長と決めつけるのは本質を捉え違えています。