赞
踩
以上是自注意力机制的基本原理。在知识图谱的三元组中
可以将图中的(i,j,k)当作一组三元组的初始embedding(头,尾,关系)
那么对三元组的初始表示则是使用一个线性变矩阵=
*(i,j,k)。
然后对经过一个非线性层获得
,计算出的每个
并不是在(0~1)之间的,所以还需要对输入的所有
通过softmax计算
计算出的就是每个三元组在这一组输入中的注意力值,也可以当作每个三元组的权重。
例如对于实体e1的所有邻居,则是将e1为头节点的所有三元组作为输入。
e1_emb的表示为\(\sigma\\)(*
)(所有以e1为头节点),其中\(\sigma\\)为一个非线性变换函数
多头的实际执行就是执行多次注意力机制(每次的参数是不同),每一次注意力机制都会生成一个对应的,这些
也是独立的互不干扰的,最后对每个头生成的注意力值
取平均则可得到这个三元组对应的注意力值。也就是权重。
多头注意力机制的输出与上面的区别就在于最后要对多头取平均。
即 ei_emb=\(\sigma\\)(*
)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。