【论文阅读】Collaborative Knowledge Distillation for Heterogeneous Information Network Embedding
1. 来源
论文地址:(2022’ WWW) Collaborative Knowledge Distillation for Heterogeneous Information Network Embedding
2. 介绍
2.1 什么是异构信息网络(HINs)?
异构信息网络(HINs)是由多种类型的节点或边组成,是建模复杂交互的强大工具,包括社会网络、书目网络和生物网络。随着网络规模和结构复杂性的增长,利用低维节点表示捕获 HINs 中的结构邻近性,对于下游任务至关重要,这在学术界和业界都引起了越来越多的关注。
- 与单一节点和边的同质网络相比,HINs 不同的是节点之间的连接模式,通常由元路径表示为节点类型和边类型的有序序列和节点(由多个不同语义意义的元路径连接)。
- 以书目网络为例,书目网络(下图所示)通常由三种类型的节点组成:作者(A)、论文§和地点(V)。
- 两位作者由作者-论文-作者(APA)和作者-论文-地点-论文-作者(APVPA)联系起来,描述了作者之间的合著者和共同地点关系。
2.2 现有方法如何学习异构信息网络?存在局限性?
大多数现有的 HIN 嵌入方法通常都是独立地从每个元路径中学习嵌入,并将它们融合成一个统一的元路径作为最终输出。
现有的方法很有效,但作者认为这些方法并不足以产生令人满意的结果。
- 尽管每个元路径都包含了 HIN 的特定语义意义,但它们本质上是相关的,因为它们反映了同一对象的不同视角。例如,有两名研究人员共同撰写了一篇论文(元路径APA),他们倾向于分享相似的研究兴趣,并且更有可能在同一地点提交论文(元路径APVPA)。
- 这两条元路径显然是相关的,来自一个元路径的知识将有利于另一个元路径学习其嵌入。
然而,现有方法中的原型将每个元路径视为一个孤立的语义在学习元路径嵌入过程中忽略了它们之间的关系。虽然元路径嵌入最终会被集成,但中间结果的不足会导致最终表示的次优性。
2.3 如何解决?
由于每个元路径的语义意义存在冲突,因此同时保留每个元路径的语义意义和不同元路径之间的相关性是具有挑战性的。
- 一种简单的方法是通过正则化来对齐元路径嵌入。但这将使每个元路径的学习嵌入均质化,损害HIN的基本异质性。
受协作知识蒸馏最新进展的启发,作者提出了一种新的协作知识蒸馏(CKD)框架,以明确地保留语义意义和元路径之间的相关性。具体做法如下:
- 首先采用图扩散和上下文子图采样策略来解决不同元路径的不同稀疏性问题。
- 然后用两个不同的粒度对每个元路径中的知识进行建模,即区域知识和全局知识。
- 每个元路径中的知识都是协作提炼的,以相互增强。利用互信息来指导元路径内和元路径间的蒸馏,以学习更好的嵌入。
论文的主要贡献总结如下:
- 首次尝试用协作知识蒸馏框架来建模HIN嵌入中的元路径之间的相关性。
- 通过对每个元路径中的区域和全局知识进行建模,模型可以通过元路径间和元路径内的协作知识蒸馏,有效地保留最终嵌入中的局部和全局模式。
- 在6个真实世界的HINs上进行了大量的实验,包括节点分类、链接预测和消融研究,证明了框架的有效性。
3. CKD 模型解读
CKD模型主要由三个部分组成:语义上下文子图采样、异构知识建模和协作知识蒸馏,接下来依次解读。
3.1 语义上下文子图采样
图神经网络(GNNs)的成功证明了通过聚合来自邻域节点的信息来学习节点嵌入的有效性。但是,在不同的元路径上简单地应用图神经网络进行嵌入学习是不够的,原因如下:
- 稀疏问题。在一些元路径中,节点之间的关系可能是有价值的,但却是稀疏的。例如,合著者关系对作者分类至关重要,而大多数作者可能只有有限数量的合著者。
- 这会导致应用于元路径APA的图神经网络不能从有限的社区收集足够的信息。
- 冗余方面的问题。在一些元路径中,节点之间的关系可能是丰富的,但又是冗余的。例如,每个作者都可以通过共同地点的关系与成千上万的其他作者联系起来,而其中只有少数作者是相关的。
- 这会导致应用于元路径APVPA上的图神经网络将聚合来自冗余邻域的噪声信息。
为此,作者利用图扩散技术来扩散(平滑)出不同元路径对应的图上的邻域。然后选取一个包含足够结构信息的固定大小的子图,用于基于元路径的嵌入学习。
给定一个HIN G = { V , E , R } \mathcal{G} = \{\mathcal{V},\mathcal{E},\mathcal{R}\} G={V,E,R} 和元路径集 M \mathcal{M} M。
- 对于每个元路径 m ∈ M m∈ \mathcal{M} m∈M,首先将 HIN 投影到基于元路径的同构网络 G m G^{m} Gm 中,其中如果节点 v i v_i vi 和 v j v_j vj 通过元路径𝑚连接,则 G i j m = 1 G^m_{ij} = 1 Gijm=1,否则为$G^m_{ij} = 0。
- 然后,利用一个被称为个性化PageRank(PPR)的广义图扩散来测量
G
m
G^{m}
Gm 中节点之间的连通性,如下所示:
其中 S m ∈ R N × N S^m \in R^{N\times N} Sm∈RN×N 是扩散矩阵, N N N 或 n n n 是目标类型节点的个数, A m ∈ R N × N A^m \in R^{N\times N} Am∈RN×N 是基于元路径的同构网络 G m G^m Gm 的邻接矩阵。 D m D_m Dm 是基于 A m A^m Am的对角度矩阵。 α \alpha α 是一个参数,被设置为0.15。- 扩散矩阵已被证明是从噪声图中恢复得到有意义的邻域的有效方法,这对于克服基于元路径的同构网络的变化稀疏性和冗余问题至关重要。
直觉上来说,节点与其区域邻居相关,而远程节点为节点嵌入学习提供的信息有限。
- 为了进一步提高效率,作者提出了一种语义上下文子图采样策略,基于图扩散
S
m
S^m
Sm 采样
t
o
p
top
top-
K
K
K 重要邻居(包括节点本身),构成一个上下文子图
C
i
m
C^m_i
Cim,用于基于元路径的节点嵌入学习,可表示为:
其中, K K K 为上下文图的大小, top_rank() \text{ top\_rank() } top_rank() 函数返回按相似度排序的节点索引。扩散矩阵 S m S^m Sm 可以在模型训练开始前预先计算,并支持并行计算,从而使模型可以应用于不适合GPU内存的图。语义上下文子图采样易于并行,并可扩展到大型数据集。
3.2 异构知识建模
给定一个HIN G = { V , E , R } \mathcal{G} = \{\mathcal{V},\mathcal{E},\mathcal{R}\} G={V,E,R} 和元路径集 M \mathcal{M} M,HIN 可以被投影到具有语义意义的同质信息网络 G m G^m Gm中。为了明确地提取出包含异构信息网络嵌入的知识,
作者首先在每个语义空间中建模两个粒度的异构知识,即区域知识和全局知识。
-
给定以节点 v i v_i vi 为中心的基于元路径的上下文子图 C i m C^m_i Cim,通过使用图卷积网络(GCN)聚合来自子图 C i m C^m_i Cim 中的上下文节点的信息来学习节点的嵌入 h i h_i hi:
其中, H m ∈ R N × d H^m \in R^{N \times d} Hm∈RN×d 是基于元路径的d 维节点嵌入, A ~ m = A m + I \tilde{A}^m = A^m + I A~m=Am+I 是添加了自连接的上下文子图 G m G^m Gm的 相邻矩阵, D ~ m \tilde{D}^m D~m是对应的度矩阵, X m X^m Xm 是特征矩阵, W m W^m Wm 是针对源路径 m 的可学习权重矩阵。这里也可以使用图注意力网络。 -
然后在每个上下文子图 C i m C^m_i Cim 中,学习中心节点 v i v_i vi和上下文节点 v j , j ≠ i v_{j,j\neq i} vj,j=i的节点嵌入。每个节点 v j ∈ V v_j \in \mathcal V vj∈V 可以是上下文嵌入的上下文子图中不同上下文中心节点的上下文节点。作者只使用从子图 C i m C^m_i Cim 中学习到的中心节点嵌入 h i m h_i^m him 来进行优化和下游任务。
3.2.1 区域知识
对于HIN G \mathcal{G} G中的每个节点 v i ∈ V v_i \in \mathcal V vi∈V,它们都有与邻域节点的个性化连接模式,这可以通过其周围的区域节点反映出来。然而在不同元路径对应的语义空间中,这种连接模式可能会有所不同,这对于基于元路径的嵌入学习是不够的。
为了解决这个问题,作者将每个语义空间中的区域知识建模为嵌入在它周围的子图级。
- 给定基于元路径 m 的以节点
v
i
v_i
vi 为中心的采样的上下文子图
G
i
m
G_i^m
Gim,子图级的嵌入
l
i
m
l_i^m
lim 是通过利用局部读出函数
R
l
:
R
(
K
)
×
d
→
R
d
\mathcal{R}_{l}: \mathbb{R}^{(K) \times d} \rightarrow \mathbb{R}^{d}
Rl:R(K)×d→Rd 在每个子图中学习的节点嵌入上获得的:
其中, h j m h_j^m hjm是上下文子图 G i m G_i^m Gim 中节点的上下文嵌入,包括中心节点 v i v_i vi 和 其他上下文节点。 σ ( x ) = 1 / ( 1 + exp ( − x ) ) \sigma(x)= 1 /(1+\exp (-x)) σ(x)=1/(1+exp(−x)) 是 sigmoid 函数。基于上述定义,一个良好的基于元路径的节点嵌入 h j m h_j^m hjm 可以从元路径 m 和其他元路径 m ′ ∈ M , m ′ ≠ m m^{\prime} \in \mathcal{M}, m^{\prime} \neq m m′∈M,m′=m 中提取区域知识,从而很好地保存连接模式。
3.2.2 全局知识
虽然区域知识提供了每个节点的局部连接模式,但并不能保留在所有位置中共享的 HIN 的全局连接模式。
为了解决这个问题,作者将全局知识定义为元路径级嵌入 p m p^m pm。
- 它是通过利用中心节点嵌入上的全局读取函数
R
g
:
R
N
×
d
→
R
d
\mathcal{R}_{g}: \mathbb{R}^{N \times d} \rightarrow \mathbb{R}^{d}
Rg:RN×d→Rd 获得的:
式中, h i m h_i^m him为中心节点级嵌入,𝜎 为非线性激活函数。一个良好的基于元路径的节点嵌入可以从所有元路径中提取全局模式。框架图中展示了 CKD 模型的前向传播,以及节点嵌入、子图级嵌入和元路径级嵌入的定义。
3.3 协作式知识蒸馏
基于上述建模的异构知识,一个良好的基于元路径的嵌入方法可以从所有的元路径 m ∈ M m \in \mathcal{M} m∈M 中提取区域知识和全局知识,这是一个典型的协作知识蒸馏问题。我们利用互信息(MI)作为蒸馏的测量度量,它已被广泛用于捕获变量之间的非线性统计依赖关系。
3.3.1 元路径内协同蒸馏
元路径内协同蒸馏的目的是同时提取每个元路径内的区域和全局知识,以改进节点的嵌入。通过节点嵌入
h
i
m
h_i^m
him 和子图级嵌入
l
i
m
l_i^m
lim,元路径级嵌入
p
m
p^m
pm 之间的互信息来衡量蒸馏。元路径内协同蒸馏的目标定义为:
其中,MI是后面将介绍的互信息估计器。
3.3.2 元路径间协作蒸馏
元路径间协同蒸馏的目的是同时提取不同元路径之间的区域和全局模式。作者使用类似的方法来提取元路径内协作蒸馏,而不同之处在于嵌入来自不同的元路径。元路径间协同蒸馏的目标定义为:
3.3.3 互信息估计
有几种互信息估计器可用,包括詹森-香农散度(JSD)和InfoNCE。为简单起见,作者使用了基于 JSD 的互信息估计器,其表述为:
式中,
s
p
(
x
)
=
log
(
1
+
e
x
)
s p(x)=\log \left(1+e^{x}\right)
sp(x)=log(1+ex) 为软加函数,
P
P
P 为阳性样本的分布,
P
~
\tilde P
P~ 为负样本的分布。
- 对于区域知识,
- 正样本:来自于 l i n , n ∈ M l_i^n,n \in \mathcal{M} lin,n∈M 的上下文子图嵌入 l i m l_i^m lim;
- 负样本:其他随机抽样节点。
- 对于全局模式依赖,
- 正样本:元路径级嵌入 g m g^m gm;
- 负样本:被破坏网络的元路径级嵌入(遵循现有方法的策略,首先破坏节点属性,然后学习坏的源路径嵌入)。
3.4 模型训练
CKD模型的总体目标是将元路径内和元路径间的协作知识蒸馏相结合,其表述为:
当目标得到优化后,我们得到了基于元路径的节点嵌入
h
i
m
h_i^m
him。通过简单地总结所有基于元路径的节点嵌入来学习统一嵌入:
采用Adam优化器来最小化目标,并以无监督的方式学习最优节点的嵌入。
4. 实验
4.1 所用数据集
4.2 节点分类
4.3 链接预测
5. 总结
在本文中,作者提出了CKD框架,这是首次尝试对异构信息网络嵌入的协同知识蒸馏,在模型中
- 首先对每个元路径中的区域知识和全局知识进行建模,
- 然后分别从元路径内和元路径间的方式协同提取知识。
- 利用互信息作为指导蒸馏过程的方法。
- 在6个真实世界的HIN数据集上进行了广泛的实验,结果证明了所提出的CKD框架的有效性。