贪心学院transformer模型讲解记录

1.FFN层和z1和z2层是不同的,FFN层是隔开的,权重不共享的,而Z1和Z2不是隔开的

2.Q,K,V是借鉴了搜索的思维在里面,Q是query的意思,<K,V>是<key,value>的意思,Q值就是word应该映射一会进行搜索的值,K是搜索的目标,V是目标值,类似K是文档的主题,V是文档的向量,Q是搜索文档的文本。这样就能训练得到word与word之间的关系,不同的W就表示搜索的维度不一样

3.借鉴ResNet思想,embedding层可以越过normalize处理结果,防止梯度消失,因为添加上面可以直接反馈到最下面一层

4.decode部分,可以看出翻译的时候,翻译结果的attention是依次输入的使用masked Multi-Head Attention进行attention,而等后面的Multi-Head的时候才进行接入encode的结果,接入过程是q是使用encode的记过跟Wq进行计算得到的,而k和v都是使用Multi-Head Attention进行计算,这样就是使用encode进行检索想要翻译的结果,就是decode的思想

5.decode的mask multi-Head Attention是什么?

因为不能利用翻译后的结果,只能使用已经翻译完成的单词作为输入,翻译后面的单词

6.layer normalization和BN的区别和联系是什么?

https://blog.csdn.net/liuxiao214/article/details/81037416

LN可以避免BN的batch大小对结果的影响

7.Position Encoding的计算过程和想要得到的实际效果?

position Encoding的设置初始化后,离自己近的单词的欧式距离小于离自己远的单词的欧式距离,使用cos和sin进行初始化就是要达到这种效果

pos就是词的位置["我","爱","中国"],[0,1,2]

座标的2i表示偶数位置,2i+1表示奇数位置(奇数和偶数位置是指在假如embedding的维度是4,位置就表示embedding中的位置dmodel表示embeddin的size)

我们也可以自己设置position embedding,通过模型学习,也可以使用上面的方式

发布了358 篇原创文章 · 获赞 113 · 访问量 82万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章