【深度学习】最新「深度学习社区发现」综述论文,174篇文献概述六大类方法(含Github资源)
共 4198字,需浏览 9分钟
·
2021-07-14 01:05
| 单位:麦考瑞大学
| 研究方向:人工智能与数据科学
社区发现能够揭示各类网络中成员的特征与联系,在网络分析中具有重要意义。近年来,深度学习技术在发现社区结构时,以处理高维数据的优势得到了显著的发展。
本文将为大家介绍一篇2021年最新深度学习社区发现综述。该综述囊括了基于深度学习的社区发现最新方法,并将其分为六大类:基于卷积网络的方法、基于图注意力网络(GAT)的方法、基于生成对抗网络(GAN)的方法、基于自动编码器(AE)的方法、基于深度非负矩阵分解(DNMF)的方法、基于深度稀疏滤波(DSF)的方法。此外,该综述总结了相应的基准数据集、评估指标和开源代码,概述了深度社区发现在不同领域的实际应用场景。最后,作者讨论了深度学习为社区发现问题所带来的各种机遇与挑战,建议了十二个未来研究方向。
论文地址:https://arxiv.org/abs/2105.12584
Github链接:https://github.com/FanzhenLiu/Awesome-Deep-Community-Detection(全面汇总了该综述所调研的文章链接、代码、数据集下载地址等公开资源,将持续更新深度社区发现相关工作)
—1— 简介
俗话说,物以类聚,人以群分。根据六度分离理论,世界上任何一个人都可以通过六个熟人认识其他人,那么我们的世界则是一个由一系列「社区」组成的巨大网络。例如,如图1所示,通过发现社交网络中的社区,平台赞助商可以向目标用户推广他们的产品。在引文网络中,社区发现可以检测研究方向的重要性、关联性、演化,并能识别研究的发展趋势。在代谢网络和蛋白质相互作用网络中,社区发现揭示了具有相似生物学功能的代谢和蛋白质。在脑网络中,社区发现可以反映脑区域的功能和解剖分离。
由于社区发现可以广泛应用,许多传统的技术(如谱聚类、统计推理)已被用于小型网络和简单场景。然而,由于传统技术的计算成本和空间成本巨大,它们无法扩展到大型网络或具有高维特征的网络。同时,现实网络中非线性结构信息丰富,也使得传统模型在实际应用中不太适用。因此,我们需要更强大且具有良好计算性能的技术,深度学习从以下几点为社区发现提供了灵活的解决方案:(1) 学习非线性网络属性,如节点之间的关系,(2) 提供能够保留复杂网络结构特征的低维网络表示,(3) 利用更多信息发现社区以提高性能。总而言之,深度学习用于社区发现是一种新的趋势(如图2所示),我们需要一个及时全面的综述。
这篇综述首次全面概述了深度学习在社区发现方面的贡献,旨在帮助研究人员和从业者从以下几个方面了解社区发现领域的过去、现在和未来趋势:
系统的分类和深入的调研。此综述基于深度学习为社区发现方法提出了一个新的分类(见图3),并分析、总结、比较了每类的代表性工作。 丰富的资源和高影响力的参考文献。此项综述还整合了社区发现的基准数据集、评估指标、开源实现和实际应用的资源。 未来的发展方向。由于深度学习对社区发现是一个新的研究趋势,此综述讨论了当前研究的局限性,以及未来研究的关键挑战和开放性问题。
—2— 模型与算法
2.1 基于卷积网络的方法
基于卷积网络的社区发现方法包括基于CNN的社区发现和基于GCN的社区发现。卷积神经网络(CNN)是一种为网格式拓扑数据提出的前馈深度神经网络,其中卷积层降低了计算成本,而池化操作保证了 CNN 在特征表达上的鲁棒性。图卷积网络(GCN)是基于CNN和图的局部谱滤波器的一阶近似提出的用于图结构数据的卷积网络。
2.1.1 基于CNN的社区发现
由于CNN模型通常仅处理图像数据(image),当输入数据为图(graph)时,必须根据节点或边对数据进行预处理。总体框架中(如图4所示),CNN的隐藏层可以对数据的d维潜在特征进行卷积映射,接下来,由全连接层输出每个节点或每条边的表示以进行社区的分类。
根据节点进行数据预处理时,图4中的工作流1将节点分类为k类(即k个社区),具有相同标签的节点会被划分到同一个社区中;根据边进行数据预处理时,工作流2将边分为2类(即社区内的边、社区间的边)。训练过程中,通过删除社区间的边形成社区结构,并将其反向传播回CNN嵌入进行优化,从而得到最佳的社区划分结果。
2.1.2 基于GCN的社区发现
GCN 在图卷积层中聚合节点的邻域信息,因此可以从全局上捕获用于社区发现的复杂特征。基于GCN的社区发现方法有两类:(1)监督/半监督社区分类;(2)基于无监督网络表示的社区聚类。社区分类方法受到现实世界中缺乏标签的限制,相比之下,通过矩阵重构和目标优化等技术,对网络表示进行聚类可以更灵活地发现社区结构。
如图5所示,基于GCN的社区发现方法的输入为图结构(A)和节点属性(X)。这类方法通过GCN层,基于社区发现的需求对图的潜在特征进行平滑(信息聚合)处理。在图5的4条工作流中,工作流1和2使用了最终的节点表示,而工作流3和4则使用了隐层中的特征表示。工作流1基于给定节点标签,使用节点分类得到社区划分;工作流2基于嵌入H对节点进行聚类;工作流3通过互信息等评估手优化节点表示,从而得到最佳的社区关系;工作流4则同时优化聚类结果和节点表示。
2.2 基于图注意力网络(GAT)的方法
基于GAT的社区发现方法可以发现复杂的网络场景下的社区结构。如图6所示,GAT通过可训练的权重聚合邻域内的节点特征,该权重通过考虑多种因素(特别是具有多种关系类型的网络)的注意力来计算。
在图6所示的框架中,GAT在每个隐层l中为每个节点及其相连的节点之间分配注意力系数(图中绿色、蓝色、紫色的箭头所示)。不同工作流所表示的向量分别聚合了所有可用信息:(1)多层网络中同一对节点之间的多种关系;(2)异构网络中的语义元路径。将嵌入信息整合到GAT的表征中后,即可对最后输出的表征进行社区聚类。
2.3 基于生成对抗网络(GAN)的方法
在基于GAN的社区发现方法中,GAN通过生成器生成人造样本来欺骗判别器,判别器将多层感知机、图神经网络等深度神经网络作用于表征上。因此,真实样本和人造样本会通过竞争博弈进行调优,从而得到最优的社区特征。
为了获得具有竞争性的表征,图6的GAN中使用的真实样本包括:(1)拓扑结构A;(2)拓扑结构与节点属性(A,X);(3)节点嵌入;(4)节点的社团归属。网络的拓扑结构以三元组、派系、社区等形式在表征或GAN模型中得到分析。这类方法能够在融合网络拓扑、属性和表征的过程中发现社区。
2.4 基于自动编码器(AE)的方法
自编码器(AE)是最常被用于无监督社区发现的模型,社区发现中常见的AE变体包括栈式AE、稀疏AE、去躁AE、卷积AE、变分AE。AE通常由一个编码器和一个解码器组成,编码器将网络结构和可获取的属性信息映射到一个低维潜在空间中,解码器则根据编码得到的表示进行网络重构。
栈式AE在多个隐层中将一组AE堆叠起来,以更加灵活地处理丰富的输入。图6总结了栈式AE中5种具有代表性的工作流程,其分别考虑了静态图、动态图、跨域图、异构图中的多种信息,5种工作流都使用了成对约束和重建损失优化。其余4类基于AE的方法介绍见原文(https://arxiv.org/abs/2105.12584)。
2.5 基于深度非负矩阵分解(DNMF)的方法
非负矩阵分解旨在将一个矩阵分解成两个小的非负矩阵,该方法具有高度的可解释性,能够发现如何将节点分配给社区。在深度社区发现中,深度自编码器式非负矩阵分解(DANMF)是无监督学习环境下影响最大的模型。与传统的基于NMF的社区发现方法映射简单的社区成员不同,DANMF使用AE框架在分层映射上进行网络重构。尽管深度NMF提供了一种在形成社区的过程中映射多个变量的方案,但是其矩阵分解的计算成本相对较高。为此,研究者们提出了模块化的深度非负矩阵分解(MDNMF),直接将模块度应用于基本的多层深度学习结构中。
2.6 基于深度稀疏滤波(DSF)的方法
稀疏滤波是一种简单的双层学习模型,它可以处理高维的图数据,将高度稀疏的输入表征为低维特征向量。为了探索节点的社团归属等更深入的信息,深度SF将多个隐层堆叠起来,从而对更多超参数和大量的平滑数据分布进行调优,其代表性的算法为DSFCD。
—3— 公开资源
该综述总结了深度社区发现相关的实验资源,包括:
数据集:整理了现实世界数据集和人工合成数据集的分类、来源、下载链接、生成工具等。 评价指标:详细介绍了10个最流行的社区发现评价指标的使用方法与含义。 开源代码:整理了公布开源实现的深度社区发现方法的Github链接。
(实验资源详情见原文附录及Github)
—4— 应用
该综述总结了社区发现在各类任务和领域的广泛应用,如推荐系统、生物化学、社交网络、社区欺诈、社区搜索等。
—5— 未来研究方向
本文总结了深度学习技术为社区发现带来的机遇与挑战,分析了该领域的公开问题并建议了12个未来研究方向:
社区个数未知问题 社区嵌入问题 不同粒度的社区发现问题 多层网络的社区发现问题 异质网络的社区发现问题 社区发现中的网络Heterophily问题 拓扑不全网络中的社区发现问题 跨域网络中的社区发现问题 多属性视角网络中的社区发现问题 符号网络中的社区发现问题 动态网络中的社区发现问题 大规模网络中的社区发现问题
往期精彩回顾 本站qq群851320808,加入微信群请扫码: