HeterGCL-Graph Contrastive Learning Framework on Heterophilic Graph

news2025/4/17 9:13:23

推荐指数: #paper/⭐⭐
发表于:IJCAI24
类型:个人觉得算是图结构学习,部分思想不错

问题背景:

传统的随机增强不适合异配图。随机增强主要保留的是同配信息。这就导致在异配图用随机增强会抑制高频信息,直接使用时不合理的(这个观点引用的是arixv22的文章[2204.04874] Augmentation-Free Graph Contrastive Learning with Performance Guarantee (arxiv.org),是否真的如他所述有待商榷)

贡献

  1. 我们揭示了传统GCL应用到异配图上的限制
    1. 为了去实现异配图上的自监督学习,我们提出了使用增强-编码-对比的模式去整合结构和语义信息
  2. 模型架构

  3. ANA结构增强

  4. 思路:首先,我们定义了ANA结构增强
  5. M ( l ) = s g n [ A ^ ( l ) ] − s g n [ A ^ ( l − 1 ) ] , M ~ ( l ) = M ( l ) + I , l = 1 , 2 , … , K . \mathbf{M}^{(l)}=\mathrm{sgn}\left[\widehat{\mathbf{A}}^{(l)}\right]-\mathrm{sgn}\left[\widehat{\mathbf{A}}^{(l-1)}\right],\\\widetilde{\mathbf{M}}^{(l)}=\mathbf{M}^{(l)}+\mathbf{I},l=1,2,\ldots,K. M(l)=sgn[A (l)]sgn[A (l1)],M (l)=M(l)+I,l=1,2,,K.
  6. 其中, A ^ i i ( l ) > 0 \widehat{\mathrm{A}}_{ii}^{(l)}>0 A ii(l)>0 时,M=1。否则为0 。l=1, A ^ = I \hat{A}=I A^=I 。这样, { M ( 1 ) , . . . , M ( l ) } \{\mathbf{M}^{(1)},...,\mathbf{M}^{(l)}\} {M(1),...,M(l)} 保留了邻居节点1到l层的信息。
  7. 推论 假设 A ^ \hat{A} A^ 是正则化邻接矩阵的无向图, M l M^l Ml 记录了节点最短路径等于l的节点
  8. 如果我们直接用M去做掩码,那么,就会出现一个问题:
    10.文章配图
    如图,0和7之间只有一个边链接。而0和3之间有两个边连接。如果仅仅用如上M去考虑信息,就会损失掉部分有用信息。
    因此,我们用如下去整合:
    R ( l , L ) = ∑ i = l L A ^ ( i ) . \mathbf{R}^{(l,L)}=\sum_{i=l}^L\widehat{\mathbf{A}}^{(i)}. R(l,L)=i=lLA (i).
    其中, A a n a ( l ) = M ~ ( l ) ⊙ R ( l , L ) , l = 1 , 2 , … , L . \mathbf{A}_{ana}^{(l)}=\widetilde{\mathbf{M}}^{(l)}\odot\mathbf{R}^{(l,L)},l=1,2,\ldots,L. Aana(l)=M (l)R(l,L),l=1,2,,L. ⊙ \odot 是hadamard积。

结构学习通过自适应邻居对比

由于同配节点和异配节点在GCN中会有不同的表现,我们为了获取公平的特征,就用MLP进行编码
H 0 = M L P ( X ) . \mathbf{H}_0=\mathrm{MLP}(\mathbf{X}). H0=MLP(X).
提取出初步的特征后,我们通过重构的 邻接矩阵进行特征传递:
P ( l ) = γ l ( A a n a ( l ) H 0 ) \mathbf{P}^{(l)}=\gamma_l(\mathbf{A}_{ana}^{(l)}\mathbf{H}_0) P(l)=γl(Aana(l)H0)
最终,我们得到多阶视图: { P ( 1 ) , . . . , P ( l ) } . \{\mathbf{P}^{(1)},...,\mathbf{P}^{(l)}\}. {P(1),...,P(l)}.
我们引入了自适应邻居对比损失(ANCLoss)去评估本地到全局视图的互信息。
L a ( l ) = − 1 N ∑ i = 1 N log ⁡ exp ⁡ ( h i ⋅ p i ( l ) / τ ) ∑ v k ∈ V 1 [ k ≠ i ] exp ⁡ ( h i ⋅ p k ( l ) / τ ) . \mathcal{L}_\mathbf{a}^{(l)}=-\frac1N\sum_{i=1}^N\log\frac{\exp\left(\boldsymbol{h}_i\cdot\boldsymbol{p}_i^{(l)}/\tau\right)}{\sum_{v_k\in\mathcal{V}}\boldsymbol{1}_{[k\neq i]}\exp\left(\boldsymbol{h}_i\cdot\boldsymbol{p}_k^{(l)}/\tau\right)}. La(l)=N1i=1NlogvkV1[k=i]exp(hipk(l)/τ)exp(hipi(l)/τ).
由于有k层,因此,最终的对比损失为:
L a = ∑ l = 1 K L a ( l ) . \mathcal{L}_\mathrm{a}=\sum_{l=1}^K\mathcal{L}_\mathrm{a}^{(l)}. La=l=1KLa(l).

