非常著名的Transformer
一句话总结:替代传统的序列转化模型,只用attention(不使用rnn/cnn),可以并行化训练;Attention机制在输入和输出序列中都不会受距离的影响
抛弃循环recurrence模型,只用attention,抽取输入和输出序列之间的全局依赖关系(全局语义信息)
传统的优化方法:1. 计算量(指数增长) 2. 远距离依赖仍然无法捕捉
Transformer计算量减少,但是同时也减少了有效的(分辨率)resolution, Multihead attention来解决这个问题
第一个只用self-attention来算输入和输出序列的representation的模型
自回归:t-1会作用到t的输出
stacked self-attention
encoder decoder stacks
6个一模一样的层 维度统一成512维
残差连接+层归一化
decoder的self-attention做了微调,不能attend到之后的位置 右移一步, mask
attention就是把一个query和键值对映射到输出
query一个key,然后算出相似度,这个相似度作为权重,乘上value
得到value的加权和
点乘和加法都可以,但是点乘是矩阵运算更快
没有缩放因子,softmax的区域会推到梯度非常小的地方(饱和区)
multihead attention可以attend到不同位置的不同表示子空间(不同子空间语义)
重点: