图神经网络(7)-续 GNN的具体实践(BN,dropout等)

目录

实践中的GNN层

GNN的过渡平滑问题(节点嵌入趋同)

增强GNN的表达能力

增加跳跃连接


摘要:GNN层的变换,over-smoothing问题以及解决办法增强GNN的表达能力增加跳跃连接

在实际应用中,也就是在编程的时候,基本就可以把GNN层看作是CNN层,可以往上面加上各种在深度学习中应用的模块。

实践中的GNN层

BN以及dropout之类的具体操作,参考神经网络中的内容。

后面自己补一个,神经网络优化内容的总结。

GNN的过渡平滑问题(节点嵌入趋同)

在GNN中,如果大量GNN层堆叠,就很有可能出现over smoothing问题——通过图神经网络处理得到的各个节点embeddings变得大同小异。显然这样是不行的,各个节点的embeddings都是一样的,那么你怎么做节点分类??!!其他的tasks也很难搞啊!

那为什么会出现这个问题呢??

课程中,老师引入一个概念:接受域

节点的embeddings都是由接受域决定的。

因为每个节点计算embeddings时,都是通过message和aggregataion操作的,都是通过从邻居节点那边得到信息在做处理的。如果你的GNN层数越多,最后得到embeddings它汇集的节点就会越多(接受域越大),而所有节点汇聚的节点都多,那么显而易见,不同节点汇集的对象就会重叠(也就是大家都从相似的接受域汇集),最后汇集的结果就会相似。

其实,也可以用另一个角度去理解,从计算图去理解。

在最开始介绍GNN的时候,提过计算图,如下

 如果用GNN实现这个计算图,那么GNN应该是两层。对于上面这个图,如果GNN变成四层或者更多,它对应的计算图会变成什么样子呢??当层数过多之后,计算图就变成俄罗斯套娃,你中有我我中有你,最后得到的结果就会相似。

其实,计算图和接受域是类似的意思。

因此,在设计GNN模型时,得注意GNN的层数。对于GNN模型来讲,不是GNN层数越多,模型的能力越强,而是最开始层数增多,模型能力变强,后来层数增多,模型能力变弱!!

可以通过分析接受域的大小去设计GNN层数。

 GNN层数数量有一个总思想,就是层数不能太多!!那么这样又会带来一个问题:GNN层数太少了,模型的表达能力就不强!

增强GNN的表达能力

方法1:增强GNN层内部的表达能力

在transformation和aggregation操作中增加可以训练的参数,可以把transformation和aggregation操作变成深度神经网络DNN。 

方法2:在GNN模型中增加其他类型的NN层(譬如MLP)——常用

在节点数据被传入GNN层之前,和数据传出GNN层后,我们都可以增加NN层去做预处理和后处理。

增加跳跃连接

如果我们就是想要GNN层数多一点,那么我们就可以采取增加跳跃连接的方式。

在谈GNN的过渡平滑问题的时候提过,节点embeddings在GNN的前几层差异会比较大,当层数变多,后面的embeddings就会相似。那么我们把前几层的数据直接传到后面的GNN层中,这样也能解决过渡平滑问题。

增加跳跃连接的方式各式各样,就不介绍了。跳跃连接在深度神经网络DNN中也经常会用,是为了防止网络层数增加而导致的梯度弥散问题与退化问题。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GNN核心人才培养计划 - 神经网络项目班是针对神经网络领域的培养计划。神经网络是一种应用于数据的深度学习技术,近年来在社交网络分析、推荐系统、生物信息学等领域取得了显著的成果。 该计划旨在培养具备神经网络理论与实践能力的核心人才。项目班设有一系列培养课程和实践项目,旨在全面提升学员的神经网络算法与模型设计能力。 首先,该计划将开设相关的理论课程,涵盖神经网络的基本原理、算法框架和模型架构等知识。学员将通过学习这些理论知识,深入了解神经网络的工作原理和核心概念。 其次,项目班注重实践能力的培养。学员将有机会参与具体神经网络项目,应用所学知识解决实际问题。这些实践项目涵盖社交网络分析、推荐系统优化等多个领域,旨在让学员能够熟练地应用神经网络技术解决实际应用问题。 除此之外,该计划还将提供一系列关于神经网络的前沿研究方向的讲座和学术交流活动,帮助学员了解最新的研究进展并培养科研能力。 此外,项目班鼓励学员参与实际项目合作或进行相关科研工作,以提升学员在神经网络领域的实践经验和综合能力。 通过该计划的培养,学员将具备扎实的神经网络理论知识和实践能力,能够在工业界和学术界具有竞争力。该计划旨在推动神经网络领域的研究和发展,培养更多优秀的神经网络核心人才。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值