# 从头开始解释AI Agent（二）之Transformer 架构

By [WEIWEI](https://paragraph.com/@hiweiwei) · 2024-12-30

---

要说这一波世界的AI浪潮崛起的最根本的技术，我认为最重要的就是Transformer架构了，但是现在架构这个词被滥用了，什么电子垃圾都可以称之为架构，我听到的AI Agent架构（或者叫框架）就包括：Swarms，Eliza，Zerebro，ARC等等，这些简单的软件设计被称为架构，就像之前的DEFI项目，跨链桥项目，一言不合就叫协议，还类比TCP/IP，真是恬不知耻。说实话这种软件设计就是web2最简单的软件设计，没有一毛钱创新，和当年DEFI智能合约相比啥也没有。当然这不妨碍我们炒币。 回归主题，我们今天来解释一下AI Agent是怎么理解人类语言的核心技术--Transformer 架构，GPT 系列（Generative Pre-trained Transformer）就是基于Transformer 架构的生成式语言模型，能够理解并生成自然语言。当然其他的主流大模型都是基于此来理解人类语言的。

**Transformer 的主要特点**
---------------------

*   完全基于注意力机制：与传统的循环神经网络（RNN）或卷积神经网络（CNN）不同，Transformer 不依赖序列计算，而是通过注意力机制全局建模输入和输出之间的关系。
    
*   并行计算能力：由于移除了序列依赖性，Transformer 支持更高效的训练和推理。
    
*   高度可扩展性：通过堆叠多层自注意力和前馈网络实现更深的模型。
    

T**ransformer 的简要过程（这里偏技术，不想看的不用看）**
------------------------------------

**(一) 输入处理**

嵌入层：将输入序列（如句子中的单词）转化为固定维度的向量表示。

位置编码（Positional Encoding）： 为向量添加位置信息，帮助模型区分序列中单词的顺序。

**(二) 编码器（Encoder）处理**

• 输入：处理后的词向量序列。

主要操作：

1\. 自注意力机制（Self-Attention）：

• 计算序列中每个词与其他词之间的相关性，捕获全局上下文。

• 结果是每个词的加权表示，权重由注意力分数决定。

2\. 前馈网络（Feed-Forward Network, FFN）：

• 对自注意力的输出进行非线性变换，进一步抽象特征。

3\. 残差连接与归一化（Residual + Layer Normalization）：

• 稳定训练，防止梯度消失或爆炸。

堆叠多层：编码器由多个相同的层组成，每层提取更高阶特征。

**(三)** **解码器（Decoder）处理**

输入：目标序列的前缀（训练时是已知的部分，推理时是已生成的部分）。

• 主要操作：

1.  自注意力机制：类似于编码器，但只关注目标序列中已生成的部分（通过遮挡机制实现）。
    
2.  编码器-解码器注意力（Encoder-Decoder Attention）：
    
    • 将解码器的中间状态与编码器输出结合，获取输入序列的上下文信息。
    
3.  前馈网络与归一化：与编码器类似。
    

**(四) 输出生成**

• 生成方式：解码器每次生成一个词（或字符），作为下一次输入的前缀。

*   预测逻辑： 根据目标任务（如翻译、问答等），通过 softmax 函数计算概率分布，从中选取最可能的输出。
    

大白话简单解释Transformer
------------------

Transformer里面最核心的机制解释自注意力机制，这个机制是帮助AI理解句子中每个词之间的关系的核心。

让我们通过一个简单的例子来说明**自注意力（Self-Attention）** 的实际应用。在这里，我们以句子 “The animal didn’t cross the street because it was too tired.” 为例，展示自注意力是如何帮助模型理解句子中词语间的关系。

输入句子分词后为：{\[“The”, “animal”, “didn{\\prime}t”, “cross”, “the”, “street”, “because”, “it”, “was”, “too”, “tired”, “.”\]}

生成 Query, Key 和 Value

对于每个词：

Query：表示当前词要获取的信息。

Key：表示当前词提供的信息。

Value：表示当前词的实际信息。

例如：

对于 “it”，Query 是 “it” 想要寻找相关的信息（谁是指代对象）。

对于 “animal” 和 “street”，Key 表示它们提供的信息（它们的上下文语义和特性）。

*   计算注意力分数
    

对 “it” 的 Query，与每个词的 Key 计算相似性（注意力分数）：

可能的结果（假设经过归一化）：

• “animal”：0.8

• “street”：0.1 • 其他词：更低。

生成上下文表示：

用这些注意力分数对 Value 矩阵进行加权求和，生成 “it” 的上下文表示的注意力得分：

结果分析：

“it” 的上下文向量包含更多 “animal” 的信息，因为注意力机制认为它与 “it” 的关系更紧密。 具体应用场景

其他使用例子
------

1.  机器翻译：  
    句子翻译中需要捕获长距离依赖关系。  
    例如： • 英文句子 “The cat jumped over the fence.” • 翻译成法语时，“The cat” 对应单个单词 “Le chat”，自注意力机制可以有效捕获这种映射。
    
2.  文本摘要  
    生成句子摘要时，模型需要关注哪些部分的信息更重要。例如： • 输入：“The company announced a new product launch yesterday, attracting significant media attention.” • 输出摘要可能是：“The company launched a new product.”
    
3.  问答系统  
    问题：“What did the animal do?” 上下文：“The animal didn’t cross the street because it was too tired.” • 自注意力可以帮助模型理解 “the animal” 和动作 “didn’t cross” 之间的关系，从而正确回答问题。
    
4.  情感分析  
    输入：“I love this phone because it has an amazing battery life.” • 自注意力可以帮助模型关注 “love” 和 “amazing battery life” 的关系，判断为正面情感。 T
    

Transformer的其他过程如前馈网络，残差连接与归一化，解码器（Decoder）处理都是为了减少误差，增加准确性或者为了语言的编码解码，这里就不多解释了。

---

*Originally published on [WEIWEI](https://paragraph.com/@hiweiwei/ai-agent-transformer)*
