HANConv

HANConv

论文名称: Heterogeneous Graph Attention Network

论文链接: https://arxiv.org/pdf/1903.07293.pdf

异构网络的Attention包括节点层面和语义层面的, 具体来说节点层面是指基于metapath节点和它邻居之间的重要性. 而语义层面是指学习不同metapath之间的重要性.

在这里插入图片描述

节点层面Attention

由于是异构网络,不同的节点类型有不同的特征,因此对每种类型的节点 ϕ i \phi_i ϕi,节点类型转移矩阵 M ϕ i \text{M}_{\phi_i} Mϕi将不同的节点类型映射到相同的特征空间.
h i ′ = M ϕ i ⋅ h i (1) \mathbf{h}_{i}^{\prime}=\mathbf{M}_{\phi_{i}} \cdot \mathbf{h}_{i} \tag{1} hi=Mϕihi(1)
其中, h i h_i hi h i ′ h_i^{\prime} hi是节点 i i i的原始特征和映射特征。

针对不同类型节点权重的学习,设在meta-path Φ \Phi Φ下,节点 j j j对节点 i i i的重要程度可以用 e i j Φ e_{ij}^{\Phi} eijΦ表示。
e i j Φ = a t t n o d e ( h i ′ , h j ′ ; Φ ) (2) e_{i j}^{\Phi}=att_{node }\left(\mathbf{h}_{i}^{\prime}, \mathbf{h}_{j}^{\prime} ; \Phi\right)\tag{2} eijΦ=attnode(hi,hj;Φ)(2)
a t t n o d e att_{node} attnode表示node-level attention。给定meta-path Φ \Phi Φ, a t t n o d e att_{node} attnode对于所有meta-path都是共享的。Eq.(2)显示,给定meta-path Φ \Phi Φ, 节点对 ( i , j ) (i,j) (i,j)取决于它们的特征, e i j Φ e_{i j}^{\Phi} eijΦ是非对称的,节点 i i i对节点 j j j的特征重要性和节点 j j j对节点 i i i的重要性是不一样的。
α i j Φ = softmax ⁡ j ( e i j Φ ) = exp ⁡ ( σ ( a Φ T ⋅ [ h i ′ ∥ h j ′ ] ) ) ∑ k ∈ N i Φ exp ⁡ ( σ ( a Φ T ⋅ [ h i ′ ∥ h k ′ ] ) ) (3) \alpha_{i j}^{\Phi}=\operatorname{softmax}_{j}\left(e_{i j}^{\Phi}\right)=\frac{\exp \left(\sigma\left(\mathbf{a}_{\Phi}^{\mathrm{T}} \cdot\left[\mathbf{h}_{i}^{\prime} \| \mathbf{h}_{j}^{\prime}\right]\right)\right)}{\sum_{k \in \mathcal{N}_{i}^{\Phi}} \exp \left(\sigma\left(\mathbf{a}_{\Phi}^{\mathrm{T}} \cdot\left[\mathbf{h}_{i}^{\prime} \| \mathbf{h}_{k}^{\prime}\right]\right)\right)}\tag{3} αijΦ=softmaxj(eijΦ)=kNiΦexp(σ(aΦT[hihk]))exp(σ(aΦT[hihj]))(3)
其中, N i Φ \mathcal{N}_i^{\Phi} NiΦ指节点 i i i上的邻居,包括节点自己本身。 α i j Φ \alpha_{ij}^{\Phi} αijΦ指标准化后的权重系数。 e i j Φ e_{i j}^{\Phi} eijΦ表示节点 i i i对节点 j ∈ N i Φ j\in\mathcal{N}_i^{\Phi} jNiΦ权重信息。 σ \sigma σ表示激活函数, ∥ \| 表示concatenate操作, a Φ \text{a}_{\Phi} aΦ是针对meta-path Φ \Phi Φ节点层面的attention向量。 ( i , j ) (i,j) (i,j)的权重系数取决于它们的特征。权重系数是非对称的,不仅是因为拼接的顺序不一样还因为他们的邻居(分母)是不同的。

节点 i i i对meta-path Φ \Phi Φ的邻居节点特征进行汇总,如下公式:
z i Φ = σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) (4) \mathbf{z}_{i}^{\Phi}=\sigma\left(\sum_{j \in \mathcal{N}_{i}^{\Phi}} \alpha_{i j}^{\Phi} \cdot \mathbf{h}_{j}^{\prime}\right)\tag{4} ziΦ=σjNiΦαijΦhj(4)
其中 z i Φ \text{z}_i^{\Phi} ziΦ是节点 i i i基于meta-path Φ \Phi Φ的节点向量。如下图所示:

在这里插入图片描述

每个node会汇总他们的邻居信息。因为注意力的权重 α i j Φ \alpha_{ij}^{\Phi} αijΦ是基于单一meta-path产生的,能够捕捉一种特定的语义信息。

