当前位置: 首页 > news >正文

论文笔记:DropMessage: Unifying Random Dropping for Graph Neural Networks

(AAAI 23 优秀论文)

1 intro

  • GNN的一个普遍思路是,每一层卷积层中,从邻居处聚合信息
    • 尽管GNN有显著的进步,但是在大规模图中训练GNN会遇到各种问题:
      • 过拟合
        • 过拟合之后,GNN的泛化能力就被限制了
      • 过渡平滑
        • 经过多轮邻居信息整合的迭代之后,GNN中不同点之前的表征会很相似
      • 不够鲁棒
        • 由于需要不断迭代聚合邻居信息,所以带有噪声的图可能会影响到GNN的表现

  • 上述提到的问题可以通过random dropping的方式解决
    • random dropping可以看作,通过对训练数据加噪声,缓解过拟合
    • DropOut
      • 对点的特征进行Drop out
    • DropEdge
      • 对图中的边进行drop out
    • DropNode
      • 对图中的点进行drop out
    • ——>他们都在一定程度上提升了GNN的表现
    • 但是一些开放性的问题仍然摆在random dropping问题前:
      • 引入GNN的随机噪声使得参数更难收敛,训练过程不稳定
      • 很难针对所有的图和所有的模型找到一个通用的最佳dropping方案来
      • 尚未有理论说明random dropping的有效性
  • 这篇Paper提出了一种新的random dropping方法,称之为DropMessage
    • 可以应用在所有基于信息传递的GNN中
    • 在消息矩阵上进行drop操作
      • ——>可以让同一个点向不同的邻居传递不同的消息
    • 将现有的random dropping方法整合到DropMessage中
    • 从理论层面证明了在GNN中添加random dropping,等价于提供了一个额外的正则项
    • 从信息论的角度,DropMessage保留了最多的信息多样性、是其他random dropping方法的上界

 2 Notation & Preliminary

2.1 记号

  • G=(V,E)表示图
    • \mathbf{V}=\left\{v_1, \ldots, v_n\right\}表示点集
    • E是边集
  • 节点特征矩阵为\mathbf{X}=\left\{x_1, \ldots, x_n\right\} \in \mathbb{R}^{n \times c}
  • 邻接矩阵是\mathbf{A}=\left\{a_1, \ldots, a_n\right\} \in \mathbb{R}^{n \times n},Aij表示点vi和点vj之间的邻接关系
  • 每个点的度是\mathbf{d}=\left\{d_1, \ldots, d_n\right\}
    • 图的度是\mathbf{d}(\mathbf{G})=\sum_i^n d_i
  • 我们有k条边(有向边),那么信息传递矩阵为\mathbf{M}=\left\{m_1, \ldots, m_k\right\} \in \mathbb{R}^{k \times c}
    • 每一行表示一条边上传递的信息

 2.2 GNN

  • message passing的GNN可以表示为
    • h_i^{(l+1)}=\gamma^{(l)}\left(h_i^{(l)}, \mathcal{A G G}_{j \in \mathcal{N}(i)}\left(\phi^{(l)}\left(h_i^{(l)}, h_j^{(l)}, e_{j, i}\right)\right)\right)
      • h_i^{(l)}表示第l层点vi的表征
      • N(i)是点vi的邻居
      • ej,i是点j到i的边
      • \phi^{(l)},\gamma^{(l)}是可微函数
      • AGG是一种聚合函数(比如SUM,MEAN等)
  • \mathbf{K}^{(l)} \in \mathbb{R}^{k \times n}为一个one-hot编码(每一行表示是这条边是由哪个点射出的)
    • 信息传递矩阵M可以表示为\mathbf{M}^{(l)}=\mathbf{K}^{(l)} \mathbf{H}^{(l)}

3 DropMessage

