赞
踩
RNN 无法并行化,可以考虑使用CNN,但是CNN比较难考虑比较多的信息
这样的话self-attention 应运而生,self-attention可以看到双向的信息,并且b1–b4可以并行被训练出了。
首选求出q,k,v
b1得出:
只要控制αi,j是0或值那么就可以控制是否只看到local的值了
向量化
不同的head可以看到不同的信息 local/far
在transformer中e_{i} 是直接加上的,W^{p} 是人为设定的,也可以学习
Decoder和Encoder的结构差不多,但是多了一个attention的sub-layer,这里先明确一下decoder的输入输出和解码过程:
输出: 对应i位置的输出词的概率分布
输入: encoder的输出 & 对应i-1位置decoder的输出。所以中间的attention不是self-attention,它的K,V来自encoder,Q来自上一位置decoder的输出
**解码:**这里要注意一下,训练和预测是不一样的。在训练时,解码是一次全部decode出来,用上一步的ground truth来预测(mask矩阵也会改动,让解码时看不到未来的token);而预测时,因为没有ground truth了,需要一个个预测。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。