本文主要是介绍Relation-aware Graph Attention Model With Adaptive Self-adversarial Training论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Relation-aware Graph Attention Model With Adaptive Self-adversarial Training
相关基础知识
什么是异构图?
传统的同构图(Homogeneous Graph)数据中只存在一种节点和边,而异构图(Heterogeneous Graph)中可以存在不只一种节点和边。
异构图的关系预测问题
对于两个包含多种属性的实体(entity),预测他们之间的关系类型(relation)。在异构图中,实体对应节点,关系对应两个节点之间的边,即预测两个节点之间边的类型(两个节点之间可以有多条边)。
Motivation
- 传统方法利用知识图谱嵌入(KGE)方法解决异构图的关系预测问题,或者虽然采用了GNN,但在信息传递时忽略了边的语义信息,学习到的特征表示不够理想,从而导致结果不够准确。
- 大部分图表示学习方法都可以统一在一个采样噪声对比估计框架中。随机负采样虽然简单有效,但由于大部分负样本很容易被区分出,所以有梯度消失的问题。许多基于GAN的采样方法可解决这个问题,其中的generator作为负样本采样器,识别出更加discriminative的关系,以供discriminator学习。然而,GAN的问题是需要更多的参数,并且难以训练。
Contribution
- 提出了RelGNN,一种用于异构图的基于信息传递的图注意力网络,通过加入边的语义信息,增强了图的表达能力。
- 提出了ASA,一种无参数的负采样方法,可以识别出难负样本,同时降低假负样本率。
- 在多个benchmark和工业数据集上的实验结果显示,在关系预测问题中,使用RelGNN和ASA采样比STOA方法效果更胜一筹。
Problem Definition
一个异构图可表示为 G = ( V , E , A , R , ϕ ) G=(V,E,A,R,\phi) G=(V,E,A,R,ϕ)
V = { v 1 , ⋯ , v n } V=\left\{v_1,\cdots,v_n\right\} V={v1,⋯,vn}代表图中的节点集合
A = { a 1 , … , a k } A=\left\{a_1,\dots,a_k\right\} A={a1,…,ak}代表节点的属性模式,每个节点 v i v_i vi的节点类型为 ϕ ( v i ) \phi(v_i) ϕ(vi),其关联的属性模式为 A ϕ ( v i ) A_{\phi(v_i)} Aϕ(vi)为 A A A的一个子模式,即 A ϕ ( v i ) ∈ A A_{\phi(v_i)}\in A Aϕ(vi)∈A
E = { e 1 , … , e m } E=\left\{e_1,\dots,e_m\right\} E={e1,…,em}为一个无向边集合, R R R为边的类型集合
每条边 e k = ( v i , r i , v j ) e_k=(v_i,r_i,v_j) ek=(vi,ri,vj)表示 v i v_i vi和 v j v_j vj之间的关系, r i ∈ R r_i\in R ri∈R
此外,每对节点之间可以包含多个关系(多条边)
Method
GelGNN
如下图所示,GelGNN包含四个部分。
Attribute Embedding
首先将节点的各个属性各自编码成向量,最终拼接在一起,再经过一个全连接层得到该节点的属性embedding向量。
Message passing
通过self-attention机制将节点属性embedding和节点图embedding组合在一起得到最终的实体embedding。
对于节点 v i v_i vi,定义其在图中的传播函数为:
h v i ( t ) = σ ( ∑ r ∈ R ∑ v j ∈ N v i r α ( v i , v j ) W r t − 1 h v j ( t − 1 ) + W s e l f t − 1 h v i ( t − 1 ) ) h_{v_i}^{(t)}=\sigma(\sum_{r\in R}\sum_{v_j\in N_{v_i}^r}\alpha_{(v_i,v_j)}W_r^{t-1}h_{v_j}^{(t-1)}+W_{self}^{t-1}h_{v_i}^{(t-1)}) hvi(t)=σ(r∈R∑vj∈Nvir∑α(vi,vj)Wrt−1hvj(t−1)+Wselft−1hvi(t−1))
其中 σ \sigma σ为一个激活函数, N v i r N_{v_i}^r Nvir表示与顶点 v i v_i vi包含关系 r ∈ R r\in R r∈R的邻接顶点集合。 W r ( t − 1 ) W_r^{(t-1)} Wr(t−1)是专门为顶点 v i v_i vi与顶点 v j v_j vj之间的关系 r r r编码的一个权重矩阵, W s e l f ( t − 1 ) W_{self}^{(t-1)} Wself(t−1)是编码顶点 v i v_i vi前一个时间步的embedding向量的权重矩阵。 α ( v i , v j ) \alpha_{(v_i,v_j)} α(vi,vj)是一个attention权重因子,这个权重因子通过如下方式求的。
α ( v i , v j ) = exp ( σ ( a e ⊤ [ W s e l f ( t − 1 ) h v i ( t − 1 ) ∥ h r ∥ W r ( t − 1 ) h v j ( t − 1 ) ] ) ) ∑ r ′ ∈ R ∑ v n ∈ N v i r ′ exp ( σ ( a e ⊤ [ W s e l f ( t − 1 ) h v i ( t − 1 ) ∥ h r ′ ∥ W r ′ ( t − 1 ) h v n ( t − 1 ) ] ) ) \alpha_{(v_i,v_j)}=\frac{\exp(\sigma({a_e}^\top[W_{self}^{(t-1)}h_{v_i}^{(t-1)}\|h_r\|W_r^{(t-1)}h_{v_j}^{(t-1)}]))}{\sum_{r^\prime\in R}\sum_{v_n\in N_{v_i}^{r^\prime}\exp(\sigma({a_e}^\top[W_{self}^{(t-1)}h_{v_i}^{(t-1)}\|h_{r^\prime}\|W_{r^\prime}^{(t-1)}h_{v_n}^{(t-1)}]))}} α(vi,vj)=∑r′∈R∑vn∈Nvir′exp(σ(ae⊤[Wself(t−1)hvi(t−1)∥hr′∥Wr′(t−1)hvn(t−1)]))exp(σ(ae⊤[Wself(t−1)hvi(t−1)∥hr∥Wr(t−1)hvj(t−1)]))
其中 ⋅ ⊤ \cdot^\top ⋅⊤代表转置, ∥ \| ∥代表concatenation操作, h r h_r hr编码了关系 r r r, a e a_e ae为单头attention的权重矩阵。扩充到多头attention机制,最终的节点特征表示计算方式为:
h v i ( t ) = σ ( 1 L ∑ l = 1 L ( ∑ r ∈ R ∑ v j ∈ N v i r α ( v i , v j ) W r t − 1 h v j ( t − 1 ) + W s e l f t − 1 h v i ( t − 1 ) ) ) h_{v_i}^{(t)}=\sigma(\frac{1}{L}\sum_{l=1}^L(\sum_{r\in R}\sum_{v_j\in N_{v_i}^r}\alpha_{(v_i,v_j)}W_r^{t-1}h_{v_j}^{(t-1)}+W_{self}^{t-1}h_{v_i}^{(t-1)})) hvi(t)=σ(L1l=1∑L(r∈R∑vj∈Nvir∑α(vi,vj)Wrt−1hvj(t−1)+Wselft−1hvi(t−1)))
其中 L L L为头的数量。
Final Entity Embedding
对于每一个节点 v i v_i vi,初始特征 h v i ( 0 ) h_{v_i}^{(0)} hvi(0)仅包括该节点的属性信息。通过信息传递,最后一个时间步的节点特征 h v i l a s t h_{v_i}^{last} hvilast聚合了图拓扑结构信息。将属性特征与包含图结构的特征通过attenton机制进行组合得到该实体(节点)的最终特征表示。
h v i f i n a l = α a t t r h v i ( 0 ) + α g r a p h h v i l a s t h_{v_i}^{final}=\alpha_{attr}h_{v_i}^{(0)}+\alpha_{graph}h_{v_i}^{last} hvifinal=αattrhvi(0)+αgraphhvilast,
α a t t r = exp ( σ ( a s ⊤ h v i ( 0 ) ) ) exp ( σ ( a s ⊤ h v i ( 0 ) ) ) + exp ( σ ( a s ⊤ h v i l a s t ) ) \alpha_{attr}=\frac{\exp(\sigma(a_s^\top h_{v_i}^{(0)}))}{\exp(\sigma(a_s^\top h_{v_i}^{(0)}))+\exp(\sigma(a_s^\top h_{v_i}^{last}))} αattr=exp(σ(as⊤hvi(0)))+exp(σ(as⊤hvilast))exp(σ(as⊤hvi(0)))
其中权重因子通过求softmax得到。
Adaptive Self-Adversarial Negative Sampling
负采样是一种用于近似具有庞大输出层的softmax函数的技术。它基于噪声对比估计,即好的模型可以从负信号中找出正信号。在关系预测问题中,负样本通常保持边不变而改变其中一个节点得到。
本文提出了自适应自对抗负采样方法(ASA),由于负样本是正样本的一个变体,可以通过利用好正样本来控制生成的负样本的hardness。因此,负样本选择函数如下:
arg min { v ˉ m , r , v ˉ n } ∉ E ∣ d r ′ ( f ′ ( v i ) , f ′ ( v j ) ) − d r ′ ( f ′ ( v ˉ m ) , f ′ ( v ˉ n ) ) − μ ∣ \mathop{\arg\min}_{\left\{\bar{v}_m,r,\bar{v}_n\right\}\notin E}|d_r^\prime(f^\prime(v_i),f^\prime(v_j))-d_r^\prime(f^\prime(\bar{v}_m),f^\prime(\bar{v}_n))-\mu| argmin{vˉm,r,vˉn}∈/E∣dr′(f′(vi),f′(vj))−dr′(f′(vˉm),f′(vˉn))−μ∣
其中 f ′ f^\prime f′为上文介绍的GelGNN,输出为节点的embedding向量。 d r ′ d_r^\prime dr′为一个求得分的函数,输出为两个顶点之间存在关系 r r r的得分score。 μ \mu μ为一个正值常量,相当于一个margin值。
通过如上方法,对于一个特定的正样本,ASA根据score值能选择出有适当hardness的负样本。
这篇关于Relation-aware Graph Attention Model With Adaptive Self-adversarial Training论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!