当前位置:网站首页>Graph Pooling 简析
Graph Pooling 简析
2022-07-02 06:26:00 【MezereonXP】
Graph Pooling 简析
Pooling 是一种用于图表征提取的技术,通常用在图分类上面。
一些记号
我们记一个带有 N N N 个节点的属性图 (attributed graph) 为 G = ( X , E ) \mathcal{G} = (\mathcal X, \mathcal E) G=(X,E)
其中 X = { ( i , x i ) } i = 1 : N \mathcal X =\{(i,x_i)\}_{i=1:N} X={ (i,xi)}i=1:N 是节点集, x i x_i xi 是第 i i i 个节点的属性向量
E = { ( ( i , j ) , e i j ) } i , j ∈ 1 : N \mathcal E = \{((i,j), e_{ij})\}_{i,j\in 1:N} E={ ((i,j),eij)}i,j∈1:N 是边集,其中 e i j e_{ij} eij 是边的属性向量
我们记这个图的邻接矩阵为 A ∈ { 0 , 1 } N × N A \in \{0,1\}^{N\times N} A∈{ 0,1}N×N
借助论文“Understanding Pooling in Graph Neural Networks” 我们使用其中的 SRC 来对Pooling方法进行总结。
Select, Reduce, Connect
对于Pooling,我们可以理解成一个图到图的映射,即: G → G ′ = ( X ′ , E ′ ) \mathcal G \rightarrow \mathcal G' = (\mathcal X', \mathcal E') G→G′=(X′,E′)
如上图所示,Select函数会将节点划分成多个节点簇,这些节点簇可以被认为是一个超节点
Reduce函数会将一个超节点(可能包含一个或多个节点)映射到一个属性向量,该属性向量对应Pooling后图的超节点
Connect函数会计算出超节点的边集
在Pooling操作之后,我们将一个N节点的图映射到一个K节点的图
按照这种方法,我们可以给出一个表格,将目前的一些Pooling方法,利用SRC的方式进行总结
这里以 DiffPool 为例,说明一下SRC三个部分:
首先,假设我们有一个N个节点的图,其中节点向量记作 X ∈ R N × d X\in \mathbb R^{N\times d} X∈RN×d,每个节点向量的维度是 d d d
Select函数会输出一个 N × N ′ ( N < N ′ ) N\times N' (N <N') N×N′(N<N′) 的映射矩阵 S S S, 也就是将 N N N个点映射成 N ’ N’ N’个点
这里面使用了一个GNN来对矩阵 S S S 进行学习
Reduce函数为映射矩阵S乘上一个GNN之后的矩阵,也就是 N ′ × N N'\times N N′×N 的矩阵乘上 N × d ′ N\times d' N×d′
输出为 N ′ × d N'\times d N′×d 的一个向量矩阵,代表Pooling一次之后的这些超节点的节点向量
Connect函数输出邻接矩阵 A ′ ∈ { 0 , 1 } N ′ × N ′ A'\in \{0,1\}^{N'\times N'} A′∈{ 0,1}N′×N′
边栏推荐
- What if a new window always pops up when opening a folder on a laptop
- Win10+vs2017+denseflow compilation
- CPU register
- latex公式正体和斜体
- 【MagNet】《Progressive Semantic Segmentation》
- 【双目视觉】双目立体匹配
- open3d学习笔记四【表面重建】
- 【Programming】
- 【Wing Loss】《Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks》
- [multimodal] clip model
猜你喜欢
《Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer》论文翻译
CVPR19-Deep Stacked Hierarchical Multi-patch Network for Image Deblurring论文复现
【Cascade FPD】《Deep Convolutional Network Cascade for Facial Point Detection》
基于pytorch的YOLOv5单张图片检测实现
【Wing Loss】《Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks》
【Batch】learning notes
【MnasNet】《MnasNet:Platform-Aware Neural Architecture Search for Mobile》
Machine learning theory learning: perceptron
【DIoU】《Distance-IoU Loss:Faster and Better Learning for Bounding Box Regression》
【MnasNet】《MnasNet:Platform-Aware Neural Architecture Search for Mobile》
随机推荐
CPU的寄存器
将恶意软件嵌入到神经网络中
【Mixup】《Mixup:Beyond Empirical Risk Minimization》
Implementation of yolov5 single image detection based on onnxruntime
【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》
【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》
《Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer》论文翻译
Latex formula normal and italic
MoCO ——Momentum Contrast for Unsupervised Visual Representation Learning
[mixup] mixup: Beyond Imperial Risk Minimization
MMDetection安装问题
conda常用命令
Replace convolution with full connection layer -- repmlp
open3d学习笔记二【文件读写】
基于onnxruntime的YOLOv5单张图片检测实现
Installation and use of image data crawling tool Image Downloader
机器学习理论学习:感知机
浅谈深度学习模型中的后门
Common CNN network innovations
Faster-ILOD、maskrcnn_ Benchmark training coco data set and problem summary