1. 前言
论文链接:https://arxiv.org/abs/1911.03082?context=stat.ML
github:https://github.com/malllabiisc/CompGCN
图卷积网络在处理图结构数据时作为一种深度学习的方式取得了很明显的优势。然而,大部分的图卷积操作主要关注的是处理简单的无向图。多关系图是一种更为普遍的图形式,其中每条边都有一个标签和与之关联的方向。大多数现有的处理这类图的方法都存在过多的参数问题,并且仅限于学习节点的表示。在本文中提出了一种新的图卷积框架——CompGCN,它将节点和关系共同嵌入到关系图中。CompGCN利用了来自知识图嵌入技术的各种实体-关系的组合操作,并根据关系的数量进行缩放。它还吸取了了几种现有的多关系GCN方法的优势。
2. 背景
现有的基于图卷积操作 GCN 的处理关系图(关系图的一种直观的例子就是知识图谱)的方法存在参数过多和仅仅学习图中节点表示的缺点,因此这些方法不能用于处理需要关系嵌入向量的下游任务例如链路预测。一些基于图卷积操作来学习图中关系表示的初步尝试在节点分类任务和神经机器翻译领域取得了一些进展。
另外一类方法是知识图谱(KG)嵌入,在嵌入知识图(KG)中,节点和关系的表示是共同学习的,这方面已经有了广泛的研究。这些方法都局限于使用链接预测目标来学习嵌入。虽然 GCNs 可以从任务特定的目标(如分类)中学习,但其应用很大程度上局限于非关系图的设置。因此,需要一个利用 KG 嵌入技术来学习特定任务节点和关系嵌入的框架。
因此本文提出了一种新的多关系图GCN框架,该框架系统地利用了知识图嵌入技术中的实体-关系组合操作。CompGCN 通过联合学习图中节点和关系的向量表示,解决了之前提出的GCN模型的缺点。本文的主要贡献如下:
-
本文提出了一种将多关系信息合并到图卷积网络中的新框架,它利用了来自于知识图谱嵌入的组合关系操作来联合利用图中的节点和关系
-
CompGCN框架概括了几种现有的多关系GCN方法,并且随着图中关系数量的增加而扩展。
-
通过对节点分类、链路预测和图分类等任务的大量实验,证明了该方法的有效性。
3. CompGCN
3.1 GCN on Multi-Relational Graphs
给出一个多关系图
G
=
(
V
,
R
,
E
,
X
)
\mathcal{G=(V,R,E,X)}
G=(V,R,E,X),其中
R
\mathcal{R}
R 代表关系的集合,每一条边
(
u
,
v
,
r
)
(u,v,r)
(u,v,r) 代表关系
r
∈
R
r \in \mathcal{R}
r∈R 存在于节点
u
,
v
u,v
u,v 之间。一种将 GCN 应用于处理多关系图的方法是基于有向边的信息沿两个方向流动的假设所提出的,因此对于每一条边
(
u
,
v
,
r
)
∈
E
(u,v,r) \in \mathcal{E}
(u,v,r)∈E,其逆边
(
v
,
u
,
r
−
1
)
(v,u,r^{-1})
(v,u,r−1) 也存在于图
G
\mathcal{G}
G 中。基于此在经过
k
k
k 层的有向 GCN 层后的表达形式为:
其中
W
r
k
W_r^k
Wrk 代表模型的关系具体参数,因此随着关系数量的增加此模型存在参数过多的问题。
3.2 CompGCN Details
在这里给出一个更具体的多关系图的表达形式
G
=
(
V
,
R
,
E
,
X
,
Z
)
\mathcal{G=(V,R,E,X,Z)}
G=(V,R,E,X,Z),
Z
∈
R
∣
R
∣
×
d
0
\mathcal{Z} \in \mathbb{R}^{|\mathcal{R}|\times d_0}
Z∈R∣R∣×d0 代表处事的关系特征,其余变量含义不变。同时作者在关系图原始边的基础上进行扩充逆边的概念,最后边的关系扩充为
相应的关系
R
\mathcal{R}
R 也进行扩充,最终表达形式为
R
′
=
R
∪
R
i
n
v
∪
{
T
}
\mathcal{R}^{'} = \mathcal{R}\cup\mathcal{R}_{inv}\cup\{T\}
R′=R∪Rinv∪{T},其中
R
i
n
v
=
{
r
−
1
∣
r
∈
R
}
\mathcal{R}_{inv}=\{r^{-1}|r \in \mathcal{R}\}
Rinv={r−1∣r∈R} 代表原始边的逆关系,对于
T
T
T 代表自连接。
3.3 Relation - Based Composition
现有大多数方法只对图中节点的特征进行嵌入,而 CompGCN学习一个
d
d
d 维的关系特征嵌入
h
r
∈
R
d
,
r
∈
R
h_r \in \mathbb{R}^d,r \in \mathcal{R}
hr∈Rd,r∈R 和一个节点特征嵌入
h
v
∈
R
d
,
v
∈
V
h_v \in \mathbb{R}^d,v \in \mathcal{V}
hv∈Rd,v∈V。将关系特征表示为向量,缓解了在关系图上应用 GCNs 时的过参数化问题。而且,它允许 CompGCN 利用任何可用的关系特征 (
Z
\mathcal{Z}
Z) 作为初始表示。为了将关系嵌入合并到 GCN 公式中,CompGCN 利用了在知识图嵌入方法中使用的实体-关系组合操作:
其中
ϕ
:
R
d
×
R
d
→
R
d
\phi:\mathbb{R}^d \times \mathbb{R}^d \rightarrow\mathbb{R}^d
ϕ:Rd×Rd→Rd 代表一个合成算子。
s
,
r
,
o
s,r,o
s,r,o 分别代表 起点,关系类型和终点,
e
(
⋅
)
∈
R
d
e_{(\cdot)} \in \mathbb{R}^d
e(⋅)∈Rd 表示对应的嵌入。组合操作的选择是决定嵌入学习质量的重要因素。因此,可以采用未来开发的更好的知识图合成操作来进一步提高 CompGCN 的性能。
3.4 CompGCN Update Equation
传统 GCN 方法的聚合更新方法可以写成
其中
N
(
v
)
\mathcal{N(v)}
N(v) 是目标节点
v
v
v 向外的边的一组近邻。因为此种表达形式会导致参数的剧烈增长,因此在 CompGCN 中利用关系组合操作 (
ϕ
\phi
ϕ):根据上面定义的关系
r
r
r,对相邻节点
u
u
u 进行组合。使得模型在特征维数上是线性的
(
O
(
∣
R
∣
d
)
(\mathcal{O}(|\mathcal{R}|d)
(O(∣R∣d) 。此外,为了不同地处理原始边缘、逆边缘和自边缘,为它们各自定义了单独的过滤器。CompGCN的更新方程为:
其中
x
u
,
z
r
x_u,z_r
xu,zr 分别代表对于节点
u
u
u 和 关系
r
r
r 的初始化特征。
h
v
h_v
hv 代表节点
v
v
v 更新后的节点特征。最后
W
λ
(
r
)
∈
R
d
1
×
d
0
W_{\lambda_{(r)}} \in \mathbb{R}^{d_1 \times d_0}
Wλ(r)∈Rd1×d0 是一个针对于具体关系类型的参数矩阵,在 CompGCN 中具体划分如下:
此外在 CompGCN 中,在经过(2)之后的节点更新之后,关系嵌入也进行如下转换
其中
W
r
e
l
∈
R
d
1
×
d
0
W_{rel} \in \mathbb{R}^{d_1 \times d_0}
Wrel∈Rd1×d0 是一个可学习的转换矩阵,它将所有的关系特征向量投影到与节点相同的嵌入空间中,并允许它们在下一个 CompGCN层中被利用。在表1中,就 CompGCN和其他现有方法的特性和参数复杂性进行了对比。
在(2)式的基础上可以在堆叠
k
k
k 层的 CompGCN 层,那么
h
v
k
+
1
h_v^{k+1}
hvk+1 可以表示为节点
v
v
v 经过
k
k
k 层得到的特征嵌入表示。
相似的,
h
r
k
+
1
h_r^{k+1}
hrk+1 代表关系
r
r
r 在
k
k
k 层之后的关系特征向量的表示,
那么对于
h
v
0
,
h
r
0
h_v^0,h_r^0
hv0,hr0 则分别代表节点 (
x
v
x_v
xv)和 关系 (
z
r
z_r
zr)的初始化特征。
3.5 Scaling with Increasing Number of Relations
为了确保 CompGCN 随着关系数量的增加而扩展,本文将关系表示为一组基向量的线性组合,而不是为每个关系单独定义嵌入。形式上,让
{
v
1
,
v
2
,
…
,
v
B
}
\{v_1, v_2,…,v_{\mathcal{B}}\}
{v1,v2,…,vB} 是一组可学习的基向量。那么,初始关系表示为:
其中
α
b
r
∈
R
\alpha_{br} \in \mathbb{R}
αbr∈R 是关系和基的特定可学习标量权值。
4. 实验