原始图的语义信息

X 1 = FeatDrop ( X , p ) , H 1 = MLP ( X 1 ) . \begin{aligned}\mathbf{X}_1&=\text{FeatDrop}(\mathbf{X},p),\\\mathbf{H}_1&=\text{MLP}(\mathbf{X}_1).\end{aligned} X1H1=FeatDrop(X,p),=MLP(X1).
FeatDrop是feature drop操作.
L o = ∥ H 0 − H 1 ∥ F 2 ⏟ i n v a r i a n c e + λ ( ∥ H 0 ⊤ H 0 − I ∥ F 2 + ∥ H 1 ⊤ H 1 − I ∥ F 2 ) . ⏟ decorrelation \mathcal{L}_o=\underbrace{\left\|\mathrm{H}_0-\mathrm{H}_1\right\|_F^2}_{\mathrm{invariance}}+\underbrace{\lambda\left(\left\|\mathrm{H}_0^\top\mathrm{H}_0-\mathrm{I}\right\|_F^2+\left\|\mathrm{H}_1^\top\mathrm{H}_1-\mathrm{I}\right\|_F^2\right).}_{\text{decorrelation}} Lo=invariance H0H1F2+decorrelation λ( H0H0I F2+ H1H1I F2).
λ \lambda λ 是超参

语义特征图

我们引入GMM
p ( h i ∣ c j ) = 1 2 π σ 2 exp ⁡ ( − ∥ h i − c j ∥ 2 2 σ 2 ) . p\left(\boldsymbol{h}_i\mid\boldsymbol{c}_j\right)=\frac1{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{\left\|\boldsymbol{h}_i-\boldsymbol{c}_j\right\|_2}{2\sigma^2}\right). p(hicj)=2πσ2 1exp(2σ2hicj2).
c是聚类中心(center), σ 2 \sigma^2 σ2 是高斯分布的变量
节点特征h属于类c的概率如下计算
p ( c j ∣ h i ) = p ( c j ) p ( h i ∣ c j ) ∑ r = 1 k p ( c r ) p ( h i ∣ c r ) = exp ⁡ ( − ( h i − c j ) 2 2 σ 2 ) ∑ r = 1 k exp ⁡ ( − ( h i − c r ) 2 2 σ 2 ) p\left(\boldsymbol{c}_j\mid\boldsymbol{h}_i\right)=\frac{p\left(\boldsymbol{c}_j\right)p\left(\boldsymbol{h}_i\mid\boldsymbol{c}_j\right)}{\sum_{r=1}^kp\left(\boldsymbol{c}_r\right)p\left(\boldsymbol{h}_i\mid\boldsymbol{c}_r\right)}=\frac{\exp\left(-\frac{\left(\boldsymbol{h}_i-\boldsymbol{c}_j\right)^2}{2\sigma^2}\right)}{\sum_{r=1}^k\exp\left(-\frac{\left(\boldsymbol{h}_i-\boldsymbol{c}_r\right)^2}{2\sigma^2}\right)} p(cjhi)=r=1kp(cr)p(hicr)p(cj)p(hicj)=r=1kexp(2σ2(hicr)2)exp(2σ2(hicj)2)
最终,我们可以得到类分配矩阵 R i j ∈ R N × k R_{ij}\in \mathbb{R}^{N \times k} RijRN×k
我们构造其中潜在特征损失(LFLoss)
L l f = 1 k ∣ E ∣ ∑ r = 1 k ∑ ( v i , v j ) ∈ E M S E ( p ( c r ∣ h i ) , p ( c r ∣ h j ) ) . \mathcal{L}_{\mathrm{lf}}=\frac1{k|\mathcal{E}|}\sum_{r=1}^k\sum_{(v_i,v_j)\in\mathcal{E}}\mathrm{MSE}\left(p\left(\boldsymbol{c}_r\mid\boldsymbol{h}_i\right),p\left(\boldsymbol{c}_r\mid\boldsymbol{h}_j\right)\right). Llf=kE1r=1k(vi,vj)EMSE(p(crhi),p(crhj)).

