论文阅读|深读RDAA:Role Discovery-Guided Network Embedding Based on Autoencoder and Attention Mechanism
Posted 海轰Pro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文阅读|深读RDAA:Role Discovery-Guided Network Embedding Based on Autoencoder and Attention Mechanism相关的知识,希望对你有一定的参考价值。
目录
- 前言
- 简介
- Abstract
- I. INTRODUCTION
- II. RELATED WORK
- III. METHODOLOGY
- IV. PERFORMANCE EVALUATION
- V. CONCLUSION
- 读后总结
- 结语
前言
Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
自我介绍 ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研。
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
原文链接:https://ieeexplore.ieee.org/abstract/document/9517031
期刊:IEEE Transactions on Systems, Man, and Cybernetics: Systems
代码:https://github.com/cspjiao/RDAA
年度:2021/06/29
Abstract
近年来,网络嵌入(network embedding, NE)是复杂网络研究中的一个热点,致力于各种各样的任务
几乎所有的网络模型和方法都是基于网络的局部相似性、高阶相似性或全局相似性,很少有研究聚焦于角色发现或结构相似性,这对传播动力学和网络理论具有重要意义
同时,现有的角色发现NE模型存在两方面的局限性:
- 不能对每个节点与其相邻节点之间的依赖关系进行建模
- 不能捕获有助于角色发现的有效节点特征
依据role发现的NE方法的一些缺陷
这使得这些方法在应用于角色发现任务时失效
为了解决NE角色发现或结构相似性问题,我们提出了一种统一的深度学习框架RDAA
- 该框架可以有效地表示节点的特征
- 用深度自编码器对角色发现引导的NE有益
- 同时使用Attention机制对局部链接进行建模
此外,我们精心设计了一种绑定技术,将两者结合起来,统一优化框架
我们进行了不同的实验,包括可视化、角色分类、角色发现,以及与流行的NE方法在邻近性和结构相似性方面的运行时间
RDAA在所有数据集上都有更好的性能,并实现了良好的权衡
I. INTRODUCTION
社交媒体的爆发式增长推动了社交网络分析的快速发展
由于现实世界中大规模网络的稀疏性,如何有效地表示节点信息对于许多网络任务[1]来说是极其重要的
网络嵌入(Network embedding, NE)是近年来最流行的用于表示和分析大规模网络的工具,其目的是将网络节点嵌入到低维空间中,同时保留网络拓扑[2]的重要特征
然后,学习到的保留结构信息的节点表示可以应用于网络分析的下游任务,如节点分类[3]、团体检测[4]、推荐系统[5]、链路预测[6]
针对NE提出了多种方法和模型,一般可分为基于随机漫步、矩阵分解、统计网络模型和机器学习的方法
受word2vec[7]的启发
- DeepWalk[8]首先致力于学习基于经典图上随机漫步的节点嵌入,并通过分层Softmax进行优化,然后针对不同类型的随机漫步[6]开发了其他一些方法
奇异值分解(SVD)和非负矩阵分解因其对低秩特征的最优性而在NE中得到了广泛的应用
此外,基于神经网络特别是深度学习的NE方法也不断被提出[1],[9]。例如
- SDNE[10]可以基于自编码器联合利用一阶和二阶近度进行节点嵌入
- DVNE[11]可以通过集成基于变分自编码器(VAEs)的节点嵌入的不确定性来维持网络结构
- GraphSAGE[12]可以利用节点特征信息对之前未见过的数据高效地生成节点嵌入
- [13]提出了分析用于嵌入的图神经网络的理论框架。提出了更高效的鲁棒优化[14]和社区增强[15]方法
- 更详细的评论可以在[16]-[18]中看到
本质上,这些作品大多试图保留网络结构[19]或组合的局部(第一和第二相似性)、高阶(motif和群落相似性)或全局邻近性
然而,在各种现实世界的网络中,有一些情况下
两个节点即使没有共享一个连接,甚至相隔很远,但却扮演着相同的角色或占据着相同的位置[20],这也被称为结构相似性问题
我们的目标是学习可以分配节点角色的嵌入
如图1所示,虽然节点 f f f和节点 d d d在网络中距离较远,但它们的作用是相同的,因为它们都被红节点包围
这通常与复杂网络中的角色发现或结构相似的内涵相对应,可用于在线社交网络(如Facebook、Twitter、Yelp)的在线广告活动,在传播、网络理论、网络分析[16]中具有重要意义
然而,考虑到这个问题的特殊性,所有这些方法都无一例外地失败了
具体来说,角色发现或结构相似性[21]通常表示为在网络中搜索一组连接模式相似的节点
原则上,确实有一些不同类型的传统方法可以解决这个问题[22],例如,基于图的方法、基于特性的方法和混合方法
在所有这些方法中,角色发现最重要的步骤是从复杂网络中提取节点特征,或者根据网络的邻接矩阵计算相似度
然而,这些传统的基于特征工程[23]或矩阵分解[24]的角色发现工作,无法处理大规模的社交网络
在NE化趋势下,由于该问题与以往的节点嵌入有本质区别,如何学习角色发现引导的网元仍然是一个开放而重要的问题[25]。
近年来,在[20]和[26]-[29]中已经开发出了一些专注于角色发现或结构相似性的学习嵌入方案
然而,对于角色或结构相似性的节点嵌入仍然面临如下许多挑战
- 扮演相同角色的节点通常是断开连接的[30]。如图1所示,相邻节点结构相似的节点,如节点d和节点f,在网络中通常相距较远。
- 一个节点的角色依赖于它的邻居节点,并且与它的邻居节点有不同的依赖关系。 如图1所示,节点 f f f和节点 s s s具有相同的角色,因为它们都连接到多个红色节点,而节点f的角色独立于节点e和节点u的角色。然而,目前的工作如DRNE[20]忽略了每个节点与其邻居节点之间不同的依赖关系。如何学习专注于每个节点和它的邻居之间最相关的依赖关系的嵌入还没有解决。
- 从网络中提取隐含的角色特征来指导基于角色的NE是一项有趣但困难的工作。虽然node2vec[6]可以通过结构相似性[31]在一定程度上提取角色特征,但利用宽度优先搜索获得局部特征来发现角色是不够的。有必要研究一种角色发现引导的网元方法来解决这些挑战。
一方面,对于挑战1和挑战2,我们设计了角色注意机制,不仅通过递归学习步骤驱动递归相似性21,而且自然聚合其嵌入的邻居节点(挑战2)
另一方面,对于挑战3,我们采用有效的特征提取方法提取节点的高维特征表示,可以揭示节点在给定网络中的角色
尽管这两个部分对角色发现至关重要,但要保持每个节点及其邻居和特性之间的不同依赖关系是不现实的,而且效率低下
然后,最重要的问题是如何通过统一的模型学习嵌入角色注意和角色特征矩阵的节点,使嵌入的节点更有效地揭示角色特征
为了解决上述挑战,我们设计了一个统一的深度学习框架RDAA,用于角色发现引导的NE
首先,我们采用递归特征提取方法获取节点的高维角色特征,可以探索被观测结构信息无法实现的潜在角色特征
然后,我们利用自动编码器框架将其编码到一个矢量空间,然后派生出一个角色注意机制,以有效地描述每个节点与其邻居节点之间的不同依赖关系
最后,我们设计了一种精细的绑定技术,将两部分结合在一起。通过将基于隐藏特征表示的自编码器和角色注意整合到注意机制中,设计一个联合损失函数进行训练,使上述两部分相互增强
此外,还进行了大量的定量和定性实验,以验证所提出的方法的有效性
主要贡献可归纳如下。
- 我们设计了一个统一的深度学习框架RDAA,用于角色发现引导的NE,它集成了自编码器和角色注意机制。
- 提出的深度学习框架可以提取角色的特征,有效地刻画每个节点与其相邻节点信息之间的不同依赖关系,并在原理上巧妙地融合了上述两部分
- 在基于角色的任务上的实验结果,包括结构化角色分类、角色可视化,以及在几个真实网络上的角色发现案例研究,表明RDAA模型与其他先进的方法相比可以取得显著的改进。
II. RELATED WORK
本文介绍了角色发现、角色发现或结构相似性指导的NE和自编码器框架方面的一些重要研究成果
A. Role Discovery
在网络科学中,角色发现(role discovery)研究[32]-[36]已有数十年的历史,其目的是区别节点[21]的功能或行为
认为相似角色的节点具有相似的连接模式(或更高阶结构)[37]
- Lorrain和White[32]首先根据结构等价性定义了节点的角色。该标准规定连接到相同邻居的节点扮演相同的角色。它的严格程度使得网络中相距较远的节点失效
- 为了放宽这一标准,White和Reitz提出了规则等价[34],即相同角色的节点有角色等价的邻居
- Nowicki和Snijders[36]提出了随机等价,说明节点的角色是由邻居角色的分布决定的。无论以后使用什么方法来挖掘节点角色,它们都遵循或尝试接近这些标准。例如,RoleSim[35],一个满足公理角色相似属性的角色相似度量,通过迭代计算过程满足常规等价标准。
还有一些其他的方法可以通过使用基于图或基于特征的结构相似性来挖掘角色
- refex[23]是一种递归的特征聚合方法,可以获得丰富的结构信息
- RolX[24]和GLRD[38]通过分解基于refx的特征矩阵来获取结构相似性
- RC-Joint[39]旨在同时检测社区和角色。在检测角色时,它利用最小散列签名有效地逼近角色相似性
- REACT[40]和struc2gauss[41]利用RoleSim将节点之间的相似性映射到向量空间
- RIDεRs通过ε-公平划分形成网络,并基于全局特征挖掘角色
B. NE for Structural Similarity
最近,受网络理论的启发,人们提出了几种保持网络结构相似性的方法,并用于角色发现。
- SNS[26]首先提出了利用结构信息进行网元处理以提高其质量,并通过结构相似性信息从本质上提高了嵌入的稳定性
- Struc2vec[30]将基于近邻度的相似度转换为完全图的边缘权值,并利用语言模型进行嵌入
- Role2vec[42]将语言模型的输入替换为基于motif-count的指示器
- DRNE[20]通过递归的方式聚合其邻域的嵌入来学习每个节点的表示
- HONE[27]是一种用于节点嵌入的高阶网络表示学习方法,它利用多重加权motif邻接矩阵来捕获结构角色的概念
- NRDR[28]基于两个目标学习基于角色的嵌入:一个是级联建模目标,目的是使观察到的级联的可能性最大化;另一个是矩阵分解目标,目的是重建结构的近邻
- GraphWave[43]利用热-小波扩散模式来表示节点,并将它们视为分布
- SEGK[44]通过在节点中心子图上应用图核方法计算节点之间的结构相似性,并通过矩阵分解生成嵌入
- SPaE[29]是一种基于graphlet度向量概念的混合网元方法,它同时结合了结构邻近性和相似性
C. Autoencoder for Complex Networks
由于能够对网络的高阶非线性特性进行建模,为NE开发了自编码器[10],[45]框架及其扩展。
- SDNE[10]首先被设计用于将网络的一阶二阶邻近性纳入编码器-解码器框架,并分别将网络结构捕获为半监督和无监督形式。三联增强自编码器[46]基于度量学习捕获拓扑结构并保留判别信息
- AAANE[47]由一个基于注意的自编码器(约束潜在嵌入的后后分布)和一个对抗性正则化(约束先验分布的一致性)组成,因此,它可以促进不同尺度的鲁棒嵌入的协作
- 受VAEs的启发,Zhu等[11]提出了Wasserstein空间中的NE的DVNE,它学习了每个节点的高斯分布,并保持了网络的传递性。
- Chen等[48]提出了基于拉普拉斯特征映射的变分图嵌入和聚类,这是一种基于VAE的生成模型
- 在NE[49]中引入对抗性学习原理
- 在[50]和[51]中分别提出对抗性正则化图自编码器和自编码器
- 在[52]中提出了一个通用框架,通过优化节点重建损失和在整个图中传播嵌入,将自动编码器和VAE扩展到具有数百万个节点和边的图。
然而,上述几乎所有的方法都主要是为了捕捉网络中的邻近性,而不能对结构相似性和角色发现进行建模。
III. METHODOLOGY
在本节中,我们将介绍角色发现中NE的一些表示法和定义
然后给出所提出框架的详细构建过程,包括特征提取模块、编码器-解码器过程和角色注意机制
最后,我们展示了如何优化损失函数及其计算复杂度。
A. Notations and Definitions
给定一个无向无权网络 G = ( V , E ) G = (V, E) G=(V,E)
- V V V为节点集
- E ⊆ V × V E⊆V × V E⊆V×V为边集
- 节点 i i i的邻居为 N ( i ) = j ∣ ( i , j ) ∈ E N_(i) = \\j|(i, j)∈E\\ N(i)=j∣(i,j)∈E
- A A A表示邻接矩阵,其中 A i , j = 1 A_i,j = 1 Ai,j=1表示 ( i , j ) ∈ E \\(i, j)∈E\\ (i,j)∈E,否则表示 A i , j = 0 A_i,j = 0 Ai,j=0
通常表示网元学习一个映射 F : V → R d F: V→R^d F:V→Rd
- 其中 d < < ∣ V ∣ d << |V| d<<∣V∣为嵌入维数
- n = ∣ V ∣ n = |V| n=∣V∣为节点数
Definition 1 (Network Embedding)
给定网络G的拓扑信息(如邻接矩阵),NE旨在学习G中每个节点 i i i的连续向量 z i z_i zi,使这些向量能够揭示网络的统计结构特征
Definition 2 (Role Discovery Guided Network Embedding)
角色发现或基于结构相似性的NE通常可以定义为将节点划分为等价类的过程
设 r ( i ) r(i) r(i)是节点 i i i的角色,角色发现的NE应用自己学习嵌入向量 z j z_j zj,使
- 式中, S ( ⋅ ) S(·) S(⋅)是衡量嵌入 z i z_i zi和 z j z_j zj相似度的函数
- 如果两个节点的角色相同,则它们的嵌入向量应该更相似、
(1)式的意思大概是:如果节点 i i i和节点 j j j的角色一样,那么其嵌入向量相似度应该接近1
根据上述定义和问题公式,给定任意网络 G G G,我们的目的是
- 基于边的集合学习每个节点的嵌入向量
- 同时,我们需要保持节点 i i i和 j j j在嵌入空间中相同角色或相同结构的相似性,即 z i z_i zi和 z j z_j zj应该接近
需要强调的是,我们的问题不同于经典的NE问题
- 在经典的NE问题中,节点嵌入几乎只在它们接近时才进行
- 基于这些嵌入,我们可以通过任意的聚类方法发现节点在网络中的角色,例如k-means聚类
B. Overall Framework
我们的框架RDAA的说明如图2所示
- 首先,我们采用递归特征提取算法提取能够揭示角色信息的高维特征
- 然后,我们利用自动编码器框架将网络编码到一个潜在空间,并设计一种注意机制来有效地描述每个节点与其邻居之间的不同依赖关系
- 最后,通过设计一种巧妙的技术,共同优化自编码器和角色注意机制,获得嵌入。事实上,我们从两个方面来利用网络拓扑的信息,即
- (1)特征提取
- (2)注意机制
C. Role Feature Extraction
由于具有相同角色的节点通常不相邻,即在网络中距离较远,因此邻接矩阵(一种描述网络拓扑结构的高维特征)在提取基于角色的特征时非常薄弱
因此,我们引入了一种提取维数小于 ∣ V ∣ |V| ∣V∣的高维结构特征的方法
在众多的特征提取方法中,我们采用了[23]中描述的递归特征提取方法(ReFex)
- 该方法以递归的方式聚合局部特征和邻域特征,获取全局结构信息,从而可以提取足够的角色特征
- 具体来说,对于每个节点,它首先通过计算其相邻边和节点egonet中的边来生成主特征
- 然后,通过在egonet上应用一些简单的聚合算子,如求和和均值,递归地对主要特征进行聚合
- 显然,随着递归次数的增加,可以获得更高阶的结构特性
ReFex算法如下:
D. Encoder–Decoder
虽然RDAA模型在特征提取方面很灵活,但为了将各种特征嵌入到低维向量空间中,并集成下一节描述的角色注意机制
我们在这里引入并扩展了用于角色特征重构的深度自编码器
编码器由多层感知器组成,它将特征编码为低维表示。具体来说,给定feature x i x_i xi,每层的隐藏表示可以表示为
其中
- x i x_i xi表示节点 i i i的高维特征
利用编码器的一部分,我们可以生成节点 i i i的嵌入 z i = h i ( K ) z_i = h^(K)_i zi=hi(K),然后将编码器的过程颠倒如下,得到重构数据 x ^ i \\hat x_i x^i
其中节点嵌入 z i z_i zi为方便记为 z i = h ^ i ( K ) z_i = \\hat h^(K)_i zi=h^i(K)
编码器-解码器结构的目标是通过最小化输入特征与重构数据之间的误差来获得低维表示
重构的损失函数表示为:
最小化重构损失可以使节点表示平滑地捕获数据流形,并保持节点在低维空间中的角色特征
但是考虑到如果特征中有大量的零元素,我们的模型会很容易重构 x i x_i xi中的零元素,这是不可取的
为了解决这一问题,我们引入系数对重构损失函数进行修正如下:
- ⊙ \\odot ⊙表示 Hadamard product
- 设
x
i
l
x_il
xil表示
x
i
x_i
xi中的第
l
l
l个元素,
β
i
l
β_il
βil表示
β
i
β_i
β论文阅读|深读RolNE: Improving the Quality of Network Embedding with Structural Role Proximity
论文阅读|深读GAS:Role-Oriented Graph Auto-encoder Guided by Structural Information
文献总结RDAA:Role Discovery-Guided Network Embedding Based on Autoencoder and Attention Mechanism
文献总结RDAA:Role Discovery-Guided Network Embedding Based on Autoencoder and Attention Mechanism