3.1 方法介绍

  • 在信息传递矩阵M上进行drop操作
  • 记dropping rate为δ,那么δ|M|个M上的元素将会被mask掉
  • 记一个伯努利分布\epsilon_{i, j} \sim \text { Bernoulli }(1-\delta)
    • 那么drop之后的信息传递矩阵为\widetilde{\mathbf{M}}_{i, j}=\epsilon \mathbf{M}_{i, j}(分布为1的保留,所以伯努利分布的p为1-δ)
    • 为了让drop之后的信息传递矩阵的期望和drop之前的期望一致,对drop之后的信息传递矩阵乘以一个系数\widetilde{\mathbf{M}}_{i, j}=\frac{1}{1-\delta} \epsilon_{i, j} \mathbf{M}_{i, j}

3.2 整合之前的random dropping方法

之前的几种random dropping,都可以看作是DropMessage的特例

3.3 理论部分

  • GNN上的无偏随机丢弃,可以看成是给目标函数添加了一个额外的正则项,这可以使得模型更鲁棒

3.4 DropMessage的好处

  • 减少样本方差
    • 随机丢弃会在训练过程中引入噪声,使得训练过程不稳定
    • 在给定丢弃率δ的情况下,DropMessage有最小的样本方差
  • 定义信息多样性
    • 包括特征多样性和拓扑多样性
      • 特征多样性指从不同点中保留的特征维数的数量(就是有多少个特征没有被完全丢弃掉)
      • 拓扑多样性指多少条有向边上有信息传递
    • Dropout、DropEdge、DropNode都不能保持信息多样性,但是DropMessage可以

4 实验

 

 

相关文章:

论文笔记:DropMessage: Unifying Random Dropping for Graph Neural Networks

(AAAI 23 优秀论文) 1 intro GNN的一个普遍思路是,每一层卷积层中,从邻居处聚合信息 尽管GNN有显著的进步,但是在大规模图中训练GNN会遇到各种问题: 过拟合 过拟合之后,GNN的泛化能力就被限制…...

木鱼cms系统审计小结

MuYuCMS基于Thinkphp开发的一套轻量级开源内容管理系统,专注为公司企业、个人站长提供快速建站提供解决方案。 ​​ ‍ 环境搭建 我们利用 phpstudy 来搭建环境,选择 Apache2.4.39 MySQL5.7.26 php5.6.9 ,同时利用 PhpStorm 来实现对项目的调试 ​…...

软件测试面试-一线大厂必问的测试思维面试题

五、测试思维5.1 打电话功能怎么去测?我们会从几个方面去测试:界面、功能、兼容性、易用性、安全、性能、异常。1)界面我们会测试下是否跟界面原型图一致,考虑浏览器不同显示比例,屏幕分辨率。2)功能&#…...

企业级分布式应用服务 EDAS

什么是企业级分布式应用服务EDAS企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的云原生PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Spring Cloud和Ap…...

弄懂 Websocket 你得知道的这 3 点

1. WebSocket原理 WebSocket同HTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的。 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket API也被W3C定为标准。 WebSocket使得客户端和服务器之间的数据交换变得更加简…...

Appium构架及工作原理

一、appium结构简单来说appium充当一个中间服务器的功能,接收来自我们代码的请求,然后发送到手机上进行执行。二、初步认识appium工作过程1.appium是c/s模式的2.appium是基于webdriver协议添加对移动设备自动化api扩展而成的,所以具有和webdr…...

软件架构中“弹性”的多种含义

在软件架构领域的中文文档、书籍中,经常可以看到“弹性”这个专业术语,但在不同的语境下含义可能会不同。 在英语中,elastic 和 resilient 两个单词都可以翻译为“弹性的”,但是它们在软件架构中代表的含义却完全不同&#xff0c…...

JAVA练习57- 罗马数字转整数、位1的个数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、题目1-罗马数字转整数 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 二、题目2-位1的个数 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 …...

C#把图片放到picturebox上的指定位置,PointToClient与PointToScreen解读

1、C#中如何把图片放到picturebox上的指定位置 构造一个跟picturebox1一样大小的Bitmap, 设置给picturebox1, 然后在上面画图 Bitmap image new Bitmap(picturebox1.Size.Width, picturebox1.Size.Height); Graphics device Graphics.FromImage(imag…...

