【エンコーダー・デコーダー】

エンコーダー・デコーダー とは?

💡 「理解してから話す」を機械で再現した、AIの二人三脚アーキテクチャ
📌 このページのポイント
エンコーダー・デコーダー構造 猫が座っている 入力 エンコーダー 意味を圧縮 潜在表現 デコーダー 意味を展開 A cat is sitting 出力 ①入力 ②エンコード ③中間表現 ④デコード ⑤出力 応用例:機械翻訳、テキスト要約、画像キャプション 入力を圧縮して理解し、別の形式で出力する
エンコーダー・デコーダー構造 ― 入力の圧縮と復元
ひよこ ひよこ

エンコーダー・デコーダーってどういう仕組み?

ペンギン先生 ペンギン先生

簡単に言うと「読む係」と「書く係」の二人組だよ。エンコーダーが入力(たとえば日本語の文)を読んで意味をギュッと圧縮した表現にまとめる。デコーダーがその圧縮された意味を受け取って、別の形(英語の文)で書き出すんだ

ひよこ ひよこ

なんでわざわざ一回圧縮するの?そのまま変換すればよくない?

ペンギン先生 ペンギン先生

いい質問だね。日本語と英語って語順も文法も全然違うでしょ?単語を一対一で置き換えても自然な文にならない。だから一回「意味そのもの」に変換してから、出力側の言語のルールで組み立て直すんだよ。これが中間表現の役割なんだ

ひよこ ひよこ

Transformerもエンコーダー・デコーダーなの?

ペンギン先生 ペンギン先生

そうだよ。2017年の「Attention Is All You Need」論文はまさにエンコーダー・デコーダー構造なんだ。ただ面白いのは、その後の発展で分離されたこと。BERTはエンコーダーだけ使って文の理解に特化、GPTはデコーダーだけ使って文の生成に特化してるんだよ

ひよこ ひよこ

えっ、片方だけでも動くの?

ペンギン先生 ペンギン先生

動くんだよ。タスクによって必要な部分が違うからね。文の分類感情分析みたいな「理解系」はエンコーダーだけで十分。文章生成みたいな「生成系」はデコーダーだけで十分。両方必要なのは翻訳みたいに「理解してから生成する」タスクだね

ひよこ ひよこ

じゃあ今はデコーダーだけのGPT系が主流なの?

ペンギン先生 ペンギン先生

今のLLMブームではそうだね。でもベテランでも意外と見落としがちなのが、エンコーダー・デコーダー型の方が効率的なタスクがまだたくさんあるってこと。たとえばGoogle翻訳やWhisper(音声認識)は今でもエンコーダー・デコーダー構造だよ。デコーダーonly型は入力も出力トークンとして処理するから、翻訳みたいなタスクでは実は計算効率が悪いんだ。アーキテクチャの選択は「流行り」じゃなくて「タスクとの相性」で決めるのが正解だよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「エンコーダー・デコーダー」って出てきたら「入力を理解する係と出力を作る係の分業体制」と思えればだいたいOK!
📖 おまけ:英語の意味
「Encoder-Decoder」 = 符号化器・復号化器
💬 もともとは通信工学の用語で、信号を圧縮して送って復元するって意味だよ。それがニューラルネットの世界に輸入されて「意味を圧縮→展開」って使い方になったんだ
← 用語集にもどる