当前位置: 首页 > 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开源代码官方实现&…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...