论文笔记:KDD 2020 Multi-level Graph Convolutional Networks for Cross-platform Anchor Link Prediction
1. 前言
论文链接:https://arxiv.org/abs/2006.01963?context=cs.LG
github:https://github.com/sunxiangguo/MGCN
如今,大多数人都参与了不止一个在线社交网络(OSN),如Facebook、Twitter、微博、Linkedin。通常情况下,用户为了不同的目的在不同的OSNs上注册,不同的OSNs显示了不同的观点和人的不同方面。例如,一个用户在Facebook上联系他们的朋友,但是使用Linkedin联系他/她的同事,感兴趣的公司和寻找工作机会。虽然不同的OSNs表现出不同的特性和功能,但在不同的社交平台上,个人用户帐户的重叠现象一直存在。然而,出于隐私考虑或缺乏动机,在大多数社交网络中,属于同一个人的多个账户的信息并没有明确给出。
在数据挖掘研究领域中,将来自不同社交网络的属于同一个人的账号匹配问题定义为Account Mapping(账号映射)、Socia Network De-anonymization(社交网络去匿名化)或Social Anchor Link Prediction(社交锚链预测)。不同社交平台上的账户匹配在社交网络分析中扮演着重要的角色
因为它有助于改善许多下游应用,如在线个性化服务、链接预测、推荐系统、生物蛋白-蛋白对老化相关复合物的比对,以及犯罪行为检测。尽管人们对这一具有挑战性的课题给予了很大的关注,但仍有很大的改进空间。以往的研究提出利用可用的辅助信息,如自生成的用户资料、每日生成的内容和其他人口统计特征(如用户名、头像、位置、性别、帖子、博客、评论等)来解决这一问题。然而,随着公众隐私和信息权利意识的提高,这些信息越来越难以获得和获取。
跨平台账户匹配在社交网络分析中扮演着重要的角色,并且有利于广泛的应用。然而,现有的方法要么严重依赖高质量的用户生成内容(包括用户配置文件),要么仅关注网络拓扑结构就存在数据不足的问题,这给研究者带来了模型选择的两难困境。为了解决这个问题,本文提出了一个新的框架,在局部网络结构和超图结构上统一考虑多层次的图卷积。该方法克服了现有工作中数据不足的问题,且不需要依赖用户的人口统计信息。此外,为了使所提方法能够处理大规模社交网络,提出了一种两阶段空间协调机制,以在基于网络划分的并行训练和跨不同社交网络的账户匹配中对齐嵌入空间。在两个大规模的现实社会网络上进行了广泛的实验。实验结果表明,该方法的性能优于现有模型。
近年来,随着网络嵌入(NE)技术的发展,相关问题的研究重点已转移到挖掘网络结构信息上。社交网络结构数据在正确性和完整性方面更加可靠。但是,只注重网络结构本身的建模,使得几乎所有现有的方法都存在数据不足的问题,特别是在小规模网络和冷启动设置(即用户是网络的新用户)。因此,在现实场景中,这一直是从业者所面临的困境,迫切需要有效的解决方案。基于此提出利用并整合从原始网络中提取的超图信息来进行数据增强。在本文的其余部分,我们分别使用“简单图”和“超图”来表示原始网络和从原始网络中提取的超图。与简单图相比,超图允许一条边(又名heperedge)同时连接两个以上的节点。这意味着图中节点之间的非成对关系可以很容易地组织并表示为超边。此外,超图具有鲁棒性和灵活性,能够适应各种各样的社交网络,无论给定的社交网络是纯社交网络还是具有各种属性和链接的异构社交网络。
更具体地说,提出了一种新的多层图卷积网络的嵌入框架,即MGCN,用于联合学习不同粒度灵活GCN核(即简单图GCN、超图GCN)的网络顶点的嵌入。社交网络的简单图结构信息揭示了用户之间的关系(如友谊、关注者),而超图则根据其在社交网络中的具体定义具有不同的语义意义。例如,基于N-hop邻居的超图(用户的N-hop邻居通过同一个超边连接)在一定程度上表示朋友圈。基于中心的超图表示不同的社会层次(具有相似中心性值的用户可能具有相同的社会地位)。因此,通过定义各种超图并将其嵌入到网络嵌入学习中,将有助于学习更好的用户表示。为了支持这一点,MGCN框架是灵活的,可以包含各种超图定义,它可以将任何超图作为向量表示,使模型结构对各种超图定义不变性。通过扩展GCN来利用和集成超图的基本原理是,超图提供了更灵活的网络。与本地网络拓扑上的单个图GCNs相比,可以包含更多更丰富的信息的表示。在大多数情况下,GCN层的最优数量总是被设置为2,因为添加更多的层不能显著提高的性能。因此,GCNs只能捕获网络中某个节点周围的本地信息。这一现象也使得solo GCN存在矛盾,因此在account matching task上表现的一般,因为task的关键是探索更多更深的信息来进行预测。从直观上看,在从原始网络中提取的hypergrpahs上定义GCNs将补充现有基于gc的网络嵌入模型的局限性。
然而,这仍然是一项具有挑战性的任务,因为社交网络是大规模的,有数百万个节点和数十亿个边缘。传统的集中训练方法由于计算量大,无法适应这样大的网络。为了使MGCN适应于大规模社交网络,提高其可扩展性和效率,提出了一种新的训练方法,该方法首先将大规模社交网络分割成簇,然后以完全分散的方式学习网络嵌入。为了对齐不同簇的学习嵌入空间,提出了一种新的两相空间协调机制。在第一阶段,我们对齐从同一网络内的每个簇中学习到的嵌入空间。除了不同子网之间的排列在同一网络,推导空间和解对齐两个不同网络通过少量的观测锚节点,这使得我们的MGCN框架实现更精确的锚点链接比最先进的模型和预测效率高在大型社交网络。
总结论文主要贡献如下:
-
提出了一个新的框架MGCN,用于预测跨不同社交网络的锚链接这一具有挑战性的任务。该方法同时考虑了局部和超图级的图卷积来学习网络嵌入,能够为任务捕获更广泛、更丰富的网络信息。
-
为了使所提出的框架能够适应大规模的社交网络,提出了一系列的处理方法,包括网络分割和空间调和来处理分布式的训练过程。
-
对大规模真实数据集进行了广泛的评估,实验结果证明了提出的MGCN模型相对于最新模型的优越性。
2. 定义
2.1 问题定义
已知多个图例如: G 1 = { V 1 , E 1 } \mathcal{G_1=\{V_1,E_1\}} G1={V1,E1} 和 G 2 = { V 2 , E 2 } \mathcal{G_2=\{V_2,E_2\}} G2={V2,E2} 和 一组锚点链接 S a n c h o r = { ( u , v ) ∣ u ∈ V 1 , v ∈ V 2 } S_{anchor}=\mathcal{\{(u,v)|u \in V_1,v \in V2\}} Sanchor={(u,v)∣u∈V1,v∈V2},目标是对无法观测到的跨平台锚点链接进行预测,并把整个问题看成是一个二分类问题,进而将问题转化为:给出一组节点 ( u , v ) \mathcal{(u,v)} (u,v) 并满足 u ∈ V 1 , v ∈ V 2 \mathcal{u \in V_1},v \in V_2 u∈V1,v∈V2,利用模型对他们之间是否存在链接进行预测。
2.2 超图定义
对于简单图来说一条边仅连接两个节点,对于超图来说图定义为 G h = { V , E h } \mathcal{G^h=\{V,E^h\}} Gh={V,Eh},其中 V \mathcal{V} V 代表节点集, E h \mathcal{E^h} Eh 代表超边集,对于每一条超边 e ∈ E h e \in \mathcal{E^h} e∈Eh 存在 e = { v 1 , . . . v p } , v i ∈ V , 2 < p < = ∣ V ∣ e=\{v_1,...v_p\},v_i \in \mathcal{V},2<p<=|\mathcal{V}| e={v1,...vp},vi∈V,2<p<=∣V∣
3. 模型
3.1 模型框架
为了预测锚链,引入了一种新的多层次图卷积网络(MGCN)来学习每个网络的嵌入。图1展示了提出的MGCN框架,它由两个层次的图卷积操作组成。它首先对简单的图(即本例中原始的社交网络)进行卷积。在从简单图的卷积中得到节点嵌入后,通过定义在超图上的一个创新的卷积运算对节点嵌入进行细化。在最终获得两个社交网络的嵌入后,我们通过嵌入和解过程对齐两个网络的潜在空间。最后,部署一个全连接的网络来预测来自两个网络的任意对节点之间是否存在锚链。此外提出了一种可并行的方案,使MGCN能够通过图划分有效地处理大规模网络。
3.2 Convolution on Simple Graphs
首先我们已知初始的社交网络
G
=
{
V
,
E
}
\mathcal{G =\{V,E\}}
G={V,E} 并假设我们已经从原始的图中构建出了超图
G
h
\mathcal{G^h}
Gh 其中每一条超边应满足
e
∈
E
h
,
e
=
{
v
1
,
v
2
,
.
.
.
,
v
n
}
,
v
i
∈
V
e \in \mathcal{E^h},e=\{v_1,v_2,...,v_n\},v_i \in \mathcal{V}
e∈Eh,e={v1,v2,...,vn},vi∈V。节点的特征矩阵表示为
X
∈
R
∣
V
×
d
∣
X \in \mathbb{R}^{|\mathcal{V}\times d|}
X∈R∣V×d∣,其中
d
d
d 表示特征嵌入维度。因此在超边
e
e
e 内的简单图卷积可以被定义为
其中
A
e
∈
R
∣
V
∣
×
∣
V
∣
A_e \in \mathbb{R}^{|\mathcal{V}|\times|\mathcal{V}|}
Ae∈R∣V∣×∣V∣ 代表在超边内的邻接矩阵,
σ
(
⋅
)
\sigma(\cdot)
σ(⋅) 代表以
R
e
L
U
(
⋅
)
ReLU(\cdot)
ReLU(⋅) 为例的非线性**函数
与简单地作用于整个图的普通GCN相比,对每个超边分别执行卷积操作。其基本原理是,我们可以将来自超边的细粒度本地结构信息合并到已学习的节点嵌入中。为了实现这一点,文章对每一条超边
e
e
e 定义了一个度矩阵
S
e
∈
R
∣
V
∣
×
∣
V
∣
S_e \in \mathbb{R}^{|\mathcal{V}|\times|\mathcal{V}|}
Se∈R∣V∣×∣V∣,矩阵中的每一个点
S
e
(
v
i
,
v
j
)
S_e(\mathcal{v_i,v_j})
Se(vi,vj) 被定义为:
其中
p
(
v
,
e
)
p(v, e)
p(v,e) 表示在超边
e
e
e 中观察节点
v
v
v 的可能性,其计算取决于超边的特定定义。之后定义
A
^
=
I
∣
V
∣
+
D
−
1
2
A
D
−
1
2
\hat{A}=I_{|\mathcal{V}|}+D^{-\frac{1}{2}}AD^{-\frac{1}{2}}
A^=I∣V∣+D−21AD−21 其中
D
∈
R
∣
V
∣
×
∣
V
∣
D \in \mathbb{R}^{|\mathcal{V}|\times|\mathcal{V}|}
D∈R∣V∣×∣V∣ 是一个对角矩阵,其中的值代表每一个节点在简单图中的度,
A
A
A 代表简单图中的邻接矩阵,
I
∣
V
∣
I_{|\mathcal{V}|}
I∣V∣ 代表单位矩阵,基于此超边
e
e
e 的邻接矩阵可以被定义为
直观地,
A
e
A_e
Ae可以看作是超边
e
e
e 中直接连接节点的邻接矩阵,再由
S
e
(
v
i
,
v
j
)
S_e(\mathcal{v_i,v_j})
Se(vi,vj)中的超边连通性对其进行加权。因此,在执行简单的图卷积时,我们可以同时考虑两种类型的本地节点-节点结构信息,使已学习的基嵌入更具表现力。根据(1),通过对所有超边求和,可以得到对整个简单图G的卷积运算:
⊕
⊕
⊕ 代表对每一条超边
e
e
e 进行本地图卷积运算后将结果进行级联操作,
f
(
⋅
)
f(\cdot)
f(⋅) 表示将连接的嵌入映射回
d
d
d 维空间的密集层。
3.3 Convolution on Hypergraphs
再简单图上学习到节点的嵌入表示 X s i m p l e K X_{simple}^K XsimpleK之后,我们希望在每一个节点表示中继续加入构造后的超图 G h \mathcal{G^h} Gh 中包含的结构化信息。近年来,超图卷积网络开始受到网络嵌入研究界的关注。不同于大多数相关工作利用频谱卷积理论推导超图卷积,本文中将其视为简单图卷积的广义版本,推导出了超图卷积的数学形式,使推理过程更加直观、自然。
超图的关联矩阵
H
∈
R
∣
V
∣
×
∣
E
h
∣
H \in \mathbb{R}^{|\mathcal{V}|\times|\mathcal{E^h}|}
H∈R∣V∣×∣Eh∣ 中的元素值被定义为
其中
p
(
v
,
e
)
p(v,e)
p(v,e) 的含义与上一节中在简单图中的图卷积意义相同,定义对角矩阵
D
n
∈
R
∣
V
∣
×
∣
V
∣
,
D
n
(
v
,
v
)
=
∑
e
∈
E
h
H
(
v
,
e
)
D_n \in \mathbb{R}^{|\mathcal{V}|\times|\mathcal{V}|},D_n(\mathcal{v,v})=\sum_{e \in \mathcal{E^h}}H(v,e)
Dn∈R∣V∣×∣V∣,Dn(v,v)=∑e∈EhH(v,e),相似的超边的度矩阵可以被表示为
D
e
∈
R
∣
E
h
∣
×
∣
E
h
∣
,
D
e
(
e
,
e
)
=
∑
v
∈
V
H
(
v
,
e
)
D_e \in \mathbb{R}^{|\mathcal{E^h}|\times|\mathcal{E^h}|},D_e(e,e)=\sum_{\mathcal{v \in V}}H(v,e)
De∈R∣Eh∣×∣Eh∣,De(e,e)=∑v∈VH(v,e)。节点的度矩阵和边的度矩阵可以分别理解为节点与多少条超边相关,一条超边中含有多少个节点。基于此加权的邻接矩阵
A
h
∈
R
∣
V
∣
×
∣
V
∣
A_h \in \mathbb{R}^{|\mathcal{V}|\times|\mathcal{V}|}
Ah∈R∣V∣×∣V∣ 可以表示为
在获得了超图的邻接矩阵后,我们可以很自然地将简单图卷积推广到超图
G
h
\mathcal{G^h}
Gh。回想一下,在2017年发表的图卷积经典论文中给出的典型GCN框架中,对于一个简单图
G
s
=
{
V
s
,
E
s
}
\mathcal{G^s = \{V^s, E^s\}}
Gs={Vs,Es},标准图卷积定义为:
其中
D
s
D_s
Ds 包括了图中所有节点的度,
A
s
A_s
As 代表图的邻接矩阵。除单位矩阵
I
∣
V
s
∣
I_{|\mathcal{V}^s|}
I∣Vs∣外,上述标准图卷积的核心依赖于度矩阵和邻接矩阵
D
s
D_s
Ds 和
A
s
A_s
As 中编码的节点关系。因此,将其输入替换为从超图
G
h
中
\mathcal{G}^h中
Gh中提取的相应信息,我们可以像对每一层
k
k
k 的标准GCN一样,有效地对超图卷积建模:
其中满足
X
k
=
X
s
i
m
p
l
e
K
,
k
=
0
X^k=X^K_{simple},k=0
Xk=XsimpleK,k=0。假设我们在超图上也采用
K
K
K 层卷积,那么多层图卷积网络的最终输出为
X
K
X^K
XK。这样,在
X
s
i
m
p
l
e
k
+
1
X^{k+1}_{simple}
Xsimplek+1 中生成的节点嵌入既可以捕获成对关系(即1跳邻域),也可以捕获高阶非成对关系(即超边)。当用于训练的观察锚节点数量有限时,这一点尤为重要。
3.4 Learning Network Embeddings
对于网络嵌入,通过最大化正边的概率和最小化负边的概率来学习(9)中的输出嵌入:
其中
η
(
⋅
,
⋅
)
\eta(\cdot,\cdot)
η(⋅,⋅) 代表 sigmoid函数来计算包含
(
v
i
,
v
j
)
(v_i,v_j)
(vi,vj)的概率
对于训练集中给定的正边 ( v i , v j ) (v_i,v_j) (vi,vj),我们使用双向负采样策略绘制负边进行训练。具体来说,我们固定 v i v_i vi,通过一个关于 d v 0.75 d_v^{0.75} dv0.75的噪声分布 P n ( v ) P_n(v) Pn(v)生成 M M M 个负节点 v k v_k vk,其中 d v d_v dv 是节点 v v v 的度数。然后,我们用同样的方法固定 v j v_j vj 并采样 M M M个负节点。通过对(10)的优化,我们可以从最后一层 k k k 中得到 X K X^K XK 中最优的嵌入值,然后将最终的嵌入值进一步用于下游锚链预测任务。
3.5 Anchor Link Prediction
在得到两个图的嵌入表示
X
1
K
X_1^K
X1K 和
X
2
K
X_2^K
X2K 之后我们不能直接将其用于连接预测,因为两者被映射在了不同的表示空间,这在语义语境中有很大的不同。相反,我们首先将它们协调到相同的潜在空间中,然后使用对齐的嵌入来进行锚链预测。为了将
X
1
K
X_1^K
X1K 和
X
2
K
X_2^K
X2K 映射到同一个空间中,我们将
X
1
k
X^k_1
X1k固定下来,并将
X
2
K
X_2^K
X2K 投影到
X
1
K
X_1^K
X1K 所在的同一个空间中。让
γ
(
.
∣
Γ
,
b
)
γ(.|Γ,b)
γ(.∣Γ,b) 是一个投影函数的投影矩阵
Γ
Γ
Γ 和偏置矩阵
b
b
b。然后,通过调整锚节点在两个图中的嵌入表示,我们可以学习投影函数中的参数,从而确保两者被映射到同一空间:
其中
γ
(
.
∣
Γ
,
b
)
=
x
Γ
+
b
γ(.|Γ,b)=xΓ+b
γ(.∣Γ,b)=xΓ+b,
S
a
n
c
h
o
r
S_{anchor}
Sanchor 代表带标签的锚点链接。那么,对于任意一对节点
(
v
i
,
v
j
)
,
v
i
∈
G
1
,
v
j
∈
G
2
(v_i,v_j),v_i \in \mathcal{G_1},v_j \in \mathcal{G_2}
(vi,vj),vi∈G1,vj∈G2,这对节点的表示可以用它们对应的嵌入连接表示。我们将这对嵌入发送到一个全连接网络中,最后输出它们是否是锚链的预测,并使用交叉熵作为锚链预测的损失函数。
3.6 Handling Large-Scale Networks
虽然基于GCN的方法在各种任务中得到了广泛的应用,但是大多数相关方法在处理大规模网络时仍然存在“最后一英里”的问题,因为大多数基于GCN的方法需要全局邻接矩阵作为输入,这很容易造成GPU计算的内存不足问题。此外,随着网络规模的增大,计算时间也会增加。因此,我们需要一个有效的图划分策略,以便并行部署所提议的MGCN。
为此,我们首先通过算法1提出一种图划分方法,并提出一种两阶段协调机制,如图2所示。具体来说,我们根据模块化最大化将大型网络划分为几个分区,然后在每个分区上部署我们的模型。对于每一个图,
在对整个图进行分区时,我们使用保留的锚节点将所有分区的潜在空间协调到同一个分区中。然后,我们使用从两个图中观察到的锚节点将
G
1
\mathcal{G_1}
G1 和
G
2
\mathcal{G_2}
G2 的嵌入对齐到相同的潜在空间中。
3.6.1 Graph Partition
如算法1所示,为了将大型网络分割成若干个大小可接受的分区(例如,从
N
m
i
n
N_{min}
Nmin 节点到
N
m
a
x
N_{max}
Nmax 节点),我们首先使用Louvain算法计算模块化程度最大的网络分区。对于每个分区
G
′
=
{
V
′
,
E
′
}
\mathcal{G ' = \{V ', E '\}}
G′={V′,E′},如果其大小大于上界,即
∣
V
′
∣
>
N
m
a
x
|V ' | > N_{max}
∣V′∣>Nmax,我们再次将
G
′
G'
G′ 作为输入,重复算法将
G
G
G '进一步分割成更多更小的分区。如果
∣
V
′
∣
<
N
m
i
n
|V ' | < N_{min}
∣V′∣<Nmin,则随机将其分配给其他已创建的分区。
3.6.2 Reconcile Latent Embedding Spaces
将模型独立地部署到不同的分区实际上会在不同的潜在空间中产生嵌入。因此我们需要进一步将不同的分区匹配到相同的表示空间中。在这里,从网络中选择 N N N 个节点作为跨所有分区的共享节点,并将这 N N N 个节点以及它们的关联边附加到所有分区中。然后选择一个固定的分区,并将其他分区协调到同一个空间中,例如,对于所有 P P P 分区 G 1 , G 2 , ⋅ ⋅ ⋅ , G P \mathcal{{G_1, G_2,···,G_P}} G1,G2,⋅⋅⋅,GP,我们修复分区 G 1 \mathcal{G_1} G1 和所有其他分区的嵌入通过线性函数转换 g ( ⋅ ) g(\cdot) g(⋅)。最大化以下目标:
V
s
h
a
r
e
d
\mathcal{V}_{shared}
Vshared 是一组共享的节点出现在所有分区,和
x
i
(
p
)
x_i^{(p)}
xi(p) 是节点的表示
v
i
v_i
vi在
p
p
p 分区。因为我们已经将每个分区的解雇映射到相同的空间,因此我们可以得到最终网络的嵌入,由此根据(11)可以得到最终的结果。
3.7 Optimization Strategy
在本文中采用逐步训练策略来训练模型,具体地说,通过优化图嵌入目标函数 O e m b e d d i n g O_{embedding} Oembedding 来第一次训练MGCN模型。然后对图划分协调目标函数 O p a r t i t i o n O_{partition} Opartition(即第一阶段空间协调)进行优化,再对协调目标 O a n c h o r O_{anchor} Oanchor(即第二阶段空间协调)进行优化。最后,利用两个图中完全对齐的节点嵌入,通过最小化交叉熵损失来优化用于锚链预测任务的MGCN