RNNを用いた基本的なSeq2Seq(エンコーダ・デコーダモデル)で英文を和訳するとき、学習済みのモデルが出力する訳文の長さ(単語数)が決まる仕組みとして、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:Seq2Seqの出力長の決まり方
ポイント
Seq2Seqのデコーダは1語ずつ生成し、文末記号を出力した時点で生成を終えるため、入力と異なる長さの系列を出力できます。
選択肢ごとの解説
- A
適切 正解
デコーダは直前に出力した単語を次の時刻の入力にして、1語ずつ順に生成します。文末記号(EOSなど)も学習データの各文の末尾に付けて普通の単語と同じように学習するため、文ごとに適した位置で生成を終えられます。
- B
不適切
入力と出力の長さが一致するのは、各単語に品詞を付けるような1対1のタスクです。翻訳では同じ内容でも言語によって単語数が変わるため、Seq2Seqは出力の長さを入力の長さから切り離して決めます。
- C
不適切
長さを平均値に固定すると、短い文には余計な語が付き、長い文は途中で切れてしまいます。Seq2Seqでは、いつ終えるかも次の単語の予測の一部として、デコーダが入力文ごとに判断します。
- D
不適切
固定長なのは入力文の内容を表すベクトルの大きさで、出力の単語数ではありません。デコーダはこのベクトルから何語でも生成できます。ただし長い文では情報を詰め込みきれず、訳の質が落ちやすいことがAttention導入のきっかけになりました。
補足
Sutskeverらは2014年、2つのLSTMをエンコーダとデコーダに使ったSeq2Seqで、英語からフランス語への機械翻訳を行いました。実際の生成では、各時刻で最も確率の高い単語を1つだけ選ぶ代わりに、複数の候補の文を残しながら進めるビームサーチもよく使われます。
試験での狙われ方
Seq2Seqが入力と異なる長さの系列を出力できる理由を、エンコーダとデコーダの役割分担と結びつけて問う形が見られます。