Seq2Seq しーくとぅしーく
Seq2SeqSequence-to-Sequenceエンコーダデコーダ機械翻訳注意機構RNN
Seq2Seqについて教えて
Seq2Seqとは
Seq2Seq(Sequence-to-Sequence) は、2014年にGoogleのSutskeverらが提案した任意長の入力系列を任意長の出力系列に変換するモデルの枠組みです。エンコーダが入力系列を固定長のベクトル(コンテキストベクトル)に圧縮し、デコーダがそのベクトルから出力系列を生成します。
入力と出力の長さが異なっても対応できる点が最大の特徴です。例えば機械翻訳では「日本語5単語→英語7単語」のような変換が必要です。Seq2Seqはエンコーダがすべての入力情報をコンテキストベクトルに蒸留し、デコーダがそこから目標言語を生成します。
当初はRNN(LSTM)ベースで実装されましたが、長い入力に対してコンテキストベクトルの情報損失が問題になりました。これを解決するためにAttention(注意機構) が追加され、さらにAttentionのみにしたTransformerへと発展しました。
Seq2Seqのアーキテクチャ
入力系列: [私] [は] [猫] [が] [好き]
↓
エンコーダ(LSTM)
↓
コンテキストベクトル c
↓
デコーダ(LSTM)
↓
出力系列: [I] [like] [cats] [<EOS>]
| 役割 | モジュール | 処理内容 |
|---|---|---|
| エンコーダ | BiLSTM等 | 入力全体を読み込み文脈ベクトルを生成 |
| コンテキストベクトル | 固定長ベクトル | エンコーダ最終隠れ状態 |
| デコーダ | LSTM等 | コンテキストから出力を1トークンずつ生成 |
| Attention(拡張) | 注意機構 | デコードの各ステップで入力系列の適切な部分に集中 |
歴史と背景
- 2014年:Sutskeverら「Sequence to Sequence Learning with Neural Networks」でLSTM-Seq2Seqを発表
- 2015年:Bahdanauらがアテンション機構をSeq2Seqに追加。機械翻訳の精度が大幅向上
- 2017年:Transformerがアテンションのみで構成されたSeq2Seqを実現し、RNNベースを超える
- 2018年以降:T5・BARTなどTransformerベースのSeq2Seqモデルが主流に
Seq2Seqの応用タスク
| タスク | 入力 | 出力 |
|---|---|---|
| 機械翻訳 | 原語の文 | 翻訳文 |
| 文書要約 | 長い文書 | 短い要約 |
| 対話生成 | ユーザーの発話 | システムの返答 |
| コード生成 | 自然言語の指示 | プログラムコード |
| 音声認識 | 音声特徴量系列 | テキスト系列 |
関連用語
- RNN(再帰型ニューラルネットワーク) — Seq2Seqの最初の実装基盤
- LSTM — Seq2Seqで使われるRNNモデル
- 自己注意機構(Self-Attention) — Seq2Seqを発展させたTransformerの核心
- 自己回帰モデル — Seq2Seqデコーダの動作原理