从池化的角度看GNN(包含PR-GNN,EdgePool等7篇论文)上篇

news2024/11/16 3:51:35

从池化的角度看GNN(包含PR-GNN,EdgePool等7篇论文)

  • 前言
  • 一些总结
  • 一些早期论文的简要介绍
    • 1️⃣论文PR-GNN:《Pooling Regularized Graph Neural Network for fMRI Biomarker Analysis》
  • 下一篇章笔记链接

前言

这里是早期的笔记,主要是关于图的池化的相关论文的笔记及看法。这里主要是自己看的其中一部分,之所以汇总到一起是感觉有些不同的地方。所以把这几篇论文放在一起了。

主要包括的论文有下面这几篇:
在这里插入图片描述

  • 论文PR-GNN:《Pooling Regularized Graph Neural Network for fMRI Biomarker Analysis》
  • 论文EdgePool:《Edge Contraction Pooling for Graph Neural Networks》
  • 论文HaarPooling:《Haar Graph Pooling》
  • 论文GSAPool:《Structure-Feature based Graph Self-adaptive Pooling》
  • 论文StructPool:《StructPool: Structured Graph Pooling via Conditional Random Fields》
  • 论文ASAP:《ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representations》
  • 论文HCP-SL:《Hierarchical Graph Pooling with Structure Learning》

由于篇章有略微有点点长,所以我这里放了上中下2篇

原创笔记,未经同意请勿转载

一些总结

现有图池化操作主要可以分为全局池化(如SortPool)、分层池化,分层池化中还可以分为基于聚类(如DiffPool,StructPool)和基于重要性排序(如TopK Poolig,SAGPool,GSAPool等)的池化操作,同时也可以衍生出基于频谱上处理的池化操作(如EigenPool,LaPool,HaarPool等)。

  1. 改进1:为更加有效的利用图中边所带来的信息,还又EdgePool的池化操作,使得图在池化过程中也可以关注到对应的边缘特征。
  2. 改进2:如何更加有效地利用节点对之间关联关系所包含的特征信息,如PR-GNN
  3. 改进3:如何改进基于重要性排序的图池化操作?——》所面对的问题:丢弃不重要节点所带来的特征信息重要缺失问题 ——-》解决方法:① 拉大节点之间差距,如PR-GNN ② 在丢弃前聚类节点特征,如GSAPool ③ 多特征融合与子图学习机制辅助,如HCP-SL
  4. 改进4:如何改进基于聚类的图池化操作?——-》所面对的问题:聚类之后的模型可解释性差,聚类之间的关联关系少 ——》解决方法:① 聚类信息中融入关联关系与图结构信息,如StructPool ② 簇内外注意力机制加持与局部关注,如ASAP
  5. 改进5:如何更有效的保留图层次及子图结构信息?——》所面对的问题:在空间域上处理的池化操作不利于图结构信息的保留 ——》解决方法:频谱上的处理:① 拉普拉斯变换,如LaPool ② 图傅里叶变换,如EigenPool ③ Haar变换,如HaarPool

一些早期论文的简要介绍

上篇章中先放第1篇论文的笔记。中篇放后面3篇,下篇再放最后三篇。

