论文阅读 DeepGCNs: Can GCNs Go as Deep as CNNs?

news2024/11/23 20:33:01

DeepGCNs: Can GCNs Go as Deep as CNNs?

  • 绪论
  • 1、介绍
  • 2、相关工作
  • 3、方法
    • 3.1、图神经网络的表针学习
    • 3.2、图神经网络的残差结构
    • 3.3、图神经网络的密集连接
    • 3.4、图神经网络的扩张性聚集

绪论

CNN很强,但不能正确解决非欧几里得数据的问题,图卷积网络(GCNs)可以建立图形来表示非欧几里得数据,借鉴CNN的概念,并将其应用到训练中。GCN有点作用但有梯度消失的问题,限制在很浅的模型。这篇论文就可以成功训练出非常深的GCN。通过借用CNN的概念,特别是残差/密集连接和扩张卷积,并将其适应于GCN架构,大量的实验显示了这些深度GCN框架的积极作用。最后,使用这些新概念建立了一个非常深的56层的GCN,并展示了它是如何在点云语义分割的任务中显著提高性能的(比最先进的+3.7% mIoU)。

1、介绍

在过去的几年里,GCNs获得了很大的发展势头。这种兴趣的增加主要归因于两个因素:现实世界应用中的非欧几里得数据越来越多,以及CNN在处理这些数据时性能有限。GCNs直接在非欧几里得数据上操作,对于依赖这种信息模式的应用是非常有前途的。目前,GCNs被用来预测社交网络中的个体关系,为药物发现建立蛋白质模型,加强推荐引擎的预测,有效分割大型点云,以及其他领域。

CNN成功背后的一个关键原因是能够设计并可靠地训练非常深的CNN模型。相比之下,目前还不清楚如何正确地训练深度GCN架构,有几项工作已经研究了它们的局限性。将更多的层堆叠到GCN中会导致常见的梯度消失问题。这意味着通过这些网络的反向传播会导致过度平滑,最终导致图形顶点的特征收敛到同一数值。由于这些限制,大多数最先进的GCN的深度不超过4层。

对于梯度消失,CNN引入了RESNet,GCN看下能不能模仿下。在这篇文章借鉴了CNN的一些网络结构,也可以构建深层次的网络模型。

贡献:将残差/密集连接和扩张卷积适应于GCNs。在点云数据上进行了广泛的实验,展示了这些新层对训练深度GCN的稳定性和性能的影响。我们使用点云的语义分割作为我们的实验测试平台。展示了这些新概念如何帮助建立一个56层的GCN,这是最深的GCN架构,并在S3DIS数据集上实现接近4%的性能提升。

2、相关工作

因为在现实世界中,非欧几里得结构的数据比较多,而CNN没有办法处理,所以图神经网络就出来了。

它是一类不具有平移不变性的数据。这类数据以其中的一个为节点,其邻居节点的数量可能不同。常见这类数据有知识图谱、社交网络、化学分子结构等等。

图神经网络借鉴CNN残差/密集连接和扩张卷积,来加深网络。

3、方法

3.1、图神经网络的表针学习

图的定义。图 G G G由一个元组 G = ( V , E ) G = (V, E) G=(V,E)表示,其中 V V V是无序顶点的集合, E E E是代表顶点 v ∈ V v∈V vV之间连通性的边的集合,如果 e i , j ∈ E e_{i,j}∈E ei,jE,那么顶点 v i v_i vi v j v_j vj之间有一条边 e i , j e_{i,j} ei,j相连。

图卷积网络。受CNN的启发,GCN打算通过聚合其附近顶点的特征,在一个顶点上提取更丰富的特征。GCN通过将每个顶点与一个特征向量 h v ∈ R D h_v∈R^D hvRD相关联来表示顶点,其中 D D D是特征维度。因此,图 G G G作为一个整体可以通过串联所有无序顶点的特征来表示,即

