Heterogeneous Graph Attention Network(HAN)
HAN
WWW19
分类:异构图神经网络
元路径
(图片地址:异构图注意力网络(3) HAN_哔哩哔哩_bilibili)
如图所示,假如异构图如上所示。那么,按照MAM和MDM就可以生成不同的子图。这样,就可以生成MAM与MDM的一阶邻居图。我们可以通过对分别得到MAM与MDM子图,然后在使用注意力机制来生成为不同的子图的嵌入分配权重,利用注意力机制生成最终的嵌入。
模型方法:
每个子图的嵌入(比如MAM的嵌入)(其获得方法和GAT类似)
\mathbf{h}_i^{\prime}=\mathbf{M}_{\phi_i}\cdot\mathbf{h}_i,(将原始嵌入映射到一个新的空间)
e_{ij}^\Phi=att_{node}(\mathrm{h}_i^{\prime},\mathrm{h}_j^{\prime};\Phi).(利用注意力机制来获得边i,j在子图\Phi的初始权重)
\alpha_{ij}^{\Phi}=softmax_{j}(e_{ij}^{\Phi})=\frac{\exp\left(\sigma(\mathbf{a}_{\Phi}^{\mathrm{T}}\cdot[\mathbf{h}_{i}^{\prime}\|\mathbf{h}_{j}^{\prime}])\right)}{\sum_{k\in\mathcal{N}_{i}^{\Phi}}\exp\left(\sigma(\mathbf{a}_{\Phi}^{\mathrm{T}}\cdot[\mathbf{h}_{i}^{\prime}\|\mathbf{h}_{k}^{\prime}])\right)},(对初始权重进行softmax归一化)
\mathbf{z}_i^\Phi=\sigma\left(\sum_{j\in\mathcal{N}_i^\Phi}\alpha_{ij}^\Phi\cdot\mathbf{h^{\prime}}_j\right).(得到在子图\Phi的嵌入)
\mathbf{z}_i^\Phi=\prod_{k=1}^K\sigma\left(\sum_{j\in\mathcal{N}_i^\Phi}\alpha_{ij}^\Phi\cdot\mathbf{h}_j^{\prime}\right).(应用多头注意力,这个个人觉得无所谓)(
得到每个子图的权重分配:
利用注意力得到每个子图节点在该子图的初始权重:
w_{\Phi_{p}}=\frac{1}{|\mathcal{V}|}\sum_{i\in\mathcal{V}}\mathbf{q}^{\mathrm{T}}\cdot\mathrm{tanh}(\mathbf{W}\cdot\mathbf{z}_{i}^{\Phi_{p}}+\mathbf{b}),
归一化:\beta_{\Phi_p}=\frac{\exp(w_{\Phi_p})}{\sum_{p=1}^P\exp(w_{\Phi_p})},
最终嵌入:\mathbf{Z}=\sum_{p=1}^P\beta_{\Phi_p}\cdot\mathbf{Z}_{\Phi_p}.
分类损失函数:
L=-\sum_{l\in\mathcal{Y}_L}\mathbf{Y}^l\ln(\mathbb{C}\cdot\mathbb{Z}^l),
结果:
个人评价:
好像把多个同构图拼在一起呀
