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

HeterGCL-Graph Contrastive Learning Framework on Heterophilic Graph

推荐指数: #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被没有纳入对比范围内,因此,有待去重跑部分实验

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 魅族20机型 M2381“工程固件”作用分析以及写入步骤
  • 机器学习,深度学习,AGI,AI的概念和区别
  • Mycat搭建分库分表
  • PyRFC 适用于 Python 的异步、非阻塞 SAP NetWeaver RFC SDK 绑定
  • 2012年408考研真题-数据结构
  • 重生之我在Java世界------学单例设计模式
  • 智谱清影 -CogVideoX-2b-部署与使用,带你揭秘生成6s视频的极致体验!
  • 正点原子阿尔法ARM开发板-IMX6ULL(七)——BSP工程管理实验(补:链接文件和.s文件)
  • 阅信云CTO向永清:35岁不应该成为技术职业发展的瓶颈|OceanBase 《DB大咖说》
  • 比backtrader还简单的量化回测框架,bt的使用方式以及示例
  • SpringCache
  • 简明linux系统编程--共享内存消息队列信号量
  • Chainlit集成Langchain并使用通义千问实现和数据库交互的网页对话应用增强扩展(text2sql)
  • 8.sklearn-模型保存
  • VirtualBox7.1.0 安装 Ubuntu22.04.5 虚拟机
  • [译]前端离线指南(上)
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【译】理解JavaScript:new 关键字
  • CSS相对定位
  • flask接收请求并推入栈
  • Joomla 2.x, 3.x useful code cheatsheet
  • Laravel核心解读--Facades
  • Redash本地开发环境搭建
  • vue-cli在webpack的配置文件探究
  • 免费小说阅读小程序
  • 前端面试之CSS3新特性
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 译自由幺半群
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 积累各种好的链接
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #if #elif #endif
  • #include
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $NOIp2018$劝退记
  • (2015)JS ES6 必知的十个 特性
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (rabbitmq的高级特性)消息可靠性
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (蓝桥杯每日一题)love
  • (原创)可支持最大高度的NestedScrollView
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • (自用)网络编程
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @JsonFormat 和 @DateTimeFormat 的区别
  • @RequestBody与@RequestParam
  • @RunWith注解作用
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [Algorithm][动态规划][简单多状态DP问题][按摩师][打家劫舍Ⅱ][删除并获得点数][粉刷房子]详细讲解