0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图神经网络在处理基于图数据问题方面取得了巨大的成功

深度学习自然语言处理 来源:深度学习自然语言处理 作者:朱美琪 2020-10-10 10:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1 引言 图神经网络在处理基于图数据问题方面取得了巨大的成功,受到了广泛的关注和应用。GNNs通常是基于消息传递的方式设计的,本质思想即迭代地聚合邻居信息,而经过次的迭代后, 层GNNs能够捕获节点的局部结构,学习来自跳邻居的信息。因此更深层的GNN就能够访问更多的邻居信息,学习与建模远距离的节点关系,从而获得更好的表达能力与性能。而在实际在做深层GNN操作时,往往会面临着两类问题:1. 随着层数的增加,GNNs的性能会大幅下降;2. 随着层数的增加,利用GNNs进行训练与推断时需要的计算量会指数上升。对于第一个问题来说,现有的很多工作分析出深层GNNs性能下降的原因是受到了过平滑问题的影响,并提出了缓解过平滑的解决方案;而对于第二个问题来说,设计方案模拟深层GNNs的表现能力并减少GNNs的计算消耗也成了亟待解决的需求,比如用于实时系统的推断。针对这两个问题,本文将分别介绍两个在KDD 2020上的关于深度GNNs的最新工作。 第一个工作是Research Track的《Towards Deeper Graph Neural Networks》。该工作从另一个角度去解读深度图神经网络随着层数增加性能下降的问题,认为影响性能下降的主要原因是Transformation和Propagation两个过程的纠缠影响作用,并且基于分析结果设计了深度自适应图神经网络(Deep Adaptive Graph Neural Networks) 模型,能够有效地缓解深层模型的性能快速下降问题。 第二个工作是Research Track的《TinyGNN: Learning Efficient Graph Neural Networks》。该工作尝试训练small GNN(浅层)去模拟Deep GNN(深层)的表达能力和表现效果,致力于应用在实时系统推断等对推断速度有较高要求的场景。 2 Towards Deeper Graph Neural Networks 2.1 引言 1层的GCN只考虑了1跳邻居的信息,而当使用多层的图卷积操作扩大GCN的接受域之后,性能也会大幅下降。已有的一些工作[1,2]将这个性能大幅下降的原因归根于图神经网络的过平滑问题(over-smoothing)。然而这篇文章保持一个不同的观点,并且从另一个角度去解读深度图神经网络性能下降的问题。这篇文章认为影响其性能快速下降的主要因素是表示变换(Transformation)和传播(propagation)的纠缠作用,过平滑问题只有在使用了非常大的接受域,也就是叠加非常多层的时候才会影响图神经网络的表现效果。在进行了理论和实验分析的基础上,该文章提出了深度自适应图形神经网络的设计方案。代码链接: https://github.com/mengliu1998/DeeperGNN 2.2实验与理论分析 2.2.1 图卷积操作 通常图卷积操作遵循一种邻居聚合(或消息传递)的方式,通过传播其邻域的表示并在此之后进行变化以学习节点表示。第层的操作一般可以描述为:

2.2.2 平滑度的定量度量 平滑度是反映节点表示相似程度的度量标准。通常两个节点的欧氏距离值越小,两个节点表示的相似性越高。本文作者提出了一种计算整张图平滑度的指标:

它与图中节点表示的整体平滑度呈负相关,即越小,图的平滑度越大。 2.2.3 深度GNN性能下降的原因 在评价指标的基础上,作者对GCN在cora数据集上进行节点分类实验的准确率、可视化以及指标数值的变化情况进行了统计,结果如下:

并给出质疑over-smoothing的两点原因:(1) 过平滑问题仅会发生在节点表示传播很多层之后,而实验中cora的分类结果在10层之内就大幅下降。(2)评价指标的值与初始相比只有轻微下降,证明平滑程度只有一定的上升,而不足以导致过平滑。 而作者进一步指出,是转换(Transformation)和传播(propagation)的纠缠作用严重损害了深度图神经网络的性能。并且为了验证该假设,作者将两个过程分解出来,设计了如下的一个简单模型:

