エンコーダとデコーダの役割

Transformerのエンコーダとデコーダ、それぞれの役割と使い分けを理解しましょう。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針
香月 リサ 先生(笑顔) 香月 リサ 先生

前回、Transformer にはエンコーダとデコーダの2つのブロックがあると触れたわね。
今日はそれぞれ何をしているか、丁寧に見ていきましょう。

深見 つむぎ(普段) 深見 つむぎ

エンコーダは入力文を「理解」する側、デコーダは出力を「生成」する側、というざっくりしたイメージで合っていますか?

香月 リサ 先生(普段) 香月 リサ 先生

正解。
エンコーダは入力テキスト全体を双方向に Self-Attention で処理して、各単語の文脈付き表現を作るの。
たとえば「彼は銀行に行った」の「銀行」が金融機関かどうかは、前の主語だけじゃなく後ろの「行った」まで見ないと判断しにくいでしょう?
エンコーダは前も後ろも同時に見られるの。

雪村 ましろ(笑顔) 雪村 ましろ

あっ、人間が難しい文を読むときと同じだぁ!
前後を行ったり来たりするもんねぇ。

深見 つむぎ(普段) 深見 つむぎ

ましろちゃん、いい直感だね。
私も同じこと思っていました——あ、それ私が言おうとしていたのに。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

つむぎ、競争心強いね。
うそっ!?
ちょっと笑った。
じゃあデコーダは?

香月 リサ 先生(普段) 香月 リサ 先生

ふふ。
デコーダは出力を1単語ずつ左から右に作っていくの。
「すでに生成した単語」と「エンコーダが作った表現」を参照しながら、次の単語を予測するわ。
翻訳なら、原文(エンコーダ側)と訳文の既出部分(デコーダ側)を同時に見ながら、次の訳語を決めていく——そんな動きね。

深見 つむぎ(普段) 深見 つむぎ

未来の単語はマスクで隠して見えなくする——これを因果的マスクと言いますよね。

香月 リサ 先生(普段) 香月 リサ 先生

そう。
マスクしないとカンニングになって、学習が成立しないの。

雪村 ましろ(笑顔) 雪村 ましろ

テストで答えを隠して解くのと同じだねぇ。
えへへ、AI もカンニング禁止っ!

戸倉 ジャスミン(普段) 戸倉 ジャスミン

要は、エンコーダは「読む専門」で、デコーダは「書く専門」ってこと?
BERTはエンコーダのみで文理解系(検索・分類)に強く、GPTはデコーダのみで生成系(対話・要約)に強い——でOKですよね?

深見 つむぎ(普段) 深見 つむぎ

翻訳や要約など「入力を理解して別の出力を生成する」タスクは、エンコーダ・デコーダ両方を使う T5 や BART など、ということですね。
ただし現在のLLM主流はデコーダ単独型(GPT方式)で、エンコーダ型(BERT)は検索など別領域で生き残っています。

香月 リサ 先生(笑顔) 香月 リサ 先生

完璧なまとめね、つむぎさん。
あらあら、今日はつむぎさんが先生をやれそうね。

雪村 ましろ(笑顔) 雪村 ましろ

ふぇぇ〜、つむぎちゃんかっこいい…!

香月 リサ 先生(普段) 香月 リサ 先生

試験では「BERT=エンコーダのみ」「GPT=デコーダのみ」「T5/BART=両方」「双方向・自己回帰・因果的マスク」を覚えて。
キーワードを押さえれば設問で迷わないわ。
そして現在の LLM 主流はデコーダ単独型(GPT方式)で、入力+指示+出力をひとつの列として扱うことで、幅広いタスクに対応しているの。
BERT 系は検索・分類・埋め込み生成など理解系で現役、という棲み分けを覚えておくと全体像がクリアになるわ。

確認クイズ

Transformer のエンコーダの特徴として最も適切なものはどれか。

  1. 出力を1単語ずつ生成する
  2. 入力を双方向に処理して文脈を理解する
  3. 画像を分類する
  4. 音声を認識する
こたえを見る

正解: 2. 入力を双方向に処理して文脈を理解する

エンコーダは入力全体を双方向に Self-Attention で処理し、文脈を含む表現を作ります。1単語ずつ生成するのはデコーダ、画像分類・音声認識は別モデルの役割です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。