h G = [ h v 1 , h v 2 , . . . , h v N ] > ∈ R N × D h_G = [h_{v1}, h_{v2}, ..., h_{vN} ]> ∈R^{N×D} hG=[hv1,hv2,...,hvN]>∈RN×D,其中 N N N为集合 V V V的可选域。在第 l l l层的一般图卷积操作 F F F可以被表述为以下聚合和更新操作。

G l + 1 = F ( G l , W l ) = U p d a t e ( A g g r e g a t e ( G l , W l a g g ) , W l u p d a t e ) . G_{l+1} = F(G_l, W_l) = U pdate(Aggregate(G_l, W^{agg}_l ), W^{update}_l ). Gl+1=F(Gl,Wl)=Update(Aggregate(Gl,Wlagg),Wlupdate).

G l = ( V l , E l ) G_l = (V_l, E_l) Gl=(Vl,El) G l + 1 = ( V l + 1 , E l + 1 ) G_{l+1} = (V_{l+1}, E_{l+1}) Gl+1=(Vl+1,El+1) 分别是第l层的输入和输出图。 W l a g g W^{agg}_l Wlagg W l u p d a t e W^{update}_l Wlupdate分别是聚合函数和更新函数的可学习权重,它们是GCN的基本组成部分。在大多数GCN框架中,聚合函数用于编译顶点附近的信息,而更新函数对聚合的信息进行非线性变换以计算新的顶点表示。这两个函数有不同的变体。例如,聚合函数可以是平均聚合器、最大集合聚合器、注意聚合器或LSTM聚合器。更新函数可以是一个多层感知器,一个门控网络,等等。更具体地说,顶点的表示是在每一层通过聚合所有 v l + 1 ∈ V l + 1 v_{l+1}∈V_{l+1} vl+1Vl+1的邻居顶点的特征来计算的,如下所示。
h v l + 1 = ϕ ( h v l , ρ ( h u l ∣ u l ∈ N ( v l ) , h v l , W ρ ) , W ϕ ) , h_{v_{l+1}} = ϕ (h_{v_l}, ρ({h_{u_l}|u_l ∈ N (v_l)}, h_{v_l}, W_ρ), W_ϕ), hvl+1=ϕ(hvl,ρ(hululN(vl),hvl,Wρ),Wϕ),

其中, ρ ρ ρ为顶点特征聚合函数, ϕ ϕ ϕ为顶点特征更新函数, h v l h_{v_l} hvl h v l + 1 h_{v_{l+1}} hvl+1分别为第l层和第l+1层的顶点特征。 N ( v l ) N(v_l) N(vl) v v v在第l层的邻居顶点集合, h u l h_{u_l} hul是由 W ρ W_ρ Wρ参数化的这些邻居顶点的特征。 W ϕ W_ϕ Wϕ包含这些函数的可学习参数。为简单起见,在不丧失一般性的情况下,我们使用一个最大集合顶点特征聚合器,没有可学习的参数,以集合顶点 v l v_l vl和其所有邻居之间的特征差异。 ρ ( . ) = m a x ( h u l − h v l ∣ u l ∈ N ( v l ) ) ρ(.) = max(h_{u_l} − h{v_l}| u_l ∈ N (v_l)) ρ(.)=max(hulhvlulN(vl)). 然后,我们将顶点特征更新器 ϕ ϕ ϕ建模为一个多层感知器(MLP),采用批量归一化和ReLU作为激活函数。这个MLP将 h v l h_{v_l} hvl与来自 ρ ( . ) ρ(.) ρ(.)的聚合特征连接起来,形成其输入。

