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

    文章

    4840

    浏览量

    108146
  • 数据集
    +关注

    关注

    4

    文章

    1240

    浏览量

    26261
  • GNN
    GNN
    +关注

    关注

    1

    文章

    31

    浏览量

    6814

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物神经系统的结构,特别是大脑中神经
    的头像 发表于 12-17 15:05 451次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    自动驾驶中常提的卷积神经网络是个啥?

    自动驾驶领域,经常会听到卷积神经网络技术。卷积神经网络,简称为CNN,是一种专门用来处理网格状数据(比如图像)的深度学习模型。CNN
    的头像 发表于 11-19 18:15 2235次阅读
    自动驾驶中常提的卷积<b class='flag-5'>神经网络</b>是个啥?

    CNN卷积神经网络设计原理及MCU200T上仿真测试

    数的提出很大程度的解决了BP算法优化深层神经网络时的梯度耗散问题。当x&gt;0 时,梯度恒为1,无梯度耗散问题,收敛快;当x&lt;0 时,该层的输出为0。 CNN
    发表于 10-29 07:49

    NMSIS神经网络库使用介绍

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

    构建CNN网络模型并优化的一般化建议

    整个模型非常巨大。所以要想实现轻量级的CNN神经网络模型,首先应该避免尝试单层神经网络。 2)减少卷积核的大小:CNN神经网络是通过权值共享的方式,利用卷积运算从图像中提取线性纹理。
    发表于 10-28 08:02

    如何通过地址生成器实现神经网络特征的padding?

    对于SiamFC网络结构,我们设计的卷积核宽度为3*3,卷积步长为1,则经卷积过后,特征宽度会减少2,为了满足我们所设计的pe阵列的计算要求,则需要对输出特征外围进行补零处理,以扩
    发表于 10-22 08:15

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

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

    CICC2033神经网络部署相关操作

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

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

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

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

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

    基于神经网络的数字预失真模型解决方案

    基于神经网络的数字预失真(DPD)模型中,使用不同的激活函数对整个系统性能和能效有何影响?
    的头像 发表于 08-29 14:01 3652次阅读

    无刷电机小波神经网络转子位置检测方法的研究

    MATLAB/SIMULINK工具对该方法进行验证,实验结果表明该方法全程速度下效果良好。 纯分享帖,点击下方附件免费获取完整资料~~~ *附件:无刷电机小波神经网络转子位置检测方法的研究.pdf
    发表于 06-25 13:06

    神经网络专家系统电机故障诊断中的应用

    的诊断误差。仿真结果验证了该算法的有效性。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:神经网络专家系统电机故障诊断中的应用.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版
    发表于 06-16 22:09

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

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

    基于FPGA搭建神经网络的步骤解析

    本文的目的是一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe文件,(coe
    的头像 发表于 06-03 15:51 1488次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析