ジャスミンちゃんが今日の本題を『誤解』してしまうところから始まります。Seq2Seqはエンコーダとデコーダの2つで構成されるモデル。翻訳や要約の基礎になった重要アーキテクチャで、Transformerの直接の祖先です。
先生、Seq2Seqって、AIがシーケンスをシーケンスに変換するんですよねぇ? なんだかピコピコゲームみたいで可愛い名前ですぅ。
Seq2Seqってあれでしょ、シーケンスからシーケンスを作るやつ……。
要は、エンコーダで全部覚えて、デコーダが丸暗記したのを垂れ流すやつじゃん?
うーん、『丸暗記して垂れ流す』は違うわね。
いや先生、ちょっと待って。
『丸暗記』って言い方は確かに雑だったけどさ、もう一つ気になることがあるんだよね。
前に先生、『エンコーダが固定長ベクトルに圧縮する』って言ってたじゃん? でもあたしが調べたら、Attention付きSeq2Seqだと、固定長ベクトルじゃなくて各時刻の隠れ状態を全部使うらしいよ?
あらあら、ジャスミンちゃん、よく調べたわね。
確かにそこは正確に言うべきだったわ。
初期のSeq2Seq (2014年 Sutskeverら) は固定長ベクトルに圧縮していたけれど、2015年のBahdanauらのAttention付きSeq2Seqで、デコーダが各時刻のエンコーダ隠れ状態を参照できるようになったのよ。
訂正ありがとう、ジャスミンちゃん。
ジャスミンちゃん、冴えてるじゃない……。
つまりSeq2Seqは時代ごとに進化していて、現代のTransformerはその発展形と位置づけられる、という理解で合っていますか?
しっかり整理しましょう。
Seq2Seqは入力系列を理解するエンコーダと、そこから別の系列を生成するデコーダの2つで構成されるモデル。
英語を聞いて理解し (エンコーダ)、日本語で話す (デコーダ) 通訳のイメージね。
わぁ、すごいですぅ! 翻訳だけじゃなくて、文章要約や対話にも使えるんですよねぇ? 入力と出力の長さが違ってもいいなんて、おもしろそうっ!
そう、チャットボット、文章要約、音声認識、画像キャプション生成など、系列から系列への変換が必要なタスク全般で使われたの。
2017年に登場したTransformerの先駆けになった重要な考え方ね。
つまりAttention機構はSeq2Seqの弱点を補う形で生まれ、やがて『Attentionだけで十分』というTransformerへ発展したということですね。
Google翻訳が2016年にSeq2Seqベースのニューラル機械翻訳に切り替わって、一気に翻訳品質が改善したというニュースも有名です。
へぇ〜、翻訳サービスの裏側、急に身近に感じてきた! あたしが先生を訂正できる日が来るとはねぇ。
ジャスミンちゃんの指摘があったから、この説明はより正確になったのよ。
ありがとうね。
確認クイズ
Seq2Seqモデルを構成する2つの主要部分は何か?
- 入力層と出力層
- CNNとRNN
- エンコーダとデコーダ
- 教師モデルと生徒モデル
こたえを見る
正解: 3. エンコーダとデコーダ
Seq2Seqはエンコーダ (入力系列を内部表現に変換) とデコーダ (内部表現から出力系列を生成) の2つで構成されます。Attention機構の追加により長文翻訳の精度が大きく向上しました。