整体损失

L = α L a + ( 1 − α ) ( L o + L l f ) . \mathcal{L}=\alpha\mathcal{L}_a+(1-\alpha)(\mathcal{L}_o+\mathcal{L}_\mathrm{lf}). L=αLa+(1α)(Lo+Llf).

结果

文章配图

个人收货

  1. ANA很有意思,可以包含一些有趣的信息
    1. 整体上来说,损失有三个:对比损失,特征重构损失,第三个损失没见过
    1. 整体结果并没有最优(并未对比一些最新的方法),以及,经典异配图chameleon和Squirrel被没有纳入对比范围内,因此,有待去重跑部分实验

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

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

相关文章

JDBC 编程

目录 JDBC 是什么 JDBC 的工作原理 JDBC 的使用 引入驱动 使用 常用接口和类 Connection Statement ResultSet 使用总结 JDBC 是什么 JDBC(Java Database Connectivity):Java数据库连接,是一种用于执行 SQL 语句的Java…

【附激活码】2024最新PyCharm下载安装激活汉化教程!

一、PyCharm激活 激活码: KQ8KMJ77TY-eyJsaWNlbnNlSWQiOiJLUThLTUo3N1RZIiwibGljZW5zZWVOYW1lIjoiVW5pdmVyc2l0YXMgTmVnZXJpIE1hbGFuZyIsImxpY2Vuc2VlVHlwZSI6IkNMQVNTUk9PTSIsImFzc2lnbmVlTmFtZSI6IkpldOWFqOWutuahtiDorqTlh4blupflkI0iLCJhc3NpZ25lZUVtYWlsIjoi…

如何使用 Python Matplotlib 绘制 3D 曲面图

在数据可视化中,3D 图表是一个非常有用的工具,特别是当想要展示复杂的三维数据时,如期权的波动率曲面。Python 的 matplotlib 库提供了生成各种类型图表,包括 3D 图表。 本文将介绍如何使用 Python 中的 matplotlib 绘制 3D 曲面…

分公司=一部门——组合模式

文章目录 分公司一部门——组合模式分公司不就是一部门吗?组合模式透明方式与安全方式何时使用组合模式公司管理系统组合模式好处 分公司一部门——组合模式 分公司不就是一部门吗? 时间:5月10日19点  地点:小菜、大鸟住所的客…

开放的数据时代:Web3和个人隐私的未来

在数字化和信息化的时代,数据隐私成为了公众关注的焦点。随着Web3技术的兴起,个人隐私保护进入了一个新的阶段。Web3作为去中心化的互联网架构,提出了对数据控制和隐私保护的新方案。本文将探讨Web3如何影响个人隐私的未来,并分析…

[附源码]SpringBoot+VUE+Java实现人脸识别系统

今天带来一款优秀的项目:java人脸识别系统源码 。 系统采用的流行的前后端分离结构,内含功能包括 “人脸数数据录入”,“人脸管理”,“摄像头识别” 如果您有任何问题,也请联系小编,小编是经验丰富的程序员…

编写程序,在一行上显示1-5数字,每个相邻的数字要求用空格进行分开

目录 前言 一、一行输出(使用一个System语句输出) 二、多行输出(使用多(N)个System语句输出) 三、循环输出(使用for语句循环在通过System语句输出) 四、完整代码 前言 1.本文所…

只会Python编程,做量化交易策略用QMT怎么样?听说QMT是支持Python的!

QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端,拥有高速行情、极速交易、策略交易、多维度风控等专业功能,满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…

