S3GCL Spectral, Swift, Spatial Graph Contrastive Learning

news2024/12/28 3:06:50

发表于:PMLR24
推荐指数: #paper/⭐⭐⭐
总结做了什么:
利用gcn+对比学习训练mlp来提取特征嵌入,使得训练完毕使用的时候,可以更快的得到嵌入(类似于师生蒸馏的加速).其中,结合了异配图的chebnet2,以及高通低通过滤,和非对称对比学习等
文章配图
看图解释:作者将全通的MLP训练得到的嵌入和低通过滤器和高通过滤器生成的嵌入进行对比,来训练MLP的嵌入.这个思想特别巧妙,角度切入很好

方法

切比雪夫多项式:

∑ k = 0 K w k T k ( L ~ ) X \sum_{k=0}^Kw_kT_k(\tilde{\mathbf{L}})\mathbf{X} k=0KwkTk(L~)X其中, L ^ = 2 L / λ m a x − I \hat{\mathbf{L}}=2\mathbf{L}/\lambda_{max}-\mathbf{I} L^=2L/λmaxI. T k ( x ) = 2 x T k − 1 ( x ) − T k − 2 ( x ) T_{\boldsymbol{k}}(x) = 2xT_{\boldsymbol{k}-1}(x) -T_{\boldsymbol{k}-2}(x) Tk(x)=2xTk1(x)Tk2(x),其中 T 0 ( x ) = 1 , T 1 ( x ) = x T_0(x) = 1 \mathrm , T_1(x) = x T0(x)=1,T1(x)=x
在切比雪夫差值中,将参数w重新参数化:
w k = 2 K + 1 ∑ j = 0 K γ j T k ( x j ) w_k=\frac2{K+1}\sum_{j=0}^K\gamma_jT_k(x_j) wk=K+12j=0KγjTk(xj)
由于在无监督学习中,难以用标签来促进参数化.我们提出以下两个要求:1.参数 γ \gamma γ在0-2之间.2.低通过滤器的 γ \gamma γ随着j的增加逐渐减小(2->0),而高通的 γ \gamma γ随着j的增加逐渐增大(0->2).我们因此提出了余弦相似度相初始化参数.
γ j h = σ ( β a h ) + 1 2 σ ( β b h ) ( 1 + cos ⁡ ( ( 1 + j / K ) π ) ) \gamma_j^h=\sigma(\beta_a^h)+\frac12\sigma(\beta_b^h)(1+\cos\left((1+j/K)\pi\right)) γjh=σ(βah)+21σ(βbh)(1+cos((1+j/K)π))
γ j l = σ ( β a l ) − 1 2 σ ( β b l ) ( 1 + cos ⁡ ( ( 1 + j / K ) π ) ) \gamma_j^l=\sigma(\beta_a^l)-\frac12\sigma(\beta_b^l)(1+\cos\left((1+j/K)\pi\right)) γjl=σ(βal)21σ(βbl)(1+cos((1+j/K)π))
其中, σ \sigma σ是relu函数,保证 γ \gamma γ的非负性以及 γ j h ≤ γ j + 1 h \gamma_{j}^{h}\leq\gamma_{j+1}^{h} γjhγj+1h, γ j l ≥ γ j + 1 l \gamma_{j}^{l}\geq\gamma_{j+1}^{l} γjlγj+1l.我们初始化 β a h , β a l \beta_{a}^h,\beta_{a}^l βah,βal 0和2,设置 β b h , β b l \beta_{b}^h,\beta_{b}^l βbh,βbl 2.之后, β \beta β可训练在对比训练中.由于余弦相似度强调了相关频率,因此促进了更稳定的频率分布.

