引言
网络是表达对象之间复杂联系的重要形式,在我们的日常生活与工作中无处不在。例如,微信和微博等社交媒体构成了人与人之间的社交网络,互联网上数以百亿计的页面构成了网页之间的网络,运输交通构成了城市之间的物流网络……。在当今信息社会中,很多网络的节点除了互相连接之外,还包含丰富的文本等外部信息,形成典型的复杂信息网络。由于复杂信息网络广泛存在,对这类网络信息进行研究与分析,具有非常大的学术意义和非常高的应用价值。
信息网络的表示学习研究
伴随着大规模信息网络的发展,如何设计快速有效的分析算法,以数值化地表示网络的语义信息,成为研究者致力追求的事业。传统的方法一般采用高维稀疏向量的形式,通过建立邻接矩阵来表示网络结构,并在此基础上设计各类分析算法。而这种高维稀疏表示,往往需要较多的计算空间与时间,随着网络规模的不断增长,其可扩展性较差。此外,这种表示方案还面临较为严重的数据稀疏问题。
随着以深度学习(deep learning)为代表的表示学习技术在自然语言处理等领域的高速发展和广泛应用,研究者们也开始探索面向信息网络的低维稠密的向量表示方案,即类似于自然语言处理中的词向量表示,把网络节点也映射到一个低维向量空间中。从直觉上来看,信息网络中拓扑结构越相似的节点在该向量空间中的距离越相近。我们一般采用余弦距离或欧氏距离来计算两个节点向量的相似度。图1是网络表示学习的代表算法DeepWalk [1] 通过学习得到的网络节点表示的示意图。从图1可以看出,在原网络中结构相似的节点在低维向量空间中也会比较相近。
图1 DeepWalk算法结果示意图[1]
网络节点的低维向量包含了关于这些节点的丰富拓扑和语义信息,可以将其作为节点的特征向量,有效应用于相关分析任务中。例如,可以把节点向量送入支持向量机等分类器中,以实现节点分类,也可以作为欧氏空间中的点坐标用于网络结构可视化。网络节点表示是连接原始网络信息和相关网络分析任务的重要桥梁,而基于低维稠密向量的数值化表示能够充分发挥相关机器学习算法的建模优势,如图2所示。
图2 网络表示学习流程图
面向信息网络的表示学习研究,旨在探索复杂网络中节点之间的复杂关联,有效融合网络结构与节点外部信息,建立更具区分能力与表达能力的网络表示方案。近几年来,网络表示学习吸引了广大研究者的兴趣,取得了很多显著成果,有力地推进了网络分析技术与应用的发展。
网络表示学习的主要进展
根据所采用的技术,网络表示学习方法可大致分为以下几类。
1. 基于特征向量的算法
这类方法通过计算大规模邻接矩阵的特征向量来建立节点的低维向量表示。早期经典的网络表示学习算法均属于此类,例如拉普拉斯特征表(Laplacian Eigenmap) [2]等方法。然而,由于大规模矩阵特征向量的计算时间与空间复杂度都很高,因此难以有效应用于大规模网络数据,而且也很难考虑丰富的节点外部信息。
2. 基于神经网络的算法
近年来,深度神经网络的研究在自然语言处理和计算机视觉等领域取得了突飞猛进的进展。虽然基于梯度下降的参数更新方法无法保证总是得到最优解,但是基于神经网络的表示学习模型往往能够更加快速有效地从大规模数据中学习得到对象的语义表示。
受到词向量学习技术word2vec[3]的启发,2014年DeepWalk算法[1]首次将神经网络技术用于网络表示学习。DeepWalk首先根据网络结构进行随机游走获得节点序列,然后将节点序列类比为文本序列,利用word2vec中的Skip-Gram技术自动学习这些节点的向量表示,使中心节点预测其前后节点的概率最大化。与基于邻接矩阵的传统方法相比,DeepWalk采用随机游走序列的优势在于:随机游走序列上的表示学习过程只依赖于局部信息,计算效率较高,非常适用于多线程或分布式计算。其次,随机游走序列建模能够有效缓解基于0-1二值邻接矩阵方法的数据稀疏问题。
基于神经网络的另一个代表性网络表示学习算法是LINE [4]算法,它适用于大规模有向带权图的网络表示学习。LINE算法提出,利用节点间的连边对两点间的第一级相似度关系进行建模,利用没有直接连边的两个节点的共同邻居对两点间的第二级相似度关系进行建模。第一级关系等价于对网络邻接矩阵的建模。由于真实网络中的连边往往非常稀疏,因此需要进一步对第二级相似度关系建模作为有效的补充。
以DeepWalk和LINE为起点,近年来涌现出了大量改进网络表示学习效果的创新成果,如多层深度模型[5]等。对网络表示学习研究的详细信息有兴趣的读者可以参阅相关综述文章[6]。网络表示学习的关键改进方向之一是在网络结构之外,即如何进一步考虑信息网络中的节点外部信息。
3. 考虑节点外部信息的算法
真实世界中的信息网络节点往往同时包含丰富的外部信息,例如文本信息、标签类别以及图像信息等。如何充分利用这些外部信息,是网络表示学习面临的重要挑战。最近涌现了一系列考虑网络节点的文本信息[7]、标签信息[8, 9]等外部信息的模型,也有研究者从异质信息网络的角度进行建模[10],实现无监督或半监督的网络表示学习,有效提升了网络表示的区分能力与效果。
应用任务
上述网络表示学习算法能够在大规模网络上进行高效学习,已经在很多网络分析任务中展现出显著的建模效果和巨大的应用潜力。下面简单介绍网络表示学习的主要应用场景。
1. 节点分类
节点分类是网络分析常见的任务之一。例如,社交媒体用户可以根据兴趣爱好等属性进行划分,这些兴趣标签可进一步用于个性化推荐等服务。然而用户的类别信息往往十分稀疏,这就需要充分利用节点的连接信息、外部信息以及少量已标注的分类信息,对大量未标注节点进行自动分类。类似的应用场景还有对互联网网页进行内容分类等。网络表示学习能够有效利用连接信息和外部信息实现节点低维向量的学习,因此能够为节点分类提供有效的节点特征信息。
2. 链接预测
真实网络往往是不完整的,链接预测旨在预测网络中丢失的边,或者未来可能出现的边,往往需要计算两个节点的相关度来实现,这是重要的网络分析问题。传统的基于邻接矩阵的稀疏表示方案假设每个节点都是独立的,因此需要设计专门的算法来计算节点间的相关度,例如利用两个节点共同邻居的比例等信息,计算效率低而且可扩展性差。而通过网络表示学习,我们可以很方便地利用两个节点的低维向量计算它们的相关度进行链接预测。在很多真实网络上的实验表明,网络表示学习能够为链接预测提供有效的支持。
3. 社区发现
社区发现(community detection)旨在按照节点相似性将网络节点划分为不同的社区。与节点分类任务相比,社区发现无须标注数据和训练过程,是面向网络节点的无监督聚类过程。由于社区是真实复杂网络的重要特性,引起了广大研究者的关注,既被用来进行社会网络的定量分析,也被用于社交媒体用户好友的自动分组,还被用于相关科学研究,例如面向蛋白质网络中的各类蛋白质,按照它们之间的联系进行自动聚类。网络表示学习能够有效建立节点的向量表示,因此,除了链接预测外,也可用来进行节点自动聚类和社区发现。
4. 网络可视化
网络可视化的目标是把大规模网络投影到低维平面,从而提供一种非常直观的方式来探索和理解整个网络的结构和特性。与前面几个应用不同,当网络学习表示的目标是可视化时,每个节点的向量表示的维度非常低(通常是二维或者三维)。另外,利用网络可视化的技术,可以把高维数据转化成K-近邻网络来可视化任何的高维数据。在网络和高维数据可视化方面,近期一个代表性的工作是LargeVis[12]。LargeVis能够在单机上对包含几千万节点的网络进行可视化,相关工具已经开源[13]。
总结与展望
网络表示学习是近年来在网络分析领域取得的重要进展,在节点分类、链接预测等重要任务上展现了强大的建模能力。根据对在数据挖掘、机器学习和人工智能等领域的重要会议和期刊的论文进行统计[11],网络表示学习在2014年有2篇文献(DeepWalk和LINE),2015年和2016年各有6篇文献,而2017年截至目前,已超过25篇论文,可见该方向正日益引起研究者的广泛关注,这也是深度学习浪潮开始进入数据挖掘领域的重要体现。
网络表示学习方兴未艾,仍有很多关键问题亟待解决。例如,经典网络表示学习方法主要考虑网络中的静态拓扑结构,而对信息网络的动态性、异质性和大量外部信息仍考虑不够。在未来的几年里,网络表示学习将面临以下几个方面的关键挑战:(1)知识驱动的网络表示学习。只有将结构化知识考虑进来,才有可能实现更具智能的网络分析技术。目前网络表示学习模型尚未考虑大规模知识图谱等外部知识,这些结构化知识将为网络表示学习及其应用提供高阶推理能力。如何有效地融入外部结构化知识,是网络表示学习面临的重要挑战之一。(2)大规模网络表示学习。已有的网络表示学习方案仍处于襁褓之中,尚未经历大规模信息网络真实应用的洗礼与考验。如何应对实际网络中动辄上亿节点的规模,克服学习过程中遇到的存储、计算与融合等问题,是网络表示学习迈向实际应用过程中面临的关键挑战。(3)动态网络的表示学习。已有的网络表示学习方法主要研究的是静态网络。但是,现实世界中的网络都是动态变化的,比如对于微信好友网络,每个用户随着时间都会增加新的好友。如何表示动态网络将会是一个研究热点以及难点。(4)结合具体应用的网络表示学习。已有的网络表示学习技术大多为通用模型,没有考虑后续应用的特定需求。在社区发现、影响力分析、信息扩散等具体应用中,往往需要考虑特殊的优化目标。因此,如何将网络表示学习与具体应用的优化目标有机结合,充分发挥网络表示在这些应用中的潜力,也是网络表示学习在应用方面面临的重要挑战。 ■
参考文献:
[1] Perozzi B, Al-Rfou R, Skiena S. Deepwalk: Online learning of social representations[C]//Proceedings of KDD. ACM Press, 2014: 701-710.
[2] Tang L, Liu H. Leveraging social media networks for classification[J]. Data Mining and Knowledge Discovery, 2011, 23(3): 447-478.
[3] Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of NIPS. 2013: 3111-3119.
[4] Tang J, Qu M, Wang M, et al. Line: Large-scale information network embedding[C]//Proceedings of WWW. ACM Press, 2015: 1067-1077.
[5] Wang D, Cui P, Zhu W. Structural deep network embedding[C]//Proceedings of KDD. ACM Press, 2016: 1225-1234.
[6] 涂存超, 杨成, 刘知远, 孙茂松. 网络表示学习综述[J]. 中国科学:信息科学, 2017(8): 32-48.
[7] Yang C, Liu Z, Zhao D, et al. Network Representation Learning with Rich Text Information[C]//Proceedings of IJCAI. AAAI Press, 2015: 2111-2117.
[8] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[C]//Proceedings of ICLR. 2017.
[9] Tu C, Zhang W, Liu Z, Sun M. Max-Margin DeepWalk: Discriminative Learning of Network Representation[C]//Proceedings of IJCAI. 2016.
[10] Tang J, Qu M, Mei Q. PTE: Predictive text embedding through large-scale heterogeneous text networks[C]//Proceedings of KDD. ACM Press, 2015: 1165-1174.
[11] Must-read papers on network representation learning (NRL)/network embedding (NE)[OL]. https://github.com/thunlp/NRLPapers.
[12] Tang J, Liu J, Zhang M, Mei Q. Visualizing large-scale and high-dimensional data[C]//Proceedings of WWW. ACM Press, 2015: 1067-1077.
[13] https://github.com/lferry007/LargeVis
所有评论仅代表网友意见