エンコーダー・デコーダー
Encoder-Decoder
入力を内部表現に変換するエンコーダーと、それを出力に戻すデコーダーからなるモデル構造。翻訳や要約で使われる。
エンコーダー・デコーダーとは
エンコーダー・デコーダー(Encoder-Decoder)は、入力を内部的な数値表現に変換するエンコーダーと、それを目的の形式の出力に戻すデコーダーの2つから構成されるモデル構造です。
機械翻訳や要約、音声認識など**「ある形式から別の形式に変換するタスク」**で広く使われます。
役割
- エンコーダー: 入力文(例: 英語)を読み込み、意味を凝縮したベクトル表現に変換
- デコーダー: エンコーダーの出力を受け取り、目的の出力(例: 日本語の翻訳)を1語ずつ生成
間をAttentionでつなぐことで、デコーダーは出力の各時点で入力のどの部分に注目すべきかを動的に決められます。
主な用途
- 機械翻訳: 英→日のような言語間変換(元祖Transformerはこの用途)
- 要約: 長文を短い要約文に変換
- 音声認識: 音声波形をテキストに変換
- 画像キャプション: 画像を説明文に変換
他との関係
- ChatGPTなどGPT系はデコーダーのみ(文章生成特化)
- BERT系はエンコーダーのみ(文の理解・分類特化)
- T5やBARTはエンコーダー・デコーダー両方を持つ(変換タスク向け)
目的に応じて構造が選ばれており、Transformer系アーキテクチャの基本形の1つです。