1️⃣论文PR-GNN:《Pooling Regularized Graph Neural Network for fMRI Biomarker Analysis》

  • 来源: MICCAI 2020
  • 原文链接: https://link.springer.com/chapter/10.1007/978-3-030-59728-3_61
  • 代码链接: https://github.com/xxlya/PRGNN_fMRI
  • 数据及任务: (1)研究任务:图分类任务(ASD分类)、检测出显著的ROI区域(可用于下游任务)
    在这里插入图片描述(2)数据分布:【非公开,私有】75名ASD与43名HC(年龄与智商相仿)
    (3)数据格式:fMRI
    (4)图谱:Desikan-Killiany atlas(84ROIs)
    (5)数据预处理:
    • ① 时间序列的选取:之前的文章都是讲ROI内所有体素的时间序列均值作为ROI的时间序列,但PR-GCN 通过bootstraping随机采样ROI中1/3的体素作为该ROI的时间序列。论文中应该是为了随机采样的数据足够表达该区域的特征又不过度冗余(从单次来看的话),做了10次1/3的体素随机采样,这样子每个ROI就有10个时间序列,数据量增大了10倍!【之前好像没有看过这种预处理,但可以跟前面采样多视角的思想有点像,就是数据处理的角度不太一样】
    • ②边属性的构建:非全连接图(只保留前10%的边),与其他论文不同,该论文边的连接强度时采用偏相关系数而非皮尔逊系数
    • ③节点属性的构建:采用节点的person相关系数来度量

主要的出发点: 现存graph pooling主要包含两种:基于聚类的池化和基于重要性的池化,对于PR-GNN论文所研究的任务来说,该两种方法存在以下局限性:

(1)基于聚类的池化

  • Core :基于聚类思想的池化实际上就是基于图的拓扑结构将图的节点聚类到一个super node。
    在这里插入图片描述
  • 缺点:可解释性差【在医学的任务上网络的可解释性有着重要的作用】
    注:这个之前组会有分享过比较经典的论文【DIFFPOOL和EigenPooling】,这两篇都是利用聚类思想的池化,特别地,EigenPooling是基于谱聚类思想实现的。
  • EigenPool与DiffPool的区别
    ① EigenPool用来进行图的层次化Pooling操作,在图坍缩方面,与DiffPool的图坍缩机制不同的是,EigenPool方法进行图坍缩时不需要引入任何需要训练的参数【非参数化池化过程】,而是 采用如谱聚类的方式对图进行划分,然后再进行池化操作。谱聚类算法的思想是将图映射到特征空间后再使用聚类算法进行聚类(如Kmeans聚类算法),使得不同的簇之间的相连节点之间的权重尽可能大,而同一个簇之间的节点之间的权重尽可能小。在谱聚类中常用的聚类算法就是谱聚类,那么节点到簇的分配方式就是一种硬分配的方式,这样就保证了每一个节点只能分配的下一层的一个簇中,从而保证了网络连接的稀疏性,大大降低了参数量和计算开销
    ② 此外,DiffPool在池化时,采样加和的方式聚合节点特征,这一定程度上丢失了每个簇的结构信息。为了解决结构信息丢失的问题,EigenPool使用谱图理论的知识来整合子图的结构信息和属性信息使用谱聚类的方式划分子图,池化时也使用图的傅里叶变换将图信号映射到谱空间,从而使得池化过程兼顾各个簇内的结构和属性信息。

(2)基于重要性的池化

  • Core:通过重要性排序的方法来取舍,即计算每个节点的重要性并保留排名靠前的一部分节点。(比较经典的有SAGPool【ICML2019】、TopK-Pooling【ICML 2019】)
    在这里插入图片描述
  • 缺点:被保留的节点与丢弃节点之间的区别小,不利于显著性区域的识别;对于不同受试者,各节点之间的重要性可能不同,不利于找到群体水平的统一显著区域
  • 亮点:(1)提出了一个端到端可识别显著性ROI区域的图神经网络Pooling Regularized-GNN(PR-GNN)【node conv + node pooling + readout】
    在这里插入图片描述(2)最主要的核心要点感觉还是在其正则化,即PR-GNN对Pooling的限制所提出的两个Loss

核心内容:(1)Node Pooling
PR-GNN基于重要性池化的方法加以相对限制,主要是基于SAGE Pooling 和 TopK Pooling方法的改进(即采用Distance Loss和Group-Level Consistency Loss加以限制)。
在这里插入图片描述(2)Distance Loss【用来加强被保留/丢弃节点之间的差异,便于显著性区域的识别】