动态边框。如前所述,大多数GCN有固定的图形结构,并且只在每次迭代时更新顶点特征。最近的工作表明,与具有固定图形结构的GCN相比,动态图形卷积,即允许图形结构在每一层发生变化,可以学习更好的图形表示。例如,ECC(Edge-Conditioned Convolution)使用动态边缘条件过滤器来学习特定边缘的权重矩阵。此外,EdgeConv在每个EdgeConv层之后,在当前特征空间中找到最近的邻居来重建图。为了学习生成点云,Graph-Convolution GAN(生成对抗网络)也应用k-NN图来构建每层中每个顶点的邻域。我们发现,动态改变GCN中的邻域有助于缓解过度平滑问题,并且在考虑更深的GCN时,会产生一个有效的更大的感受野。在我们的框架中,我们建议在每一层的特征空间中通过Dilated k-NN函数重新计算顶点之间的边缘,以进一步增加感受野。在下文中,我们将详细描述三种可以使更深的GCN得到训练的操作:剩余连接、密集连接和扩张聚合。

3.2、图神经网络的残差结构

3.3、图神经网络的密集连接

3.4、图神经网络的扩张性聚集

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLO-V5 系列算法和代码解析(五)—— 损失函数

文章目录基本简介调试准备损失函数基本简介 损失函数是神经网络的重要组成部分,用于评估网络的预测值和真实值的差异度。根据偏差的大小,反向调整网络的训练参数,迭代优化使得损失尽量小,也就得到最优的网络参数。 调试准备 debu…

Go-学生教务管理系统【无界面 / 离线版】(一)

【Go】学生教务管理系统(无界面 / 离线版)(一)Ⅰ. 程序说明一、博客日期二、引言Ⅱ. 版权声明Ⅲ. 开发环境一、开发配置二、开发工具Ⅳ. 效果演示一、工程结构(一)目录结构(二)目录说…

【Ctfer训练计划】——(六)

作者名:Demo不是emo 主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座…

Springboot启动之自定义run方法

前言 之前分析的Springboot启动过程的源码分析中给自己留了一个扩展作业:执行自定义的run方法,此方法在B.7、调用运行器简单分析过,今天咱们就自定义一个Run方法试试。 一、实现自定义的run方法 由于java中的接口可以多实现,所以…

IOS----TangramKit 布局框架

文章目录系统结构CocoaPods安装举例下面一个应用场景:布局线性布局TGLinearLayout相对布局TGRelativeLayout框架布局TGFrameLayout表格布局TGTableLayout流式布局TGFlowLayout浮动布局TGFloatLayout路径布局MyPathLayoutgithub: https://github.com/youngsoft/TangramKit/blob…

day32【代码随想录】回溯之N皇后、N皇后||、解数独、有效的数独

