Attention Is All You Need 精读笔记
Transformer 原始论文的结构梳理,重点是多头注意力与位置编码。
核心思想
完全抛弃循环与卷积,仅用注意力机制建模序列依赖。
缩放点积注意力
除以 是为了防止点积过大导致 softmax 进入梯度极小的区域。
多头注意力
把 各自线性投影 次,并行做注意力后拼接:
位置编码
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}
}