在我的理解中,切比雪夫光谱过滤器的符号为正时,应该是高通过滤器.现在举前4项为例. T 1 ( L ) = x , T 2 ( L ) = 2 x 2 − 1 , T 3 ( x ) = 4 x 3 − 3 x T_{1}(L)=x,T_{2}(L)=2x^2-1,T_{3}(x)=4x^3-3x T1(L)=x,T2(L)=2x21,T3(x)=4x33x,这三个都是显著的高通过滤器.因此,我个人认为作者生成的两个多项式都是高通过滤器.
这样,高通视图和低通视图可得:
Z h = ∑ k = 0 K w k h T k ( L ~ ) f θ h ( X ) , Z l = ∑ k = 0 K w k l T k ( L ~ ) f θ l ( X ) . \mathbf{Z}^h=\sum_{k=0}^Kw_k^hT_k(\tilde{\mathbf{L}})f_\theta^h(\mathbf{X}),\quad\mathbf{Z}^l=\sum_{k=0}^Kw_k^lT_k(\tilde{\mathbf{L}})f_\theta^l(\mathbf{X}). Zh=k=0KwkhTk(L~)fθh(X),Zl=k=0KwklTk(L~)fθl(X).
其中, f θ f_{\theta} fθ是MLP.

MLP编码器和交叉通道目标

我们定义交叉通道目标为:
L c p = − 1 2 ∣ V ∣ ∑ v i ∈ V ( log ⁡ s ( z p f , z p l ) ∑ p ≠ q s ( z p f , z q l ) + log ⁡ s ( z p f , z p h ) ∑ p ≠ q s ( z p f , z q h ) ) . (4) \begin{aligned}\mathcal{L}_{cp}&=\frac{-1}{2|\mathcal{V}|}\sum_{v_i\in\mathcal{V}}\left(\log\frac{\mathrm{s}\left(z_p^f,z_p^l\right)}{\sum_{p\neq q}\mathrm{s}\left(z_p^f,z_q^l\right)}\right.+\log\frac{\mathrm{s}\left(z_p^f,z_p^h\right)}{\sum_{p\neq q}\mathrm{s}\left(z_p^f,z_q^h\right)}\Big).\end{aligned}\tag{4} Lcp=2∣V1viV logp=qs(zpf,zql)s(zpf,zpl)+logp=qs(zpf,zqh)s(zpf,zph)).(4)
s ( z n f , z n h ) = exp ⁡ ( ω ( z n f , z n h ) / τ ) \mathrm{s}(z_n^f,z_n^h) = \exp(\omega(z_n^f,z_n^h)/\tau) s(znf,znh)=exp(ω(znf,znh)/τ),其中w是余弦相似度. z p f z_{p}^f zpf是通过mlp得到的. z p h z_{p}^h zph是通过高通过滤器得到的. z p l z^l_{p} zpl是通过低通过滤器得到的.
但是,由于mlp匮乏的捕获图信息的能力,因此这个学习到的结果不是最优的

光谱:邻居正样本\

低通过滤器

由graph ecl,ugcn等可以得到:在异配图上,2阶邻居可以表现出同配性.因此,我们将公式4的左侧(mlp嵌入与低通嵌入的对比)改造为:
L f l = − 1 2 ∣ V ∣ ∑ v i ∈ V 1 ∣ N i ′ ∣ ∑ v p ∈ N i ′ log ⁡ s ( z i f , z p l ) ∑ v q ∈ V ∖ v i s ( z i f , z q l ) . \mathcal{L}_{fl}=-\frac1{2|\mathcal{V}|}\sum_{v_i\in\mathcal{V}}\frac1{|\mathcal{N}_i^{\prime}|}\sum_{v_p\in\mathcal{N}_i^{\prime}}\log\frac{\mathrm{s}\left(z_i^f,z_p^l\right)}{\sum_{v_q\in\mathcal{V}\setminus v_i}\mathrm{s}\left(z_i^f,z_q^l\right)}. Lfl=2∣V1viVNi1vpNilogvqVvis(zif,zql)s(zif,zpl).
其中, N i ′ {\mathcal{N}_i^{\prime}} Ni表示 v i v_{i} vi的本地邻居正样本.如图所示,由于节点p是节点i的邻居,因此,上式子实质上是聚合节点的2阶及以上的邻居.

高通过滤器