采用MMD loss或BCE loss
在这里插入图片描述(3)Group-Level Consistency Loss【用来拉近同类受试者(如ASD患者与ASD患者,HC受试者与HC受试者)之间节点的重要性排序的相似性】
在这里插入图片描述
实验结果:
λ1鼓励在合并后为选定和未选定的节点提供更多可分离的节点重要性分数;
λ2控制同一类内实例的所选节点的相似性。
在这里插入图片描述
较大的λ2导致群体级解释,较小的λ2导致个体级解释
在这里插入图片描述

下一篇章笔记链接

下面笔记链接:
从池化的角度看GNN(包含PR-GNN,EdgePool等7篇论文)中篇笔记
包括:

  • 论文EdgePool:《Edge Contraction Pooling for Graph Neural Networks》
  • 论文HaarPooling:《Haar Graph Pooling》
  • 论文GSAPool:《Structure-Feature based Graph Self-adaptive Pooling》

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

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

相关文章

MySQL 系列:注意 ORDER 和 LIMIT 联合使用的陷阱

文章目录 前言背后的原因ORDER BY 排序列存在相同值时返回顺序是不固定的LIMIT 和 ORDER BY 联合使用时的行为ORDER BY 或 GROUP BY 和 LIMIT 联合使用优化器默认使用有序索引 如何解决其它说明个人简介 前言 不知道大家在在分页查询中有没有遇到过这个问题,分页查…

pytorch之优化器、学习率函数学习

1、TORCH.OPTIM torch.optim是一个实现各种优化算法的包。大多数常用的方法都已经支持,并且接口足够通用,因此将来也可以轻松集成更复杂的方法 1、如何使用优化器 要使用,torch.optim您必须构造一个优化器对象,该对象将保存当前…

立创EDA把三个单独的PCB合并成一个文件