使用 UWA Gears 定位游戏内存问题

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台,提供了实时监测和截帧分析功能,帮助您精准定位性能热点,提升应用的整体表现。 内存不足、内存泄漏和过度使用等问题,常常导致游戏出现卡顿、崩溃,甚至影响…

偷偷告诉你,学会使用这几样测试用例管理工具就够啦!

在软件开发过程中,测试是必不可少的一环,而测试用例则是测试的重要依据。如何有效地管理测试用例,提高测试效率,是每一个测试人员都需要面对的问题。本文将为你介绍几款实用的测试用例管理工具,帮助你更好地进行测试工…

2024年双十一不容错过的好物分享,最值得买的五款单品

双十一购物狂欢节将至,这是一场属于“剁手党”的年度盛宴。每年的11月11日,各大电商平台纷纷推出海量优惠活动,吸引无数消费者积极参与。对于热衷于寻找好物的人来说,双十一无疑是一个不容错过的机会,双十一好物不间断…

基于JavaWeb开发的java+Springboot操作系统教学交流平台详细设计实现

基于JavaWeb开发的javaSpringboot操作系统教学交流平台详细设计实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接…

零基础制作一个ST-LINK V2 附PCB文件原理图 AD格式

资料下载地址:零基础制作一个ST-LINK V2 附PCB文件原理图 AD格式 ST-LINK/V2是一款可以在线仿真以及下载STM8以及STM32的开发工具。支持所有带SWIM接口的STM8系列单片机;支持所有带JTAG / SWD接口的STM32系列单片机。 基本属性 ST-LINK/V2是ST意法半导体为评估、开…

【我的 PWN 学习手札】劫持 tcache_perthread_struct

目录 前言 一、tcache perthread struct 二、劫持 tcache_perthread_struct 三、测试与模板 前言 tcache 是 glibc 2.26 (ubuntu 17.10) 之后引入的一种技术,目的是提升堆管理的性能,与 fast bin 类似。 tcache 引入了两个新的结构体, tc…

idear导入他人项目如何快速运行

最近idear经常导入别人的项目,结果永远在加载依赖项。网上查了一堆资料,什么jdk问题,环境变量问题,maven仓库路径问题,总之就是没啥用。那有没有什么简单粗暴的办法,能够导入项目后快速运行呢。 解决方法&a…

独立站技能树之建站33项自检清单 1.0丨出海笔记

很多时候大家建好站之后很嗨,但过一会就开始担忧各种纠结我是不是还有什么点没做好,或者我的站漏了什么东西,那么接下来以下这个独立站自检清单能很好的帮到你。其实对于新手我还是建议大家直接用一些模板,因为模板上面基本该有的…

Gitee丝滑版本:成功在新电脑添加新文件

git 关键步骤 1.首先在新电脑建一个文件夹,然后打开这个文件夹里面右键打开OPEN BASH GIT HERE。 2.然后输入git init,会在文件夹生成一个git.文件,接着把复制的get clone命令克隆过去就可以下载了,如果遇到403问题&#xff0c…

【机器学习】从数据到决策——完整的机器学习项目实战解析

【机器学习】从数据到决策——完整的机器学习项目实战解析 1. 引言 机器学习项目不仅仅是训练一个模型,它涉及从数据预处理到模型评估的完整流程。本文将通过一个完整的机器学习项目,展示从数据准备到最终决策的关键步骤。这将帮助你理解如何系统地构建…

9-----MTK专用工具 MTKpro解锁 读取分区 备份nv 檫除nv 工具预览与步骤解析

以上工具包含原版与汉化版工具。根据上面图示 可以看到此工具可以刷写mtk机型,包含有刷机的各个加载选项以及刷写方式。其中动画界面演示了无需加载任何引导。联机就可以读取到当前机型分区的演示。 工具功能选项 ★★★★★不需要任何引导直接读取mtk分区 备份 檫除 写入分…

shinyproxy部署R语言shiny APP

shinyproxy部署shiny APP经验谈 shinyAPP 是成熟的web APP框架,依靠R语言的数据分析功能可以构建功能丰富的,外表美观的web APP,但是APP部署是shiny APP最大的瓶颈,免费部署途径有诸多的限制,收费的部署方式价格昂贵。…