Since heterogeneous graph present the property of scale free, the variance of graph data is quite high.为保证训练的稳定性,采用多头机制,node-level attention重复K次,然后将它们拼接起来,作为一种特定语义向量:
z i Φ = ∥ k = 1 K σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) (5) \mathrm{z}_{i}^{\Phi}=\|_{k=1}^{K} \sigma\left(\sum_{j \in \mathcal{N}_{i}^{\Phi}} \alpha_{i j}^{\Phi} \cdot \mathbf{h}_{j}^{\prime}\right)\tag{5} ziΦ=k=1KσjNiΦαijΦhj(5)
meta-path集合为 { Φ 1 , … , Φ P } \left\{\Phi_{1}, \ldots, \Phi_{P}\right\} {Φ1,,ΦP}, 结合节点的特征向量,生成P个 { Z Φ 1 , … , Z Φ P } \left\{\mathrm{Z}_{\Phi_{1}}, \ldots, \mathrm{Z}_{\Phi_{P}}\right\} {ZΦ1,,ZΦP}节点向量。

语义级别Attention

在异构网路中,每个节点都包含多重语义,采用Attentions机制自动学习不同meta-paths之间的重要性。将P组的node embedding作为输入,学习meta-path ( β Φ 1 , … , β Φ P ) \left(\beta_{\Phi_{1}}, \ldots, \beta_{\Phi_{P}}\right) (βΦ1,,βΦP)权重:
( β Φ 1 , … , β Φ P ) = att ⁡ sem ⁡ ( Z Φ 1 , … , Z Φ P ) (6) \left(\beta_{\Phi_{1}}, \ldots, \beta_{\Phi_{P}}\right)=\operatorname{att}_{\operatorname{sem}}\left(\mathrm{Z}_{\Phi_{1}}, \ldots, \mathrm{Z}_{\Phi_{P}}\right)\tag{6} (βΦ1,,βΦP)=attsem(ZΦ1,,ZΦP)(6)
其中 a t t s e m att_{sem} attsem指语义级别的attention。

我们将transformed embeddinga semantic-level attention vector q的相似性衡量特定语义级别embedding重要性,对不同语义的node embedding计算平均值。特定的语义重要性标记为 w Φ i w_{\Phi_i} wΦi:
w Φ p = 1 ∣ V ∣ ∑ i ∈ V q T ⋅ tanh ⁡ ( W ⋅ z i Φ p + b ) (7) w_{\Phi_{p}}=\frac{1}{|\mathcal{V}|} \sum_{i \in \mathcal{V}} \mathrm{q}^{\mathrm{T}} \cdot \tanh \left(\mathbf{W} \cdot \mathbf{z}_{i}^{\Phi_{p}}+\mathbf{b}\right)\tag{7} wΦp=V1iVqTtanh(WziΦp+b)(7)
其中, W W W是权重矩阵, b \text{b} b是偏置项, q是the semanticlevel attention vector。不同meta-paths之间的参数是共享的。获取每个meta-path之后,对其进行softmax操作。meta-path Φ i \Phi_i Φi的权重表示为 β Φ i \beta_{\Phi_i} βΦi,可以获取标准化后的重要性:
β Φ p = exp ⁡ ( w Φ p ) ∑ p = 1 P exp ⁡ ( w Φ p ) (8) \beta_{\Phi_{p}}=\frac{\exp \left(w_{\Phi_{p}}\right)}{\sum_{p=1}^{P} \exp \left(w_{\Phi_{p}}\right)}\tag{8} βΦp=p=1Pexp(wΦp)exp(wΦp)(8)
它可以解释为每个meta-path Φ p \Phi_p Φp的贡献度。 β Φ p \beta_{\Phi_p} βΦp的值越大,meta-path Φ p \Phi_p Φp的重要性越高。对于不同的任务meta-path Φ p \Phi_p Φp会有不同的权重。将不同权重的语义embedding进行融合,得到最后的embedding Z Z Z:
Z = ∑ p = 1 P β Φ p ⋅ Z Φ p (9) \mathbf{Z}=\sum_{p=1}^{P} \beta_{\Phi_{p}} \cdot \mathbf{Z}_{\Phi_{p}}\tag{9} Z=p=1PβΦpZΦp(9)
为了更好的理解语义汇总过程,我们在Figure 3(b) 给出简单的解释。将所有的语义embedding进行汇总,得到最后的embedding。针对最终embedding的应用,我们可以跟不同任务设计不同的损失函数。例如,针对半监督的节点分类任务,我们最小化交叉熵损失函数:
L = − ∑ l ∈ Y L Y l ln ⁡ ( C ⋅ Z l ) (10) L=-\sum_{l \in \mathcal{Y}_{L}} \mathrm{Y}^{l} \ln \left(\mathrm{C} \cdot \mathrm{Z}^{l}\right)\tag{10} L=lYLYlln(CZl)(10)
其中,其中 C C C是分类器的参数, Y L \mathcal{Y}_L YL是有标签节点的索引集合, Y l Y^l Yl Z l Z^l Zl是标签和有标签的node的embedding。采用反向传播学习模型的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值