03 注意力机制(上):从 RNN 困境到自注意力与缩放点积注意力
03 注意力机制(上):从 RNN 困境到自注意力与缩放点积注意力系列第 3 篇。前两篇我们搞定了"文本 → 数字"的流水线。这一篇进入 LLM 的心脏——注意力机制(Attention)。本篇对应《从零构建大模型》第 3 章前半部分:为什么 RNN 需要注意力、自注意力的直觉、注意力分数/权重/上下文向量三步、查询-键-值(QKV)投影,以及缩放点积注意力的完整公式与代码。1. 为什么需要注意力?1.1 RNN 的"信息瓶颈"经典的序列模型(RNN/LSTM)用编码器-解码器结构做翻译等任务。编码器把整个源句子逐步压缩成一个隐藏状态向量h,解码器只凭这一个向量生成目标。问题很明显:长句子中,早期信息经过多步压缩后严重失真。设想一个 40 词的句子,第 1 个词的信息要经过 39 次"更新隐藏状态"才能到达解码器,每次都经过非线性变换,信息早已衰减得面目全非。解码器每一步只能看到同一个"压缩包"
