---
title: "Decoder (Transformer) — 解码器"
source: "https://systems-analysis.info/int/Decoder_(Transformer)_%E2%80%94_%E8%A7%A3%E7%A0%81%E5%99%A8"
wiki: "systems-analysis.info/int"
article: "Decoder_(Transformer)_—_解码器"
language: "zh"
categories:
  - "Category:Chinese"
  - "Category:Large language models"
  - "Category:LLM core concepts"
  - "Category:Machine learning"
  - "Category:Systems analysis terminology"
revision_id: 1582
wiki_created_at: 2026-09-06T22:50:53Z
wiki_modified_at: 2026-09-06T22:50:53Z
downloaded_at: 2026-09-07T22:46:42Z
---

# Decoder (Transformer) — 解码器

**解码器**（Decoder）是在机器学习和深度学习中的一个神经网络组件，其主要任务是将编码表示（例如，从编码器接收的上下文向量或隐藏状态序列）转换为输出数据序列（例如，文本或图像）。解码器通常以自回归方式逐个生成输出数据。

在更广泛的意义上，根据信息论，解码器是任何将编码数据转换回其原始或可理解格式的设备或算法。

## 概念与用途

如果说编码器负责**理解**和压缩输入数据，那么解码器则负责**生成**和展开输出数据。它接收一个紧凑且信息丰富的表示，并将其顺序地转换为所需的格式，无论是另一种语言的句子、图像的文本描述，还是一段音乐的音符序列。

大多数解码器的一个关键特性是其**自回归**（autoregressive）性质：为了生成序列中的下一个元素（例如，一个词或一个像素），它们既使用编码表示，也使用所有先前已生成的元素。

## 不同架构中的解码器

### 自动编码器中的解码器

在**自动编码器**（autoencoder）架构中，解码器执行与编码器相反的任务：

1.  **编码器**将输入数据压缩成一个隐藏表示。
2.  **解码器**接收这个隐藏表示，并尝试从中恢复（重构）原始数据。

训练这样的网络后，可以通过向解码器输入来自潜空间（latent space）的向量来单独使用它生成新数据。

### 循环神经网络（RNN/LSTM）中的解码器

在基于 RNN 或 LSTM 的经典序列到序列（seq2seq）模型中，解码器是一个循环网络，它逐个词元（token）地生成输出序列。

- **工作原理：**解码器由编码器的最终隐藏状态（上下文向量）初始化。在每个步骤中，它接收先前生成的词元和其自身的上一个隐藏状态作为输入，然后生成下一个词元并更新其状态。这个过程持续进行，直到生成一个特殊的序列结束词元（\`\<EOS\>\`）。

### Transformer 架构中的解码器

基于**Transformer**架构的解码器同样以自回归方式工作，但其内部结构有所不同。它由$N$个相同的层堆叠而成，每个层包含三个主要子层：

1.  **屏蔽多头自注意力（Masked Multi-Head Self-Attention）：**该机制的工作方式与编码器中的自注意力机制类似，但有一个重要区别——**屏蔽**（masking）。屏蔽操作防止每个位置“关注”到序列中后续的位置。这确保了对位置$i$的预测仅依赖于位置$< i$之前已知的输出，从而保持了自回归属性。
2.  **多头交叉注意力（Multi-Head Cross-Attention）：**这是连接解码器和编码器的关键机制。在这里，查询（Query）来自解码器的前一个层，而键（Key）和值（Value）则来自编码器的输出表示。这使得解码器在生成的每一步都能聚焦于输入序列中最相关的部分。
3.  **前馈神经网络（Feed-Forward Network）：**与编码器中使用的网络类似。

## 基于解码器的模型类型

### 编码器-解码器模型

这是经典的架构，其中编码器和解码器协同工作。

- **工作原理：**编码器创建输入数据的表示，解码器利用该表示生成输出数据。
- **示例：**原始 Transformer、T5、BART。

### 仅解码器（Decoder-Only）模型

这些模型已成为生成式 AI 领域的主流，它们仅使用 Transformer 解码器的堆栈。

- **工作原理：**由于没有编码器，这类模型中不存在与编码器的交叉注意力。模型纯粹以自回归模式运行，根据同一序列中所有先前的词元来预测下一个词元。输入的提示词和已生成的文本被一同处理。
- **应用：**非常适用于需要接续给定文本的任务（文本生成、对话系统、聊天机器人）。
- **示例：**GPT 系列、LLaMA、Claude。

## 与编码器的连接

编码器和解码器的交互是转换任务的基本原则。

- **编码器**将输入序列的信息压缩成一组向量。
- **解码器**利用这组向量来顺序生成一个新的序列。

交叉注意力允许解码器在每一步“咨询”编码器，以了解当前应关注输入文本的哪一部分。例如，在翻译一个句子时，解码器在生成德语单词时，可以“查看”输入中对应的英语单词。

## 参见

- GPT

## 参考文献

- Vaswani, A. et al. (2017). *Attention Is All You Need*. NIPS.
