框架图
网络对比
模型 | 优点 | 缺点 |
---|---|---|
RNN | 适合处理长序列数据 | 不能并行化 |
CNN | 不同的输出通道 | 不擅长长序列 |
Transformer的期望:
- 能够处理长序列
- 支持并行操作
- 期望有不同的输出通道以获得更强的学习能力
编码器解码器架构
特点:
(a)先将长度可变的输入序列编码成为一个“状态”,然后对该状态进行解码,一个一个词元的生成翻译后的序列作为输出。
(b)Transformer中的编码器中的任何层都不会改变其输入的形状。
(c)编码器的输出作为解码器注意力机制中的K,V
。
多头注意力
原由: 当给定相同的查询、键和值的集合时,希望模型可以基于相同的注意力机制学习到不同的行为,然后将不同的行为作为知识组合起来,捕获序列内各种范围的依赖关系。
特点:
(a)全连接层的引入相比较于只使用缩放点积注意力增加了可学习的参数。此外缩放点积注意力的另一个好处是Q和K大小相同便于计算。
(b)(Q,K,V)
被复制h份分别输入到全连接层中来变换查询、键和值。然后,这h组变换后的查询、键和值将并行地送到注意力汇聚中。最后,将这个注意力汇聚的输出拼接在一起,并且通过另一个可以学习的线性投影进行变换,以产生最终输出。
自注意力和位置编码
特点:
(a)同一组词元同时充当查询,键和值。由于注意力机制并不体现位置关系,而序列信息又与位置信息紧密相连因此引入位置编码。
(b)词嵌入后和位置信息加和共同形成输入信息。为了保持范围一致词嵌入的值需要乘以以进行缩放。
位置编码: 假设输入表示包含一个序列中的n个词元的d维嵌入表示。位置编码使用形状相同的嵌入矩阵
输出
矩阵第i行,第
2j
列和第2j+1
列上的元素分别为:
层规范化与残差链接
为什么选择层规范化:
(a)层规范化允许在每个样本上独立执行规范化操作
(b)数据的结构使得层规范化比批量规范化效果更好
Masked softmax操作
作用: 不希望训练时未出现的数据干扰到训练。
做法: 将不期望出现的数据使用很小的数(例如-1e6)替换,这样softmax函数会将其近似缩小到0。
基于位置的前馈网络
该网络实际上是具有一个隐层的MLP,可以表示为下式:
最后的预测:
通过一个全连接层计算所有可能输出词元的预测值。
在测试过程中,只能一个单词一个单词的进行输出,是串行进行的。
参考文献
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin