首页 > 其他分享 >MA-GCL论文阅读笔记

MA-GCL论文阅读笔记

时间:2024-03-06 20:35:01浏览次数:24  
标签:算符 增强 MA 噪声 编码器 视图 GCL 笔记

Abstract

​ 在图中生成对比视图比在图像中更具挑战性,因为我们对如何在不改变图标签的情况下显著增强图缺乏先验知识。我们认为,在GCL中,典型的数据增强技术(例如,边缘下降)不能产生足够不同的对比视图来过滤掉噪声。此外,以往的GCL方法采用了两个具有完全相同的神经结构和绑定参数的视图编码器,这进一步损害了增强视图的多样性。为了解决这一限制,我们提出了一种名为模型增强GCL(MA-GCL)的新范式,它将专注于操作视图编码器的架构,而不是干扰图输入。具体地说,我们提出了三种易于实现的GCL模型增强技巧,即非对称、随机和洗牌,分别有助于帮助缓解高频噪声,丰富训练实例和带来更安全的增强。所有这三种技巧都与典型的数据增强相兼容。

Introduction

​ 良好的对比观点应该在不同的同时保持任务相关信息的不变。而在图学习领域,去掉一条边可能会破坏与下游任务相关的关键连接。然而,大多数现有的图形数据增强(GDA)技术(如节点或边下降)选择随机干扰图拓扑作为对比视图

​ 我们认为现有的GDA技术处于一个两难的境地:保留足够的任务相关信息的扰动不能产生足够多样的增强来过滤掉噪声。此外,以往的GCL方法采用了两个具有完全相同的神经结构和绑定参数的视图编码器,这进一步损害了增强视图的多样性。尽管最近的一些GCL方法以启发式或对抗式的方式产生增强,但它们仍然使用了具有相同架构的两个视图编码器,但未能完全解决这个问题。此外,最近的一项工作提出了扰动模型参数,而不是图输入作为扩充。但是,编码语义对模型参数的函数相当复杂。因此,从一个简单的分布中提取的参数扰动可能会损害编码表示中的语义。

​ 在这项工作中,我们提出了一种新的范式的GCL来解决上述局限性,命名为MA-GCL(模型增强的图对比学习)。我们将GNN编码器解释为传播算子(即图滤波器)和变换算子(即权值矩阵和非线性)的组成。请注意,以前的GCL方法采用固定的和相同的GNN作为视图编码器,即传播和转换操作符的数量以及它们的排列是固定的和相同的,以编码不同的对比视图。在这项工作中,我们关注于干扰视图编码器的神经结构作为对比视图,并提出了三种模型增强技巧:

  • 不对称策略:我们将使用两个具有不同数量传播操作算子的对比编码器。我们从理论上证明了该策略有助于缓解高频噪声。

  • 随机策略:我们将在每个epoch中随机变化传播算子的数量。其背后的直觉是,改变传播深度可以丰富训练实例的多样性,从而有助于预测下游任务。

  • 洗牌策略:我们将在两个视图编码器中洗牌传播和转换算符的排列。其背后的直觉是,打乱运算符的顺序不会改变输入图的语义,但会干扰编码的表示作为更安全的扩充。

​ 所有这三个技巧都很简单,并且与典型的数据扩充相兼容。这三种策略都将有助于整体的改进,而不对称策略是这三种策略中最有效的一种。

​ 本文的贡献如下:

  • 我们强调了大多数GCL方法的一个关键限制,即图的增强不够多样性,不足以滤除噪声。为了克服这一限制,我们提出了一种新的范式,称为GCL的模型增强,它将关注于扰动GNN编码器的架构,而不是图输入或模型参数。
  • 我们提出了三种有效的GCL模型增强技巧,即非对称、随机和洗牌,它们分别可以帮助缓解高频噪声,丰富训练实例和带来更安全的增强。所有这三个技巧都很简单、易于实现,并与典型的数据扩充功能兼容

Method

​ 为了解决现有的GCL方法的局限性,我们将专注于操纵视图编码器的神经结构作为模型的增强。在本节中,我们将首先分别介绍三种策略及其好处。然后,我们将通过将这三个技巧合并到一个简单的基本模型中来说明整个算法

非对称策略

​ 摘要:使用具有共享参数但不同传播层数的编码器可以缓解高频噪声。

对比学习可以提取不同视图之间共享的信息,从而过滤掉只出现在单一视图中的与任务无关的噪声。如图所示,每个区域的尺度表示信息量,学习到的CL表征包括任务相关信息(区域D)和任务无关的噪声(区域C)。直观地说,这两个视图不应该太远(D的信息有限)或太近(C的噪音太多)。我们认为,在以前的GCL方法中,两种视图过于接近:

(1)典型的GDA技术(例如,边缘或节点下降)不能在保持任务相关信息不变的同时产生足够多样的增强;

(2)这两种视图编码器具有完全相同的神经结构和绑定参数,这加强了视图之间的紧密性。

pFrlWD0.png

​ 为了解决这个问题,我们建议使用具有共享参数但具有不同传播层数的非对称视图编码器。如图(b)所示,我们可以通过不同的传播层数将两个视图相互推开,共享的参数可以确保它们之间的距离不会太远。这样,就可以缓解GCL(C区)中的噪声。请注意,h和g运算符的数量是完全分离的。为了实现,我们使用了两个GNN编码器,具有相同的h算符数量,但g算符数量不同。这里的h算符表示非线性激活,g算符表示图过滤,比如正则化后的邻接矩阵乘用户和项目的表示等等,我们的实现可以帮助滤除高频噪声。

