0%
🎓 Academic

Attention Is All You Need 精读笔记

Transformer 原始论文的结构梳理,重点是多头注意力与位置编码。

Vaswani, Shazeer, Parmar, et al.

NeurIPS 2017 · 2017

核心思想

完全抛弃循环与卷积,仅用注意力机制建模序列依赖

缩放点积注意力

Attention(Q,K,V)=softmax(QKdk)V\mathrm{Attention}(Q, K, V) = \mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V

除以 dk\sqrt{d_k} 是为了防止点积过大导致 softmax 进入梯度极小的区域。

多头注意力

Q,K,VQ, K, V 各自线性投影 hh 次,并行做注意力后拼接:

MultiHead(Q,K,V)=Concat(head1,,headh)WO\mathrm{MultiHead}(Q,K,V) = \mathrm{Concat}(\mathrm{head}_1,\dots,\mathrm{head}_h)W^O

位置编码

def positional_encoding(pos, i, d_model):
    angle = pos / (10000 ** (2 * (i // 2) / d_model))
    return math.sin(angle) if i % 2 == 0 else math.cos(angle)

我的疑问

  • 为什么正弦编码而不是可学习编码?论文说效果相近,但正弦能外推到更长序列。
  • 后续工作(RoPE、ALiBi)如何改进?留待补充。
BibTeX
@inproceedings{vaswani2017attention,
  title={Attention is all you need},
  author={Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and others},
  booktitle={NeurIPS},
  year={2017}
}