摘要
注意力机制(Attention Mechanism)是一种在深度学习和人工智能中广泛使用的技术,旨在使模型在处理信息时能够重点关注重要的部分,从而提升任务的效率和精度。它最初应用于自然语言处理(NLP),并迅速扩展到计算机视觉(CV)、语音处理等领域。
什么是注意力机制?
注意力机制模仿了人类的注意力分配过程。在面对大量信息时,人类不会对每一部分内容平均分配注意力,而是会优先关注重要的部分。计算机通过注意力机制实现类似的功能,即在处理输入数据时动态地分配更多资源到对当前任务最重要的部分。
例如,在机器翻译中,注意力机制使模型能够聚焦于源句子中与目标词汇最相关的部分,而不是处理整个句子。
LlaMA 中注意力机制的数学定义
LLaMA 的注意力机制采用标准 Transformer 的自注意力结构,其计算公式为:
注意力机制公式
Attention ( Q , K , V ) = softmax ( Q K ⊤ d ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^\top}{\sqrt{d}}\right)V Attention(Q,K,V)=softmax(dQK⊤)V
其中:
- Q = X W Q Q = XW_Q Q=XWQ:查询(Query),通过输入 X X X 和权重矩阵 W Q W_Q WQ投影生成。
- K = X W K K = XW_K K=XWK:键(Key),通过输入 X X X 和权重矩阵 W K W_K WK投影生成。
- V = X W V V = XW_V V=XWV:值(Value),通过输入 X X X 和权重矩阵 W V W_V WV投影生成。
- W V ∈ F d i m head × d i m W_V \in \mathbb{F}^{dim_{\text{head}}\times dim} WV∈Fdimhead×dim, d i m head = d i m t h e n u m b e r o f h e a d dim_{\text{head}}=\frac{dim}{the\ number\ of\ head} dimhead=the number of headdim
- softmax 是计算注意力分数的归一化函数。
- 值得注意的是, d d d是 h i d d e n _ s i z e n u m _ a t t e n t i o n _ h e a d s \frac{hidden\_size}{num\_attention\_heads} num_attention_headshidden_size,也是 Q / K / V Q/K/V Q/K/V 向量的长度。进行这种缩放是为了防止大值在下一步中主导标准化(softmax)。