并同样给出在cora上的实验结果:

当两个过程分解后,50层内的GCN准确率基本能够在80%左右,当层数达到100+后才会陆续下降,对应的值也在300层以后变得很低,说明此时网络受到过平滑的影响。以上两个实验说明了在GNN受过平滑影响之前,转换(Transformation)和传播(propagation)的纠缠作用确实会损害深度图神经网络的性能,导致性能大幅下降。也证实了解耦转换和传播可以帮助构建更深层次的模型,从而利用更大的可接受域来学习更多的信息。 2.2.4 理论证明 经过变换与传播的解耦,作者的理论分析可以更严格且温和地描述过平滑问题。在本节中,作者严格描述两种典型传播机制的过度平滑问题,并推导出当层数趋近于无穷时,两种(, 的收敛情况。并证明该种传播模式是线性不可分的,利用它们作为传播机制将产生难以区分表征,从而导致over-smoothing问题。 2.3 模型

主要思想是将节点表示的变换与传播过程解耦,并同时进行至层传播,最后利用学得的融合权重向量做一个自适应调整融合。 2.4 实验

实验数据集

节点分类实验结果

cora数据集上不同训练集比例的分类准确率 值得分析的有以下两点: (1)为什么低label rate的DAGNN表现要好?这些比较可观的改进主要归功于DAGNN的优势: 通过消除表示转换和传播的纠缠,同时扩展接受域的范围,使得利用信息更丰富。 (2)和APPNP SGC的区别是什么?APPNP和SGC实际上都解耦了转换和传播,并且APPNP也扩展了k阶接受域。DAGNN比APPNP好,是因为设计了自适应调整每个节点来自不同接收域的信息权重。

DAGNN在不同数据集上随层数变化的表现 3 TinyGNN: Learning Efficient Graph Neural Networks 3.1 引言 经过k次迭代后,k层GNN可以捕获来自k-hop节点结构信息。通过这种方式,一个更深层的GNN就有获取更多邻居信息的能力,从而取得更好的性能。举例来说,下图随着GAT层数的增加,两个数据集的分类准确率都有大幅提升。

而相对应的,当GNN进一步扩展层数时,邻域的指数扩增会导致GNNs模型需要大量的训练和推理计算消耗。这使得许多应用程序(如实时系统)无法使用更深层的GNN作为解决方案。举例来说,同样的两个数据,4层GAT的计算时间以指数级增长,导致计算消耗十分巨大。

因此这里就存在着一个困境,即采用深层的GNN就越容易取得高性能,但是从效率的角度又往往倾向于开发一个小而推断迅速的GNN。但是较小的GNN与较深的GNN之间存在较大的邻域信息差距,这也是需要考虑的。因此这篇文章旨在训练一个较小的GNN,既能很好地刻画了局部结构信息,与较深的GNN相比可以获得相似性能,同时也能够进行快速的推断。总结来说,贡献如下: (1)提出了一种小型、高效的TinyGNN,能够在短时间内实现推断出高性能的节点表示。 (2)利用对等感知模块(PAM)和邻居蒸馏策略(NDS),以显式和隐式两种方式对局部结构建模,并解决小GNN和较深GNN之间的邻居信息差距。 (3)大量的实验结果表明,TinyGNN可以实现与更深层次的GNN相似甚至更好的性能,并且在实验数据集上,推理过程能够有7.73到126.59倍的提速。 3.2 模型 3.2.1 对等感知模块 对等节点(peer nodes)指的是同一层GNN从同一个点源点采样出的所有邻居集合,在下图(b)用相同的颜色表示。对等节点之间没有通信,所有对等节点都能够通过上层节点在两跳内相连。大量的对等节点是邻居,来自底层的邻居信息可以被对等节点直接配置。

PAM建模对等节点的方式如下,以两个节点隐层表示的相似度作为融合权重。PAM能够帮助探索同一层中的节点之间的新关系,并帮助建模较小的GNN从而避免由较低层的邻居迭代聚集而导致的大量计算。

PAM可以被用于任何图网络结构中,作为一个基础的模块,1层GNN+1层PAM的计算量要小于两层GNN。 3.2.2 邻居蒸馏策略 作者利用知识蒸馏设计了邻居信息蒸馏方案,teacher GNN是深层模型,能够建模更广泛的邻域。而student GNN采用浅层模型,能够有更快的推断速度。并且利用teacher GNN 教student GNN隐式地捕捉全局深层结构信息,使得student GNN有深层GNN的表现效果。

teacher GNN的损失函数:

student GNN的损失函数,同时利用来自teacher网络的软标签和真实标签进行学习,T表示蒸馏温度。

3.3 实验

实验数据集

节点分类实验结果

速度提升情况

责任编辑:lq
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106770
  • 数据集
    +关注

    关注

    4

    文章

    1230

    浏览量

    26036
  • GNN
    GNN
    +关注

    关注

    1

    文章

    31

    浏览量

    6722

原文标题:【KDD20】深度图神经网络专题

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。
    发表于 10-20 08:00

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    神经元,但却能产生复杂的行为。受此启发,与传统的神经网络相比,LNN旨在通过模拟大脑中神经元之间的动态连接来处理信息,这种网络能够顺序
    的头像 发表于 09-28 10:03 656次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    神经网络的并行计算与加速技术

    问题。因此,并行计算与加速技术神经网络研究和应用中变得至关重要,它们能够显著提升神经网络的性能和效率,满足实际应用中对快速响应和大规模数据处理的需求。
    的头像 发表于 09-17 13:31 878次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    神经网络RAS异步电机转速估计中的仿真研究

    ,在一定程度上扩展了转速估计范围。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:神经网络RAS异步电机转速估计中的仿真研究.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权
    发表于 06-16 21:54

    神经网络压缩框架 (NNCF) 中的过滤器修剪统计数据怎么查看?

    无法观察神经网络压缩框架 (NNCF) 中的过滤器修剪统计数据
    发表于 03-06 07:10

    BP神经网络网络结构设计原则

    BP(back propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,其网络结构设计原则主要基于以下几个方面: 一、层次结构 输入层 :接收外部输入信号,不
    的头像 发表于 02-12 16:41 1248次阅读

    BP神经网络与卷积神经网络的比较

    BP神经网络与卷积神经网络多个方面存在显著差异,以下是对两者的比较: 一、结构特点 BP神经网络 : BP
    的头像 发表于 02-12 15:53 1301次阅读

    BP神经网络的优缺点分析

    自学习能力 : BP神经网络能够通过训练数据自动调整网络参数,实现对输入数据的分类、回归等任务,无需人工进行复杂的特征工程。 泛化能力强 : BP
    的头像 发表于 02-12 15:36 1563次阅读

    什么是BP神经网络的反向传播算法

    神经网络(即反向传播神经网络)的核心,它建立梯度下降法的基础上,是一种适合于多层神经元网络的学习算法。该算法通过计算每层网络的误差,并将这
    的头像 发表于 02-12 15:18 1271次阅读

    BP神经网络与深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、一个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小化网络的输出误差。 二、深度学习的
    的头像 发表于 02-12 15:15 1338次阅读

    BP神经网络的基本原理

    输入层、隐藏层和输出层组成。其中,输入层负责接收外部输入数据,这些数据随后被传递到隐藏层。隐藏层是BP神经网络的核心部分,它可以通过一层或多层神经元对输入
    的头像 发表于 02-12 15:13 1505次阅读

    BP神经网络图像识别中的应用

    BP神经网络图像识别中发挥着重要作用,其多层结构使得网络能够学习到复杂的特征表达,适用于处理非线性问题。以下是对BP神经网络
    的头像 发表于 02-12 15:12 1182次阅读

    人工神经网络的原理和多种神经网络架构方法

    所拟合的数学模型的形式受到大脑中神经元的连接和行为的启发,最初是为了研究大脑功能而设计的。然而,数据科学中常用的神经网络作为大脑模型已经过时,现在它们只是能够某些应用中提供最先进性能
    的头像 发表于 01-09 10:24 2236次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法