文章目录前言一、N皇后(力扣51)二、N皇后||(力扣52)三、解数独(力扣37)四、有效的数独(力扣36)前言 1、N皇后、 2、N皇后||、 3、解数独、 4、有效的数独 一、N皇后(力扣…

材料表征仪器:慢正电子束谱仪最全知识讲解

1 引言 21世纪科学的发展将是微观与宏观的相互渗透与密切结合。凝聚态物理、材料科学等的研究,将由现在的宏观统计方法(包括宏观量子统计)深入发展到物质的原子层次物性研究,微观粒子(颗粒、孔隙)的量子效…

求最大公约数,求阶乘,求n个n相乘的末两位数(Python)

问题 AN: 41.求最大公约数 题目描述 对于求两个正整数m&#xff0c;n的最大公约数可以用do-while实现 输入 输入两个正整数m&#xff0c;n 输出 最大公约数 样例输入 1 2 样例输出 1 a,b map(int,input().split()) if a<b:a,b b,a#python很方便的交换操作 #适应判断不带…

MySQL复制技术方案——异步复制配置

为MySQL服务器配置复制非常简单。但由于场景不同&#xff0c;基本的步骤还是有所差异。最基本的场景是新安装的主库和备库&#xff0c;总的来说分为以下几步∶ 1. 配置复制 为MySQL服务器配置复制非常简单。但由于场景不同&#xff0c;基本的步骤还是有所差异。最基本的场景是…

HTML5 Canvas

文章目录HTML5 Canvas概述Canvas元素使用绘制直线画2条直线用直线画三角形用直线画矩形绘制矩形描边矩形填充矩形混合使用rect()清空矩形区域清空画布绘制多边形画箭头画正三角形绘制圆形HTML5 Canvas 概述 HTML5新增了一个Canvas元素&#xff0c;我们常说的Canvas技术&#…

【LeetCode】填充每个节点的下一个右侧节点指针 [M](二叉树遍历)

116. 填充每个节点的下一个右侧节点指针 - 力扣&#xff08;LeetCode&#xff09; 一、题目 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node { int val; Node *left; Node *…

通过webpack解决浏览器兼容问题

前言 很多面试时都会问到关于浏览器兼容问题&#xff0c;正好最近在看webpack打包&#xff0c;那就在这里记录一下我们如何通过webpack来实现兼容。 需求 要知道我们到底需要兼容那些浏览器&#xff0c;在这里就需要用到browserlist来配置需要兼容的浏览器版本并告诉webpack…

Jenkins自动部署项目

目录 1.安装插件 2.配置 本文只讲解通过插件来自动部署项目&#xff0c;Jenkins的安装可以看博主的另一篇文章&#xff0c;绝对保姆级&#xff0c;简洁丝滑的安装教程&#xff1a; jenkins下载安装__BugMan的博客-CSDN博客 1.安装插件 目前业内常用的解决方法是使用publish…

程序员必备十大网站

窝窝整理了十大程序猿必备网站&#xff0c;涵盖了开源平台、搜索引擎、免费的精品课程&#xff0c;包括让你头疼的BUG、算法等。偷偷告诉你&#xff0c;还有帮你拿到心仪的 offer&#xff01; 一&#xff0c;海量的资源平台 十大网站榜首 &#xff1a;GitHub — 开发者极其重…

图查询语言 nGQL 简明教程 vol.01 快速入门

本文旨在让新手快速了解 nGQL&#xff0c;掌握方向&#xff0c;之后可以脚踩在地上借助文档写出任何心中的 NebulaGraph 图查询。 视频 本教程的视频版在B站这里。 准备工作 在正式开始 nGQL 实操之前&#xff0c;记得先看过文档「快速入门流程」&#xff0c;部署、连接过 …

《小强升职记》读后感

为什么平庸&#xff1f; 成功的人每天都在忙碌&#xff0c;平庸的人每天也在忙碌&#xff0c;而时间对每个人来说是绝对公平的&#xff0c;那么&#xff0c;两者之间的差距到底是如何产生的呢? 第一&#xff0c;在这个人生的关键时期&#xff0c;我们被迫完成角色的转变。 …

C语言 字符函数和字符串函数及模拟实现

上图注意内容 代码解释如下 int main() {if (my_strlen("abc") - my_strlen("abcdef") > 0){printf(">\n");}else{printf("<\n");}return 0; }my_strlen int my_strlen(const char* str) {int count 0;//计数器assert(str…

Springboot AOP切面

文章目录SpringBoot Aop切面(Aop)一、什么是切面二、切面的用途三、AOP切面常用注解四、详细内容1、切面&#xff08;Aspect&#xff09;2、连接点&#xff08;Joinpoint&#xff09;3、通知&#xff08;Advice&#xff09;4.切入点&#xff08;Pointcut&#xff09;五、代码操…

PMP是什么?PMP证书有什么用?(含PMP资料)

PMP介绍 PMP的英文全称是Project Management Professional&#xff0c;中文全称叫做项目管理专业人士资格认证。 它是由美国项目管理协会(PMI)在全球范围内推出的针对项目经理的资格认证体系&#xff0c;严格评估项目管理人员知识技能是否具有高品质的资格认证考试&#xff0…

学习:如何使用Axure制作网站、app结构图

​“老师&#xff0c;axure里面可以制作网站的结构图吗&#xff1f;” “结构图只能在脑图工具中才能画吗&#xff1f;能不能直接在axure里面直接画&#xff1f;” “结构图到底需不需要做&#xff1f;对我来说好像没什么用呢” 在同学们的学习当中&#xff0c;有部分同学对…