以英译法为例,要将 i am the best 翻译成 Je suis le meilleur
资源数据(sources)是 i am the best
目标词(targets)是Je suis le meilleur
(targets中的任意一个单词,称为target)
知识点一:target 与sources 之间是 一对全部的关系,因为有几个目标词就有几个权重分布,一个权重分布中包含任意一个target和全部sources,记录着有关该target的sources众多权重系数。
(这也是Q,K的直接拼接后进行线性变化,再升维后得到的结果,就是权重分布)
知识点二:得到全部权重分布后和V进行bmm运算(矩阵的乘法,唯一不同是权重矩阵和V都是三维的,忽视第一维如:1*10*120 和 1* 120 *34 bmm后得到:1*10*34),产生中间张量C
知识点三:bmm运算的作用和意义:
1.对内容进行加权平均
2.能很快的找到目标语言和source之间的关系
知识点四:对于解码器要有三个输入Q(查询张量,也叫上一时间步的输出),K(隐层张量) ,C(中间张量),第一步没有Q
代码实现逻辑上:
decoder_input---->代表查询张量------>(预测出)第一个单词---->(成为第二个时间步的查询张量y^)
(这个^在y头上,我放不上了)
------>预测出第二个查询张量…………(直到最后)
请各位多指正