L f h = − 1 2 ∣ V ∣ ∑ v i ∈ V 1 ∣ N i ′ ′ ∣ ∑ v p ∈ N i ′ ′ log ⁡ s ( z i f , z p h ) ∑ v q ∈ V ∖ v i s ( z i f , z q h ) \mathcal{L}_{fh}=-\frac1{2|\mathcal{V}|}\sum_{v_i\in\mathcal{V}}\frac1{|\mathcal{N}_i^{\prime\prime}|}\sum_{v_p\in\mathcal{N}_i^{\prime\prime}}\log\frac{\mathrm{s}\left(z_i^f,z_p^h\right)}{\sum_{v_q\in\mathcal{V}\setminus v_i}\mathrm{s}\left(z_i^f,z_q^h\right)} Lfh=2∣V1viVNi′′1vpNi′′logvqVvis(zif,zqh)s(zif,zph)其中, N i ′ ′ = k N N ( v i , k ) {\mathcal{N}_i^{\prime\prime}}=kNN(v_i,k) Ni′′=kNN(vi,k).
knn是k近邻,只与节点特征相关.

最终损失:

L = α L f l + ( 1 − α ) L f h , \mathcal{L}=\alpha\mathcal{L}_{fl}+(1-\alpha)\mathcal{L}_{fh}, L=αLfl+(1α)Lfh,

实验结果即消融:

实验结果

文章配图
貌似很不错,但是有几个23,24年的最新对比学习的正确率没有比较.并且,比较常见的chameleon和Squirrel也没有跑实验.
实验理论仍然有改进的空间

消融:

文章配图
上面是件简单的GCN-MLP,发现效果还行
下面则是提出的完整的模型,正确率提高了一点.

总结:

总的来说,一个很好的idea.但是,我个人感觉,整个论文还有提升的空间(其是在UGCL的基础上改造的对比学习模块)

相关公式:

平滑性判断

f ( x ) = x ⊤ L x 2 = ∑ ( u , v ) ∈ E ( x u − x v ) 2 2 . \mathbf{f}(x)=\frac{x^\top\mathbf{L}x}2=\sum_{(u,v)\in\mathcal{E}}\frac{(x_u-x_v)^2}2. f(x)=2xLx=(u,v)E2(xuxv)2.
越低表示越平滑

定理: Δ D ( x ) = E [ ∑ ( u , v ) ∈ E ( x u − x v ) 2 − ∑ ( u , v ) ∈ E ( x u − x v ) 2 ] = 2 E [ ( p i n t r a − p i n t e r ) f ( x ) ] . \begin{aligned}\Delta D(x)&=\mathbb{E}\bigg[\sum_{(\boldsymbol{u},\boldsymbol{v})\in\boldsymbol{E}}(x_u-x_v)^2-\sum_{(\boldsymbol{u},\boldsymbol{v})\in\boldsymbol{E}}(x_u-x_v)^2\bigg]\\&=2\mathbb{E}\bigg[(p_{\boldsymbol{intra}}-p_{\boldsymbol{inter}})\mathbf{f}(x)\bigg].\end{aligned} ΔD(x)=E[(u,v)E(xuxv)2(u,v)E(xuxv)2]=2E[(pintrapinter)f(x)].

越低的Dx表示越高的内聚性

Theorem 2.5. Consider graph signals  x l   a n d   x h   p r o c e s s e d b y f i l t e r s g l a n d g h , r e s p e c t i v e l y . I n h e t e r o p h i l i c g r a p h s ( w h e r e p < q ) a n d w h e n Δ D ( x h ) < Δ D ( x l ) , t h e r e e x i s t s a n i n t e g e r M ( 0 < M ≤ N − 1 ) s u c h t h a t ∑ i = M N − 1 g h 2 ( λ i ) ≥ ∑ i = M N − 1 g l 2 ( λ i ) , w i t h 0 = λ 0 ≤ λ 1 ≤ … ≤ λ N − 1 ≤ 2. \begin{aligned}&\text{Theorem 2.5. Consider graph signals }x^l\mathrm{~and~}x^h\mathrm{~processed}\\&by filters g_l and g_h, respectively. In heterophilic graphs\\&(where p<q) and when \Delta D(x^h)<\Delta D(x^l), there exists\\&an integer M(0<M\leq N-1) such that\sum_{i=M}^{N-1}g_h^2(\lambda_i)\geq\\&\sum_{i=M}^{N-1}g_l^2(\lambda_i), with 0=\lambda_0\leq\lambda_1\leq\ldots\leq\lambda_{N-1}\leq2.\end{aligned} Theorem 2.5. Consider graph signals xl and xh processedbyfiltersglandgh,respectively.Inheterophilicgraphs(wherep<q)andwhenΔD(xh)<ΔD(xl),thereexistsanintegerM(0<MN1)suchthati=MN1gh2(λi)i=MN1gl2(λi),with0=λ0λ1λN12.
互信息的最大化本质上就是优化kl散度: I ( z j ; z i ) ∼ 1 D K L ( z j ∣ ∣ z i ) I(z_j;z_i)\sim\frac1{D_{KL}(z_j||z_i)} I(zj;zi)DKL(zj∣∣zi)1

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

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

