Transformer 是一种神经网络架构,它使用一种称为“注意力”的机制来处理序列数据,例如文本。Transformer 在 2017 年的论文“Attention Is All You Need”中被提出,通过同时分析输入的所有部分,避免了早期模型(如 RNN 和 LSTM)的序列处理限制。其核心思想是自注意力机制,它允许模型权衡句子中不同单词相互之间的重要性。例如,在句子“The cat sat on the mat”(猫坐在垫子上)中,“cat”(猫)可能与“sat”(坐)和“mat”(垫子)紧密相关,而“on”(在…上)则不那么重要。这使得模型能够比序列模型更有效地捕捉长程依赖和上下文。
Transformer 由两个主要组成部分构成:编码器和解码器。编码器处理输入数据(例如,一个句子),并构建一个捕捉上下文关系的表示。解码器使用此表示生成输出(例如,一个翻译后的句子)。编码器和解码器层都包含多头注意力模块(并行运行多个自注意力操作)和前馈网络。一个关键创新是位置编码,它将关于 token(单词或子词)顺序的信息注入到模型中,因为 Transformer 本身缺乏固有的序列处理能力。例如,位置编码可以使用正弦和余弦函数以数字方式表示 token 的位置,从而使模型能够在不依赖循环的情况下理解词序。
Transformer 已成为自然语言处理(NLP)的基础。例如,BERT 等模型使用编码器堆栈执行文本分类等任务,而 GPT 则使用解码器堆栈进行文本生成。与 RNN 不同,Transformer 在训练期间并行处理所有 token,这使得它们在 GPU 上训练速度更快。它们也能更好地扩展到大型数据集,支持具有数十亿参数的模型。一个实际示例是机器翻译:编码器将输入句子(例如,英语)转换为上下文化的表示,然后解码器逐步生成翻译后的输出(例如,法语),并使用注意力机制聚焦于输入的相关部分。这种架构的效率和灵活性使其成为现代 NLP 系统的标准。