​ 简单起见,如果我们忽略GNN编码器中的非线性激活,h算子就变成一个单独的权重矩阵了,然后我们就有了两个简单的编码器,\(Z=F^LXW,Z'=F^{L'}XW\),其中L和L'跟鄙视两个视图编码器的g运算符的数量,这就是两个非对称编码器了

随机策略

摘要:在每个epoch上随机改变视图编码器的传播算符的数量可以帮助丰富训练样本

比如这里可以改变编码器中操作符g的数量,也就是改变图过滤的层数,改变传播深度可以丰富训练实例的多样性,从而有助于预测下游任务。

重排策略

摘要:在每个epoch打乱传播和转换算子的排列会带来更安全的增强

现有的GDA技术通常会随机扰动图的拓扑结构,并会承担破坏与下游任务相关的关键连接的风险。为了解决这个问题,我们建议在两种观点的编码器中使用不同的操作符g和h的排列作为更安全的扩充。形式上,如果视图编码器f有L个算符的g和N个算符的h,那么f可以写成:

\(f(\boldsymbol{X})=h_N\circ g^{[K_N]}\circ h_{N\text{ -}1}\circ\ldots g^{[K_2]}\circ h_1\circ g^{[K_1]}(\boldsymbol{X})\)

其中:\(K_{1}^{\prime},K_{2}^{\prime}\ldots K_{N}^{\prime}\geq0\mathrm{with}\sum_{i=1}^{N}K_{i}^{\prime}=L\)

其背后的直觉是,变换传播和转换算符的顺序不会改变输入图的语义,但会干扰编码的表示作为更安全的扩充。

MA-GCL算法的具体流程如下:

pFr1sZ6.png

标签:算符,增强,MA,噪声,编码器,视图,GCL,笔记
From: https://www.cnblogs.com/anewpro-techshare/p/18057474

相关文章

  • Vue学习笔记36--VueComponent构造函数
    VueComponent构造函数<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>VueComponent&......
  • BigDecimal 除不尽导致下单 异常
    publicstaticvoidmain(String[]args){//异常代码,除不尽导致//BigDecimaldivide=newBigDecimal(1).divide(newBigDecimal(0.3));/*Exceptioninthread"main"java.lang.ArithmeticException:Non-terminatingdecim......
  • 技术笔记(1)QFramework
    技术笔记(1)QFramework希望实现的功能或目标:了解学习游戏开发中的架构演化过程了解学习IOC容器、DI等相关概念‍‍学习笔记:‍BindableProperty类实际上是数据+事件我理解为将模型层中的一个数据整合升级成一个类,并将修改和获取其的具体方法放在属性的get和set......
  • 技术笔记(3)扩展方法
    技术笔记(3)扩展方法希望实现的功能或目标:继续学习MMORPG游戏开发的框架了解扩展方法‍学习笔记:CanGetLayersExtension类扩展方法GetSystem:publicstaticTGetSystem<T>(thisICanGetSystemself)whereT:class,ISystem{returnStartArchitecture.I......
  • 技术笔记(2)MMORPG架构
    技术笔记(2)MMORPG架构希望实现的功能或目标:一个功能完整的接近商业案例的MMORPG游戏项目搭建起该游戏项目的基本架构‍学习笔记:IOCContainer类用以保存所有层级以及各个模块的实例实例字典​privateDictionary<Type,object>instancesDict=newDictiona......
  • XXL-JOB 使用笔记(附代码)
    一:分布式调度系统对比开源产品对比:Quartz缺点: 1、不支持任务编排,无可视化编配页面 2、与业务高度耦合,系统侵入性严重 3.调度逻辑和QuartzJobBean耦合在同一个项目中,任务增加会导致系统性能瓶颈 4.quartz底层以“抢占式”获取DB锁并由抢占成功节点负责运行任务,会导......
  • 并查集解mex_cf932_B. Informatics in MAC
    目录题目概述思路想法参考代码做题反思题目概述原题参考:B.InformaticsinMAC给出一个长度为n的数组,问是否可以将其分为k个(k>1)mex相同的数组,如果可以的话,作出一种划分思路想法假设一个数组可以被分为k(k>2)个区间,每个区间的mex相同,那么可以确定的是,该数组中一定不存在mex这......
  • 线性代数——平面向量 学习笔记
    线性代数——平面向量学习笔记首发于洛谷。定义及用语说明无特殊说明,下文的向量均指自由向量且是平面向量。向量,英文名为vector,目前没有准确而统一的中文翻译。在物理学科,一般翻译成「矢量」,且与「标量」一词相对。在数学学科,一般直接翻译成「向量」。对于向量的乘法:......
  • Vue学习笔记3--组件嵌套
    组件嵌套示例一:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>非单文件组件--全局注册</tit......
  • NGUI学习笔记4.0
    EventListener和EventTrigger控件自带组件的局限性其实我们常见的复合控件只提供一些简单的事件监听,如按钮有点击抬起的监听,对长按等其他交互方式的事件监听不大支持。NGUI的监听函数给NGUI对象添加Collider,在其挂载的脚本中编写对应的NGUI的函数,在运行时候会通过反射来进行匹......