为什么需要注意力机制
在处理一句话或一段文本时,并非每个词都同等重要。传统循环神经网络(RNN)按顺序逐个读入,靠一个"记忆"向量把历史信息压在一起,句子一长就容易遗忘前面的内容。注意力机制(Attention)换了个思路:让模型在每一步都能"回头看"整段输入,并动态决定该重点关注哪些部分。
查询、键、值:一个直觉比喻
注意力常被拆成三个角色:查询(Query)、键(Key)和值(Value)。可以把它想成一次检索:你带着一个问题(Query)去比对一堆标签(Key),谁的标签和问题越匹配,就从谁那里取走更多信息(Value)。匹配程度用相似度算出来,再做归一化,就得到了"注意力权重"。
自注意力:让每个词看整句话
当查询、键、值都来自同一段输入时,就得到了自注意力(Self-Attention)。以句子"小猫追着球跑,因为它很开心"为例,模型在理解"它"时,可以通过注意力权重把更多关注分配给"小猫"而不是"球",从而正确判断指代关系。这正是它能捕捉长距离依赖的关键。
多头注意力
只用一套注意力,模型往往只能关注一种关系。多头注意力(Multi-Head Attention)并行运行多套 Query/Key/Value,让不同的"头"分别关注语法、指代、位置等不同层面的模式,最后拼接起来。Transformer 之所以能成为大语言模型的骨架,注意力机制功不可没。
一句话总结
注意力机制解决的是"该看哪里"的问题:它让模型不再平均对待所有输入,而是根据当前任务动态分配关注度。从机器翻译到大模型对话,它都是最核心的组件之一。
【参考来源】综合整理自公开发布的机器学习教材与行业资料。
机器学习