Seq2Seq(Sequence to Sequence)は、入力系列を別の出力系列へ変換する——エンコーダが「読み」、デコーダが「書く」——NLPの設計パターンです。機械翻訳で英語文→日本語文、要約で長文→短文——本記事はRNNの数式より、「なぜ入り口と出口を分けたか」とAttentionが何を直したかに焦点を当てます。
試験で問われる見方
Seq2Seqの定義は「入力系列を別の出力系列へ変換するモデル構成」です(G-255)。機械翻訳(G-340)、要約、対話など系列変換タスクの代表枠組みとして押さえます。
誤答では、Seq2Seq=畳み込み(G-255)、Seq2Seq=GAN(G-372)、Seq2Seq=クラスタリング(G-255)など、別タスクとのすり替えに注意します。
二つの系列
画像分類は「画像→ラベル1つ」、物体検出は「画像→箱のリスト」——系列変換は形が違います。入力も出力も順序を持つ系列で、長さも異なり得ます。
| 例 | 入力系列 | 出力系列 |
|---|---|---|
| 機械翻訳 | 英語の単語列 | 日本語の単語列 |
| 要約 | 長い記事 | 短い要約文 |
| 対話 | ユーザーの発話列 | システムの応答列 |
TF-0104が示すように、文章はシーケンスデータ——要素の順序が意味を持つ——として扱われます。Seq2Seqは、その入り口系列と出口系列の対応を学習する枠組みです。
エンコーダとデコーダ
Seq2Seqの骨格はエンコーダ(Encoder)とデコーダ(Decoder)の二部構成です。
- エンコーダ — 入力系列を左から右へ読み、文脈を内部表現(文全体の要約ベクトルなど)に圧縮
- デコーダ — 内部表現を受け取り、出力系列を1トークンずつ生成
- 学習 — 正解出力を使う教師強制(G-244)で安定化することも
実装の中身はRNN、LSTM、Transformerなど時代とともに変わりますが、試験では「エンコーダが読み、デコーダが書く」——という役割分担が得点源です。
典型タスク
Seq2Seqが語られるのは、だいたい次のような系列→系列タスクです。
- 機械翻訳 ある言語の文を別言語の文へ(G-340)。統計的MTからニューラルMTへ発展(G-345)
- 要約 長文を短い文へ圧縮——BARTなどの事前学習モデルもこの系譜
- 対話・チャットボット ユーザー発話から応答文を生成
- 音声認識(CTC以外) 音声特徴列から文字列へ——CTCは別の整列手法
一方、BERTのマスク言語モデル(穴埋め)やGPTの「続きを書く」生成は、入出力の系列が同じ言語・同じ形式——Seq2Seqの「別系列への変換」とは整理を分けると混乱しにくいです。
ボトルネックとAttention
初期のSeq2Seqは、エンコーダの最後の隠れ状態1つに文全体の意味を押し込む——いわばボトルネック——設計でした。長い文ほど情報が圧縮されすぎ、翻訳精度が落ちる問題がありました。
Attentionは、この弱点を直す鍵です。デコーダが出力するたびに、入力系列のどの位置を参照するかを重み付け(G-282のSource-Target Attention)——エンコーダの全ステップを「見える化」して渡すイメージです。
- 課題 — 固定長ベクトル1つでは長文を表現しきれない
- Attention — 入力の各位置への注目の重みを動的に計算
- 結果 — 機械翻訳の精度向上 → Transformerへ
Transformer以降の整理
| 観点 | 古典Seq2Seq(RNN系) | Transformer時代 |
|---|---|---|
| 中核 | RNN/LSTMの逐次処理 | Self-Attentionの並列処理 |
| 枠組み | エンコーダ・デコーダは継続 | 翻訳モデルはEncoder-Decoder型Transformer |
| GPT系 | — | デコーダのみで「続き生成」(厳密なSeq2Seqとは別整理も) |
| 試験 | G-255の定義は不変 | Attention・Transformerと関連して理解 |
Seq2Seqは消えたわけではなく、タスクの型として残っています。モデル名(BERT、GPT、BART)と、タスクの型(Seq2Seq、分類、生成)を別軸で整理すると、G-337やG-323のようなすり替え問題にも強くなります。
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| Seq2Seq=畳み込み | 系列変換の枠組み vs 画像の局所演算(G-255) |
| Seq2Seq=GAN | 系列変換 vs 生成器・識別器の敵対学習(G-372) |
| Seq2Seq=Transformer | タスクの型 vs 具体的アーキテクチャ |
| Seq2Seq=CNN | 系列変換 vs 画像認識の代表(G-239) |
| Seq2Seq=クラスタリング | 教師ありの系列変換 vs 教師なしのグループ分け |
| 入出力の長さは常に同じ | 翻訳・要約では異なる長さが普通 |
よくある質問
Seq2Seqは何の略ですか?
Sequence to Sequence(シーケンス・トゥ・シーケンス)の略です。入力側の系列(例:英語文)を、出力側の別系列(例:日本語文)へ変換するモデル構成を指します。エンコーダが入力を読み、デコーダが出力を逐次生成する構造が典型です。
Seq2SeqとTransformerは同じですか?
同じではありません。Seq2Seqは入力系列を出力系列へ変換する枠組み(設計パターン)です。TransformerはSelf-Attentionを中核とする具体的なモデルアーキテクチャで、機械翻訳などのSeq2Seqタスクに適用されることもあります。
Seq2Seqは畳み込み操作ですか?
いいえ。Seq2Seqは系列変換のモデル構成です。畳み込みは画像などの局所特徴抽出に使われる操作であり、概念もタスクも異なります(G-255)。