自注意力 · 位置编码 · 多头注意力 · 编码器架构
一个问题贯穿全课:注意力,凭什么能取代循环?
传统 RNN / LSTM 逐步递归处理文本,无法并行、长程依赖薄弱。2017 年 Vaswani 等人提出 《Attention is All You Need》,彻底摒弃循环结构。
Transformer 让每个 token 直接与序列中所有 token 交互,一步捕捉全局依赖,训练可大规模并行 —— 这正是打破顺序瓶颈的关键。
从依赖隐状态串行传递,到全局并行的注意力加权 —— 序列建模范式被改写。
输入嵌入分别乘 WQ、WK、WV,得到 Q、K、V 三组向量。
Q 与 K 点积得相似度分数,除以 √dk 进行缩放,稳定梯度。
对分数做 Softmax,转为权重分布,越相关权重越大。
用权重对 V 加权汇聚,得到该位置的上下文表示。
自注意力对位置不敏感:交换 token 顺序,交互结果不变。所以必须主动注入位置信息。
正弦编码使相对位置可由线性关系表达,便于外推到训练时未见的更长序列。
单头注意力只能捕捉一种关联模式。多头注意力把 Q/K/V 投影到 h 个低维子空间,并行计算后拼接再投影。
常用 h=8,每头维度 dk=dv=dmodel/h。不同头学习不同视角 —— 句法、语义、指代各司其职。
主谓关系
介词短语
整体平滑
指代消解
编码器由 N=6 个相同层堆叠。每层两个子层:多头自注意力 + 逐位置前馈网络(FFN),每个子层后紧跟残差连接 + 层归一化。
梯度直通,缓解深层网络梯度消失。
稳定激活分布,加速收敛。
各层不共享权重,逐层抽象更深特征。
编码器角色:将输入序列编码为上下文感知的连续表示,供下游解码器或任务头使用。
当 dk 增大时,QKT 点积的方差会随之增大,使 Softmax 进入饱和区,梯度极小。下列哪一项是正确解释?
提供全局视野,token 间直接交互,捕捉长程依赖。
注入顺序意识,弥补注意力的位置不敏感性。
多个子空间并行,实现多视角表征学习。
残差 + LayerNorm 保证可大规模、可深层训练。
这些组件已被 BERT、ViT、GPT 等模型继承,成为现代深度学习的基石。