相关文章

PostgreSQL入门与进阶学习,体系化的SQL知识,完成终极目标高可用与容灾,性能优化与架构设计,以及安全策略

​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 概述基础篇初级篇进阶篇…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 7月31日,星期三

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年7月31日 星期三 农历六月廿六 1、 海关总署&#xff1a;我国关税总水平目前已经降至7.3%&#xff0c;接近发达国家平均水平。 2、 网络身份证要来了&#xff1a;两部门征求意见&#xff0c;拟为社会公众统一签发网号、网证…

HighConcurrencyCommFramework c++通讯服务器框架 :网路通迅实战

数据总在两端进行&#xff0c;一个客户端&#xff0c;一个服务器端 连接建立起来&#xff0c;数据双向流动&#xff0c;这叫双工&#xff0c;你可以发给我我也可以发给你 既然服务器端是被动的接受的&#xff0c;那么客户端必须得知道服务器的地址 我浏览器要访问的淘宝网&a…

基于Spring boot + Vue的加油站系统

项目名称&#xff1a;加油站系统 作者的B站地址&#xff1a;程序员云翼的个人空间-程序员云翼个人主页-哔哩哔哩视频 csdn地址&#xff1a;程序员云翼-CSDN博客 1.项目技术栈&#xff1a; 前后端分离的项目 后端&#xff1a;Springboot MybatisPlus 前端&#xff1a;Vue…

Jetbrains Idea插件开发教程

背景介绍 痛点&#xff1a;在idea开发过程中&#xff0c;希望按需驼峰选中文本。现在默认是一整个单词选中&#xff0c;只有在设置–>智能按键 中开启了使用"CamelHumps单词"时能够驼峰选中。但是这种情况比较粗暴&#xff0c;直接全局开启了。但是在日常开发中&…

论文《Few-Shot Object Detection with Model Calibration》的解读

《Few-Shot Object Detection with Model Calibration》论文的解读 作者&#xff1a;Qi Fan1, Chi-Keung Tang1 , and Yu-Wing Tai1,2 单位&#xff1a;1 The Hong Kong University of Science and Technology, 2 Kuaishou Technology 邮箱&#xff1a;fanqicsgmail.com, ckta…

Unity | Shader基础知识(第二十一集:应用-怪兽膨胀、顶点着色器和表面着色器合并)

目录 一、前言 二、资源介绍 三、顶点着色器和表面着色器一起使用基础 1.使用表面着色器代码 2.光照选择 3.加入顶点着色器 4.补充表面着色器 四、在顶点着色器中完成怪兽膨胀功能 1.膨胀原理解释 2.完成膨胀代码 1&#xff09;.写出需要的结构体 2&#xff09…

修改所属用户/用户组——chown

目录 &#xff08;1&#xff09;修改所属用户 &#xff08;2&#xff09;修改所属用户组 &#xff08;3&#xff09;修改所属用户和用户组 &#xff08;4&#xff09; 选项 -R 使用 chown 可以修改文件/文件夹的所属用户&#xff0c;所属用户组&#xff1b; 当然与 chmod …

7thonline第七在线出席中服协时尚科技峰会 探讨AI商品管理落地

7月25-26日&#xff0c;中国服装协会2024中国时尚科技创新峰会在杭州隆重举行&#xff0c;本次大会以“新质焕能&#xff0c;革故鼎新”为主题&#xff0c;为持续推动服装产业鼎力创新&#xff0c;以新质生产力的新特征为引领&#xff0c;布局高质量发展新赛道&#xff0c;充分…

MySQL基础练习题15-进店却未进行交易过的顾客

题目&#xff1a;有一些顾客可能光顾了购物中心但没有进行交易。来查找这些顾客的 ID &#xff0c;以及他们只光顾不交易的次数。 准备数据 分析数据 题目&#xff1a;有一些顾客可能光顾了购物中心但没有进行交易。来查找这些顾客的 ID &#xff0c;以及他们只光顾不交易的次…

