1行定義
Seq2Seqとは、エンコーダが入力の系列を読み込んでベクトルにまとめ、デコーダがそれをもとに別の系列を1つずつ生成するモデルのことです。
くわしく
Seq2Seq(Sequence-to-Sequence)は、ある系列を別の系列に変換するモデルです。英語の文を日本語の文に変える機械翻訳が代表例です。2014年に、SutskeverらとChoらが、RNNを使ったエンコーダ・デコーダ型のモデルをそれぞれ発表しました。
しくみ
2つのRNNを組み合わせます。
- エンコーダ:入力の単語を1つずつ読み込み、最後の隠れ状態に文全体の情報をまとめます。このベクトルを文脈ベクトルと呼ぶことがあります。
- デコーダ:文脈ベクトルを受け取り、出力の単語を1つずつ生成します。直前に出力した単語を次の時刻の入力に使い、文の終わりを表す記号を出したら止まります。
RNNには、長い系列を扱いやすいLSTMやGRUが使われました。Sutskeverらは、入力文の単語の順番を逆にして読み込ませると、翻訳の精度が大きく上がったと報告しています。
入力を読み終えてから出力を始めるので、入力と出力の長さが違っていてもかまいません。翻訳のほか、文書要約、対話、音声認識などにも応用されました。
学習
学習では、教師強制(teacher forcing)がよく使われます。デコーダの入力に、モデル自身の予測ではなく正解の単語を与える方法です。
弱点とその後
基本形のSeq2Seqは、入力文全体を1つの固定長のベクトルに押し込みます。そのため、文が長くなるほど情報が失われやすくなります。この問題を解決するため、デコーダが出力のたびに入力の各位置を参照するAttentionが加えられました。
2017年のTransformerも、エンコーダとデコーダからなる系列変換のモデルです。ただし、RNNを使わず、Attentionを中心に系列を処理します。
覚え方
「読んでまとめるエンコーダ、まとめから書き出すデコーダ」と覚えます。
G検定での出題
- シラバス項目『Attention』の要点まとめ練習問題 11問技術23大項目:ディープラーニングの要素技術
- シラバス項目『自然言語処理』の要点まとめ練習問題 18問技術27大項目:ディープラーニングの応用例
出題のされ方
エンコーダとデコーダの役割、入力と出力の長さが違ってもよい点、機械翻訳などの用途、入力を固定長のベクトルにまとめる弱点とAttentionによる改善、Transformerとの関係が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Seq2Seqこのページの用語 | エンコーダが入力の系列を読み込んでベクトルにまとめ、デコーダがそれをもとに別の系列を1つずつ生成するモデル |
| Transformer | RNNや畳み込みを使わず、Attentionを中心に系列内の関係をとらえる、2017年に提案されたニューラルネットワーク |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
基本形のSeq2Seqでは、エンコーダが入力を最後まで読み込んだときの隠れ状態が、デコーダが出力を始めるときの手がかりとして渡される。
答えを見る
答え ◯ 正しい
このベクトルは文脈ベクトルとも呼ばれ、入力文全体の情報を1つにまとめたものです。デコーダはこれを出発点に、出力を1語ずつ生成します。
-
Seq2Seqのデコーダは、出力の系列のすべての単語を1回の計算で同時に出力する。
答えを見る
答え × 誤り
デコーダは1単語ずつ生成し、出力した単語を次の時刻の入力に使います。終わりを表す記号を出したところで止まります。
-
Transformerは、エンコーダとデコーダをもたない点で、Seq2Seqとは異なる構造のモデルである。
答えを見る
答え × 誤り
Transformerも、入力を読むエンコーダと出力を生成するデコーダからなる系列変換のモデルです。違いは、RNNを使わず、Attentionを中心に組み立てた点です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目23 Attention)
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目27 自然言語処理)
- Ilya Sutskever, Oriol Vinyals, Quoc V. Le, Sequence to Sequence Learning with Neural Networks (2014)
- Kyunghyun Cho et al., Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation (2014)
- Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio, Neural Machine Translation by Jointly Learning to Align and Translate (2014)