当前位置:   article > 正文

三元组中的自注意力机制&多头自注意力机制_注意力机制的多头可以求平均

注意力机制的多头可以求平均

自注意力机制

以上是自注意力机制的基本原理。在知识图谱的三元组中

可以将图中的(i,j,k)当作一组三元组的初始embedding(头,尾,关系)

那么对三元组的初始表示则是使用一个线性变矩阵C_{ijk}=W_{1}*(i,j,k)。

然后对C_{ijk}经过一个非线性层获得,计算出的每个b_{ijk}并不是在(0~1)之间的,所以还需要对输入的所有b_{ijk}通过softmax计算

                                    

 计算出的\alpha _{ijk}就是每个三元组在这一组输入中的注意力值,也可以当作每个三元组的权重。

如何生成头节点的最终embedding(输出)

例如对于实体e1的所有邻居,则是将e1为头节点的所有三元组作为输入。

e1_emb的表示为\(\sigma\\)\sum\alpha _{ijk}*C_{ijk})(所有以e1为头节点),其中\(\sigma\\)为一个非线性变换函数 

多头自注意力机制

多头的实际执行就是执行多次注意力机制(每次的参数是不同),每一次注意力机制都会生成一个对应的\alpha _{ijk},这些\alpha _{ijk}也是独立的互不干扰的,最后对每个头生成的注意力值\alpha _{ijk}取平均则可得到这个三元组对应的注意力值。也就是权重。

输出

多头注意力机制的输出与上面的区别就在于最后要对多头取平均。

即 ei_emb=\(\sigma\\)\frac{1}{M}\sum_{1}^{M}\alpha _{ijk}*C_{ijk}

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号