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的负样本。