[TOC](立创EDA把三个单独的PCB合并成一个文件 1.具体操作 1.具体操作 参考:立创社区 先选中PCB CTRLSHIFTC, CTRLSHIFTV** **

uniapp交互反馈api的使用示例

官方文档链接:uni.showToast(OBJECT) | uni-app官网 1.uni.showToast({}) 显示消息提示框。 常用属性: title:页面提示的内容 image:改变提示框默认的icon图标 duration:提示框在页面显示多少秒才让它消失 添加了image属性后。 注…

PHP之添加文字水印,两端文字分别设置不同的样式,支持透明度

/*** 给图片添加文字水印 可控制字体颜色透明度,默认是居中* param string $imagePath 图片地址* param string $outputPath 新图片地址 默认使用$imgurl* param string $textArray 水印文字* param int $fontSize 字体大小* param string $fontPath 字体文件路径* …

Python爬虫实战-采集微博评论,看看大家都在讨论什么

嗨喽,大家好呀~这里是爱看美女的茜茜呐 开发环境: python 3.8: 解释器 pycharm: 代码编辑器 模块使用: requests: 发送请求 parsel: 解析数据 jieba pandas stylecloud 如何安装python第三方模块: win R 输入 cmd 点击确定, 输入安装命令 pip install 模块名…

PLC-Recorder V3版本软件升级方法

PLC-Recorder V3软件进行了架构优化,包括采集服务器、客户端、授权管理等组件。升级方法与V2版本相似,但是也有一些变化,说明如下: 一、从V2向V3版本升级 1、退出原PLCRecorder:关闭右下角的图标。 2、退出打开的离线…

前端接入若依后,页面白屏问题排查

白屏问题分析 页面停留一段时间后,通过tab打开其他的页面,界面会白屏或者无法跳转; 白屏的时候控制台无任何报错无法跳转的时候,控制台会输出错误信息,见截图 1. 无报错白屏问题 通过查找若依的issues找到一个问题点…

C# WPF上位机开发(动态添加控件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 写图形界面软件的时候,我们经常会遇到一种情况。那就是图形界面上面,显示的控件可能是不定的。有可能多,也有可…

外汇天眼:Coinbase国际交易所将启动现货市场

Coinbase宣布了Coinbase国际交易所扩张的下一阶段——退出符合条件客户的非美国现货市场。 这一最新发展旨在满足Coinbase全球用户群体的独特需求和需求,同时强化其扩大国际访问可信产品和服务的战略使命。 Coinbase国际交易所现货交易的推出和扩展将分阶段进行。1…

vue3+vite4中使用svg,使用iconfont-svg图标

记录一下vue3中如何使用svg图标&#xff0c;vue2中大家常用iconfont字体图标&#xff0c;现在vue3大家都又推荐svg的方式使用图表&#xff0c;包括elementplus组件库也变成使用svg方式引用图标。 1、创建svg组件 components/IconSvg.vue <template><svg class"…

avue-form 附件上传增加参数;上传前检查是否重复 覆盖或者跳过

效果 html: <el-dialog title"设备台账导入" append-to-body :visible.sync"excelBox" width"555px"><avue-form :option"excelOption" v-model"excelForm" :upload-after"uploadAfter" :upload-before…

Axure元件库使用与ProcessOn流程图

Axure元件库 自定义Axure元件库&#xff1a; 打开Axure RP软件&#xff0c;并点击菜单栏中的“元件库”选项&#xff0c;选择“新建元件库”。 在弹出的对话框中&#xff0c;选择一个文件夹来保存您的自定义元件库&#xff0c;并给它一个名称。 在Axure RP的主界面上&#x…

不需要联网的ocr项目

地址 GitHub - plantree/ocr-pwa: A simple PWA for OCR, based on Tesseract. 协议 mit 界面 推荐理由 可以离线使用&#xff0c;隐私安全

HDPE硅芯管强度高,抗压抗张和抗冲击强,外层不需其它套管

HDPE硅芯管是一种高性能的管道材料&#xff0c;具有强度高、抗压抗张和抗冲击强的特点。这种管道材料采用高密度聚乙烯&#xff08;HDPE&#xff09;作为基础材料&#xff0c;并添加了硅质增强剂&#xff0c;使得管道具有优异的力学性能和耐久性。 HDPE硅芯管的强度高&#xf…

【VS Code开发】使用Live Server搭建MENJA小游戏并发布至公网远程访问

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程&#xff0c;我们将通过VS Code实现远程开发MENJA小游戏&#xff0c;并通过cpolar内网穿透发布到公网&#xff0c;分…

【LeetCode刷题】-- 170.两数之和III-数据结构设计

170.两数之和III-数据结构设计 方法&#xff1a;使用哈希表 class TwoSum {Map<Integer,Integer> map;public TwoSum() {map new HashMap<>();}public void add(int number) {//key存元素&#xff0c;value为出现的次数map.put(number,map.getOrDefault(number,0…

宠物自助洗护小程序系统

提供给宠物的自助洗澡机&#xff0c; 集恒温清洗、浴液 护毛、吹干、消毒于一体&#xff0c;宠物主人只需用微信小程序源码&#xff0c;即可一键开启洗宠流程。 主要功能&#xff1a; 在线预约 在线支付 洗护记录 会员系统 宠物管理 设备管理 多商户加盟

服务器被持续攻击

持续gong击俺管理的服务器&#xff0c;有什么好处呢&#xff1f;你就不能消停一下&#xff1f; ​ ​ 弄得我好一阵不能安稳&#xff0c;画个雷符治死你们信不信&#xff1f; ​ ​

嵌入式培训-数据结构-day1-引入

学数据结构&#xff0c;结构体和内存malloc必须掌握 心态不能怕难&#xff0c;多练习多写 什么是数据结构 1968年美国克努特教授开创了数据结构的最初体系; 计算机的圣经-《计算机程序设计的艺术》 荣获1974年度的图灵奖 第一卷《基本算法》 第二卷《半数字化算法》 第三…