作者:張張張張
github地址:https://github.com/zhanghekai
【转载请注明出处,谢谢!】
H A N HAN HAN源代码地址:https://github.com/Jhy1993/HAN
H A N HAN HAN论文地址:http://www.shichuan.org/doc/66.pdf
H A N \qquad HAN HAN是在 G A T GAT GAT的基础上实现的,它的模型分为两部分:(1)节点级的注意力;(2)语义级的注意力。整个模型大致流程如下:首先确定元路径,使用元路径将异构图转换为同构图,邻接矩阵中两节点间有关系则为 1 1 1,没有关系则为 0 0 0;然后,对每一条元路径调用一次 G A T GAT GAT模型,生成与元路径个数相同的 n o d e e m b e d d i n g node \; embedding nodeembedding,此过程成为节点级注意力机制( N o d e − l e v e l A t t e n t i o n Node-level \; Attention Node−levelAttention);最后,将生成的多个 e m b e d d i n g embedding embedding进行一个单层神经网络训练,得到元路径的权重,此过程称为语义级注意力机制( S e m a n t i c − l e v e l A t t e n t i o n Semantic-level \;Attention Semantic−levelAttention)。
注意:邻接矩阵中记录的不再是两节点间的连通数。因为 G A T GAT GAT原本是用于同构图的,只在乎两节点间是否有关系,以此来确定邻居节点,与路径数无关。
一、节点级注意力
\qquad 节点级注意力机制其实就是原封不动的 G A T GAT GAT模型,只不过是对每个元路径都调用了一次 G A T GAT GAT而已。从 H A N HAN HAN的 N o d e − l e v e l A t t e n t i o n Node-level \; Attention Node−levelAttention部分我们可以看到,里面用的公式与 G A T GAT GAT论文中的公式是一模一样的,只不过加上了确定元路径的角标。因为 G