【论文笔记】Manhattan-SDF==ZJU==CVPR‘2022 Oral

Neural 3D Scene Reconstruction with the Manhattan-world Assumption 本文工作:基于曼哈顿世界假设,重建室内场景三维模型。 1.1 曼哈顿世界假设 参考阅读文献:Structure-SLAM: Low-Drift Monocular SLAM in Indoor EnvironmentsIEEE IR…...

环翠区中小学生编程挑战赛题解中学组T4:免费超市

题目描述 OITV电视台最近开设了名为“免费超市”的真人电视节目,在节目中,抽奖选拔的民间志愿者们将随机匹配进行两两对抗赛。每场比赛上,节目组设置 n n n件商品排成一排供选手挑选,两名选手将交替出手选中并拿走商品,每件商品有着不同的价值 a i a_i a...

关于Oracle树形查询(connect by)的学习笔记

1.查找员工 FORD的上级 Note:在查找时,应当注意树形是倒过来的。(自下而上),故此父亲节点是MGR ,而儿子节点是EMPNO –PRIOR MGREMPNO也是可以的。 以下两种方式均可以实现查找FORD的上级。 SQL> SQ…...

观看课程领奖品!Imagination中国区技术总监全面解读 IMG DXT GPU

此前,我们发布了一系列关于 IMG DXT GPU 的介绍,为了让更多读者了解其背后的技术及应用方向,我们特别邀请 Imagination 中国区技术总监艾克录制全新在线课程,为大家全面解读IMG DXT GPU。 点击这里,马上注册观看&…...

To_Heart—题解——[SCOI2012]奇怪的游戏

题意 link. 给定一个 nmn\times mnm 的棋盘,每次操作可以选择两个相邻的格子,让这两个各自上的数都 1。问最少多少次操作使得所有格子的数相等。如果永远不行则输出-1。 题解 因为相邻两个格子进行操作,而且是方格,所以很容易…...

Spring Boot Hello World 基于 IDEA 案例详解

一、Spring Boot 是什么 世界上最好的文档来源自官方的《Spring Boot Reference Guide》,是这样介绍的: Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”...Most Spring Boot…...

基于机器学习的异常检测与分析技术

传统的运维方式在监控、问题发现、告警以及故障处理等各个环节均存在明显不足,需要大量依赖人的经验,在数据采集、异常诊断分析、故障处理的效率等方面有待提高。 本关键技术面对传统运维故障处理效率低、问题定位不准确、人力成本高三大痛点&#xff0…...

pytest进阶之html测试报告

pytest进阶之html测试报告 目录:导读 前言 pytest-html生成报告 安装 生成报告 效果 错误用例截图 添加描述 小结 allure2生成报告 安装allure 安装pytest-allure-adaptor插件 生成xml格式报告 添加环境变量 运行allure生成报告 效果 总结 前言 …...

劳特巴赫仿真测试工具Trace32的基本使用(cmm文件)

劳特巴赫 Trace32 调试使用教程 使用PRACTICE 脚本(.cmm) 在TRACE32 中使用PRACTICE 脚本(*.cmm)将帮助你: 在调试器启动时立即执行命令根据您的项目需求自定义TRACE32PowerView用户界面加载应用程序或符号使调试操作具有可重复性, 并可用于验证目的和回归测试 自动启动脚本…...

盘点四种自动化测试模型实例及优缺点

一,线性测试 1.概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本。单纯的来模拟用户完整的操作场景。 (操作,重复操作,数据)都混合在一起。 2.优点: 每个脚本相对独立&#xff0…...

【论文阅读】SCRFD: Sample and Computation 重分配的高效人脸检测

原始题目Sample and Computation Redistribution for Efficient Face Detection中文名称采样和计算 重分配的 高效人脸检测发表时间2021年5月10日平台ICLR-2022来源Imperial College, InsightFace文章链接https://arxiv.org/pdf/2105.04714.pdf开源代码官方实现&…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...

密码学基础——SM4算法

博客主页:christine-rr-CSDN博客 ​​​​专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...

未授权访问事件频发,我们应当如何应对?

在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…...