当前位置: 首页 > 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 实验

 

 

http://www.lryc.cn/news/15679.html

相关文章:

  • 木鱼cms系统审计小结
  • 软件测试面试-一线大厂必问的测试思维面试题
  • 企业级分布式应用服务 EDAS
  • 弄懂 Websocket 你得知道的这 3 点
  • Appium构架及工作原理
  • 软件架构中“弹性”的多种含义
  • JAVA练习57- 罗马数字转整数、位1的个数
  • C#把图片放到picturebox上的指定位置,PointToClient与PointToScreen解读
  • 【论文笔记】Manhattan-SDF==ZJU==CVPR‘2022 Oral
  • 环翠区中小学生编程挑战赛题解中学组T4:免费超市
  • 关于Oracle树形查询(connect by)的学习笔记
  • 观看课程领奖品!Imagination中国区技术总监全面解读 IMG DXT GPU
  • To_Heart—题解——[SCOI2012]奇怪的游戏
  • Spring Boot Hello World 基于 IDEA 案例详解
  • 基于机器学习的异常检测与分析技术
  • pytest进阶之html测试报告
  • 劳特巴赫仿真测试工具Trace32的基本使用(cmm文件)
  • 盘点四种自动化测试模型实例及优缺点
  • 【论文阅读】SCRFD: Sample and Computation 重分配的高效人脸检测
  • Debezium报错处理系列之四十七:Read only connection requires GTID_MODE to be ON
  • 关于float(b)类型数据类型的精度的学习
  • 哪种类型的网络安全风险需要进行渗透测试?
  • ur3+robotiq ft sensor+robotiq 2f 140配置gazebo仿真环境
  • Vue3后台管理系统(四)SVG图标
  • 【收集】2023年顶会accepted papers list(NeurIPS/CVPR/ICML/ICLR/ECCV/AAAI/IJCAI/WWW...)
  • 空闲态LTE到NR重选优先级介绍
  • 数据结构与算法:Map和Set的使用
  • C语言——动态内存管理
  • Docker安装Grafana
  • 数据结构(四):树、二叉树、二叉搜索树