AI解剖教室 · Part 4 トランスフォーマー以前の物語
第42章 翻訳機のしくみ
Q. 語順も長さもちがう2つの言語を、AIはどうやって翻訳するのでしょう?
- 「私は 今日 学校に 行く」は英語で「I go to school today」。語順も語の数もちがうので、1語ずつ置きかえることはできません。
- 2014年、サツケバー(Sutskever)の研究チームはRNNを2つつなげました。読むエンコーダーと書くデコーダー、これをseq2seqといいます。
- エンコーダーは日本語を1語ずつ読みながら、メモを書き直します。最後のメモに、文全体の意味が入ります。
- デコーダーはそのメモを受け取って、英語を1語ずつ書きます。書いた語はまた入力に入ります。第2章の自己回帰と同じです。
- でも、メモの大きさは決まっています。4語でも40語でも、文全体を同じ大きさのメモ1枚に、ぎゅっとおしこまなければなりません。
- これがボトルネックです。びんのせまい首を、すべての意味が通らなければなりません。だから文が長いほど翻訳が悪くなりました。
- デコーダーが語を書くたびに、もとの文をもう一度見られたらどうでしょう? そのアイデアが第43章のアテンションです。
この章のまとめ
- seq2seq(2014):エンコーダーのRNNが読み、デコーダーのRNNが1語ずつ書く。
- エンコーダーは文全体を、決まった大きさのメモ(ベクトル)1枚に入れて渡す。
- ボトルネック:文が長いほどメモ1枚に入りきらず、翻訳が悪くなる。