ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

从注意力机制到 Transformer

从注意力机制到 Transformer 1. 引言在深度学习的发展历程中注意力机制Attention Mechanism与 Transformer 架构的提出具有里程碑式的意义。从最初作为循环神经网络RNN的辅助增强模块到后来独立成为主流架构这一演进过程深刻改变了自然语言处理、计算机视觉等多个领域的研究范式。本文将系统梳理从注意力机制到 Transformer 的完整发展脉络。2. 注意力机制的起源与动机注意力机制的思想最早可以追溯到人类视觉系统的研究。人类在观察图像时并不会均匀地关注所有区域而是会将有限的注意力资源集中在关键部位。这一认知科学中的概念在 2014 年被引入到神经机器翻译领域成为解决长序列建模问题的重要突破口。在传统的序列到序列Seq2Seq模型中编码器将整个输入序列压缩成一个固定长度的上下文向量解码器再基于该向量逐步生成输出。这种设计存在一个明显缺陷当输入序列较长时早期信息会在压缩过程中大量丢失导致翻译质量显著下降。注意力机制正是为了解决这一瓶颈而提出的。3. 注意力机制的核心原理3.1 注意力机制注意力机制的本质是让解码器在生成每个输出时能够动态地关注输入序列中与之最相关的部分而不是依赖单一的固定向量。其核心计算过程可以概括为以下三个步骤四个步骤① 计算相似度查询 Q 与每个键 K 做点积或加性注意力等得到Q 有多关注该词的分数。② 缩放除以 √dkdk 为键的维度。防止点积过大导致 softmax 梯度消失点积随维度线性增长数值变大后 softmax 会饱和。③ softmax 归一化把分数变成总和为 1 的权重分布 a。④ 加权求和用权重 a 对值 V 加权求和得到融合了上下文的输出向量。这种机制使得模型在翻译我 爱 中国时生成China一词能够重点关注中国对应的编码状态而不是被整个句子的平均信息所干扰。注意力权重也因此具有了一定的可解释性研究者可以直观地看到模型在每一步关注了输入的哪些部分。3.2 自注意力机制当Q、K、V 全部来自同一个输入序列 X各自经过不同的线性变换 WQ、WK、WV5. 从 RNN 到 Transformer 的跨越尽管注意力机制显著提升了 RNN 类模型的性能但 RNN 本身的顺序计算特性仍然限制了训练效率。每个时间步的隐状态必须依赖前一步的计算结果这使得长序列的训练难以并行化也容易在反向传播中出现梯度消失或梯度爆炸问题。2017 年Google 团队发表了论文《Attention Is All You Need》提出了 Transformer 架构。这一架构彻底抛弃了循环和卷积结构完全基于注意力机制构建。Transformer 的提出并非一蹴而就而是建立在多头注意力、位置编码、残差连接与层归一化等一系列关键设计之上。6. Transformer 的核心组件6.1 多头注意力机制多头注意力是 Transformer 的核心创新之一。它将查询、键、值向量分别投影到多个不同的子空间在每个子空间中独立执行注意力计算最后将结果拼接并再次投影。这种设计让模型能够同时关注不同位置、不同表示子空间的信息极大地增强了模型的表达能力。多头注意力并行做h 组不同的注意力每组用不同的 WQ,WK,WV即不同的视角再把结果拼接、线性变换。类比卷积神经网络里的多个卷积核——每个核提取一种特征。6.2 位置编码由于 Transformer 不再具有循环结构模型本身无法感知输入序列的顺序信息。为此研究者引入了位置编码将位置信息以正弦函数或可学习参数的形式叠加到输入向量上使模型能够区分不同位置的词语。6.3 残差连接与层归一化为了训练更深层的网络Transformer 在每个子层之后都添加了残差连接并配合层归一化技术。这一设计有效缓解了深层网络训练中的梯度消失问题使得模型可以堆叠到数十层而保持稳定训练。6.4 前馈神经网络在注意力子层之后Transformer 还包含一个逐位置的前馈神经网络对每个位置的表示进行非线性变换进一步提取特征。整个编码器和解码器均由上述子层堆叠而成。7. Transformer 的架构总览Transformer 整体采用编码器-解码器结构。编码器由多个相同的层堆叠而成每层包含多头自注意力子层和前馈网络子层解码器在此基础上额外增加了掩码自注意力子层以及用于关注编码器输出的交叉注意力子层。这种架构带来了两个显著优势一是完全并行化的训练方式大幅提升了训练速度二是长距离依赖建模能力显著增强任意两个位置之间的交互路径长度仅为常数有效缓解了 RNN 中信息传递衰减的问题。
返回列表