赞
踩
The decoder is also composed of a stack of N = 6 identical layers.
除了编码器encoder layer中包含的两个子层the two sub-layers,解码器decoder插入了另一个子层a third sub-layer。
which performs multi-head attention over the output of the encoder stack.
解码器中使用了自回归,即当前时刻的输出的输入集是前面所有时刻的输出。通过带masked的multi-head attention保证在输入进来时,在t时刻是不会看到t时刻之后的输入的从而保证训练和预测时候的行为是一致的。
在Transformer模型中是如何使用注意力的?有三种使用方式,分别对应:
Transformer中attention输出是value的加权和,没有时序信息,权重是query和key之间的距离(相似度);RNN是将上一时刻的输出作为下一时刻的输入,来传递历史信息,这种操作本身就包含了时序信息。
attention的做法是通过Positional Encoding在输入中加入时序信息。
-
输入inputs进入embedding层之后,对每个序列token都会得到一个长为512向量,然后Positional Encoding将词在句子中位置信息编码为一个长为512的向量表示位置,然后将两个512的向量加起来。
因为Positional Encoding是sin/cos的函数,所以结果是在(-1,1)之间的,所以Embedding乘以 d m o d e l \sqrt{d_{model}} dmodel 使得每个结果也是在差不多(-1,1)之间,保证两者相加是在一个量级。这样就完成了在输入中加入了位置信息。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。