【知识】简单理解为何GCN层数越多越能覆盖多跳邻居聚合信息范围更广

news2025/1/21 12:57:09

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]

背景说明

        大多数博客在介绍GCN层数时候,都会提到如下几点(经总结):

  • 在第一层,节点聚合来自其直接邻居的信息。
  • 在第二层,由于每个节点现在包含了其直接邻居的信息,它们在聚合直接邻居的特征时,也间接地聚合了二跳邻居的信息。
  • 这个过程可以继续进行,每增加一层,信息聚合的范围就扩大一跳

        但我们看代码时候其实会发现,GCNCov内的操作其实是一样的,那它是如何通过叠加多层,就可以聚合多跳邻居的呢?

如何理解

        其实我们需要明白一点就行:它是“间接”聚合。

        比如:

        第一层GCNCov时候,每个节点都能得到其一跳邻居的信息,并根据所有邻居的信息更新自己的信息。这个没有问题,很好理解。

        然后我们需要意识到,更新后的节点,实际上已经包含了其所有邻居的信息了。相应的,当前节点的邻居,也包含了它自己的邻居信息。

        那么,在做第二层GCNCov时候,由于邻居节点包含了邻居节点的邻居,所以当前节点就间接地包含了二跳的邻居信息。

        因此,我们实际上也可以发现,在做这两次GCNCov时候,其一跳邻居的信息被利用了多次,会造成冗余。此外,随着层数的增加,由于“间接”也在增加,似乎越远的节点信息对当前节点的贡献也会变弱。

        此外,过多的层可能导致过度平滑(over-smoothing)问题,即不同节点的特征变得越来越相似,损失了区分度。

        因此,层数越多效果越差,似乎也可以解释了:

        最后,再画个图理解一下:

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

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

相关文章

flink源码分析之功能组件(四)-slotpool组件I

简介 本系列是flink源码分析的第二个系列,上一个《flink源码分析之集群与资源》分析集群与资源,本系列分析功能组件,kubeclient,rpc,心跳,高可用,slotpool,rest,metrics&…

树与二叉树堆:链式二叉树的实现

目录 链式二叉树的实现: 前提须知: 前序: 中序: 后序: 链式二叉树的构建: 定义结构体: 初始化: 构建左右子树的指针指向: 前序遍历的实现: 中序…

J-Flash工具的使用---擦除、烧录及校验

文章目录 前言一、打开J-Flash工具二、使用步骤1.创建工程,选择MCU,配置端口2.打开要烧录的文件3.连接J-Link4.擦除Flash5. 烧录固件 总结 前言 不使用IDE(如keil、Iar)如何来烧录固件。当我们的程序需要保密,不需要被…

汽车悬架底盘部件自动化生产线3d检测蓝光三维测量自动化设备-CASAIM-IS(2ND)

随着汽车工业的不断发展,对于汽车零部件的制造质量和精度要求也在不断提高。汽车悬架底盘部件作为汽车的重要组成部分,其制造质量和精度直接影响到整车的性能和安全性。因此,采用CASAIM-IS(2ND)蓝光三维测量自动化设备…

滴滴也崩了!

昨日,据国内多家媒体报道,从11月27日晚上开始,滴滴因系统故障导致App服务异常,不显示定位且无法打车。 这次瘫痪事件持续了12个小时,根据滴滴公布的2023年第三季度财报,滴滴出行日均单量达到3130万单&#…

【老文新发】Otsu大津法详解及python实现

原文:A Threshold Selection Method from Gray-Level Histograms A Fast Algorithm for Multilevel Thresholding 前言 大津法包含两个重要的概念:类间方差(between-class variance)和类内方差(within-class varianc…

Linux地址空间随机化

ASLR(Address Space Layout Randomization)在2005年被引入到Linux的内核 kernel 2.6.12 中,早在2004年就以补丁的形式引入。内存地址的随机化,意味着同一应用多次执行所使用内存空间完全不同,也意味着简单的缓冲区溢出攻击无法达到目的。 1.…

LeetCode(39)赎金信【哈希表】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 赎金信 1.题目 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字…

深度学习毕设项目 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求&am…

哈希_快乐数

//编写一个算法来判断一个数 n 是不是快乐数。 // // 「快乐数」 定义为: // // // 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 // 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 // 如果…

智能优化算法应用:基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.闪电搜索算法4.实验参数设定5.算法结果6.参考…

vue项目运行时,报错:ValidationError: webpack Dev Server Invalid Options

在运行vue项目中,遇到报错:ValidationError: webpack Dev Server Invalid Options,如下图截图: 主要由于vue.config.js配置文件错误导致的,具体定位到proxy配置代理不能为空,导致运行项目报错,需…

一些好用的12款前端小插件

1. cropper.js Cropper.js 2.0 是一系列用于图像裁剪的 Web 组件。 官网地址:https://fengyuanchen.github.io/cropperjs/v2/zh/ 2. Vditor Vditor是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分…

001 基于51单片机的交通灯设计

001 基于51单片机的交通灯设计 东西向绿灯亮若干秒,黄灯闪烁 5 次后红灯亮, 红灯亮后, 南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁 5 此后变红灯,东西向变绿灯,如此重复 准备工作 keilproteus 完成最…

【笔记】windows+pytorch:部署一下stable diffusion和NeRF

之前都是 *nix 环境使用 pytorch,这次尝试了一下windows。 我们来部署下流行性高的stable diffusion和我觉得实用性比stable diffusion高多了的NeRF Stable Diffusion 其实,我也不知道要写啥,都是按照步骤做就好了,后面等有时间…

Java数据结构之《直接插入排序》问题

一、前言: 这是怀化学院的:Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我写完…

const 和 constexpr 深入学习

在 C 中,const 和 constexpr 都可以用来修饰对象和函数。修饰对象时,const 表示它是常量,而 constexpr 表示它是一个常量表达式。常量表达式必须在编译时期被计算1。修饰函数时,const 只能用于非静态成员的函数,而 con…

低功耗蓝牙模块在医疗保健领域中的创新应用

医疗保健领域一直在追求更先进的技术,以提高医疗服务的效率和质量。低功耗蓝牙技术的崭新应用为医疗设备的互联性和数据传输提供了可靠的解决方案。本文将深入研究低功耗蓝牙模块在医疗保健领域中的应用,重点关注其在可穿戴设备、远程医疗监测和患者数据…

YOLOv8 代码部署

一、获取代码 YOLOv8官方GitHub网址 https://github.com/ultralytics/ultralytics 获取YOLOv8代码压缩包 二、虚拟环境配置 这个就不写了,装个Anaconda,网上教程很多 三、PyCharm安装与配置(可选) 这个也不写了,…