c++迭代器的介绍

迭代器主要的作用就是为了可以像数组那样实现指针向后移动到下一个数据。同时迭代器统一了所有容器&#xff0c;让所有容器可以通过迭代器互通数据。 那么下面我们来看看迭代器 数组的优势 我们数组的优势就是内存连续&#xff0c;那么我们将首地址的地址进行加减就可以访问…

【多线程】补充内容 {线程池;线程安全的单例模式;STL容器、智能指针的线程安全;其他常见的各种锁:自旋锁、读写锁}

一、线程池 1.1 概念 线程池一种线程使用模式&#xff1a; 线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。 而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务&#xff1a;&#xff08;线程池的优点&#xff09; 这避免了在处…

将真实世界带入实验室—如何使用ALPS进行网络损伤仿真测试

不完美的真实世界网络 不同于稳定、可控的传统网络实验室的网络环境&#xff0c;真实世界的网络环境面临着许多挑战和风险&#xff0c;这些挑战在很大程度上增加了网络的脆弱性和复杂性&#xff1a; &#xff08;1&#xff09;物理损伤&#xff1a;真实世界的网络基础设施&am…

Java扫码点餐系统奶茶店类型堂食配送小程序源码

&#x1f964;【奶茶新风尚&#xff01;扫码点餐系统&#xff0c;堂食配送两不误】&#x1f964; &#x1f3e0;【堂食新体验&#xff1a;一键下单&#xff0c;即享美味】&#x1f3e0; 踏入心仪的奶茶店&#xff0c;不再需要排队等候点单&#xff0c;只需拿起手机&#xff0…

TongHttpServer 简介

1. 概述 随着网络技术的飞速发展,高并发大用户场景越来越普遍,单一应用服务节点已经不能满足并发需求,为了提高整个系统可靠性,扩展性,吞吐率,通常将多个应用服务器通过硬负载/软负载组成集群,负载均衡器根据不同负载算法将请求分发到各个应用服务器节点。 Tong…

飞书打卡 快捷指令

使用快捷指令定时飞书打卡 在网上找了一圈&#xff0c;只有钉钉打卡的快捷指令&#xff0c;但是公司换飞书&#xff0c;哪个打工人不怕忘记打卡呢&#xff0c;所以自己研究了一下&#xff0c;其实也很简单。 找url 问题的最关键是打开飞书的打卡界面 如果只是打开飞书APP 很…

手动上电电路(电路收藏)

SW1按下 V1栅极对地 V1通 Vout给Mcu工作 GPIO2 高电平 V2通 SW1松开 V1栅极依然通过V2对地 维持V1通 Vout。再次按下SW1 GPIO1 对地 使Mcu收到中断 将GPIO2 输出低电平 V2关 松开SW1 V1栅极悬空 V1断开 Vout被截断

大数据基础:Spark重要知识汇总

文章目录 Spark重要知识汇总 一、Spark 是什么 二、Spark 四大特点 三、Spark框架模块介绍 3.1、Spark Core的RDD详解 3.1.1、什么是RDD 3.1.2、RDD是怎么理解的 四、Spark 运行模式 4.1、Spark本地模式介绍 4.2、Spark集群模式 Standalone 4.3、Spark集群模式 Stan…

中国十大顶级哲学家,全球公认的伟大思想家颜廷利:人类为何拥有臀部

人类为何拥有臀部&#xff1f;若众生皆无此部位&#xff0c;又如何能寻得一处真正属于自己的“座位”&#xff1f;在博大精深的中国传统文化中&#xff0c;汉字“座”与“坐”均蕴含“土”字元素。在易经的智慧里&#xff0c;作为五行之一的“土”&#xff0c;象征着人类社会的…

将gitee 上的nvim 配置 从gitee 上下载下来,并配置虚拟机

首先是下载 gitee 上的配置。 然后是 配置 tmux 然后是配置nvim . 1 在init.lua 文件中注释掉所有的与第三方插件有关的内容。 2 在packer 的文件中 &#xff0c; 注释掉所有的与 第三方插件有关的代码。 3 首先要保证 packer 能够正确的安装。 4 然后开始 安装 所有的插件…