论文解读(g-U-Nets)《Graph U-Nets》
论文信息
论文标题:Graph U-Nets
论文作者:Hongyang Gao, Shuiwang Ji
论文来源:2019,ICML
论文地址:download
论文代码:download
1 Introduction
受到类似 encoder-decoder architecture 的 U-Nets 影响,作者希望能在图数据上使用这种 pooling 和 up-sampling 的操作。
2 Graph U-Nets
本节依次介绍 graph pooling (gPool) layer, graph unpooling (gUnpool) layer,然后介绍本文用于节点分类的 U-Nets 。
2.1 Graph Pooling Layer
本文提出利用投影向量 $\mathbf{p}$ 来计算图中各个节点的重要性,并且 $\mathbf{p}$ 是可训练的参数,不需要认为指定。假设节点的嵌入向量为 $\mathbf{x}_{\mathrm{i}}$ , 它在向量 $\mathbf{p}$ 上的投影为 $\mathrm{y}_{\mathrm{i}}=\mathbf{x}_{\mathrm{i}} \mathbf{p} /\|\mathbf{p}\|$, $\mathrm{y}_{\mathrm{i}}$ 可以作为衡量节点重要性的度量。
$\mathrm{gPool}$ 计算过程为:
$\begin{array}{l}\mathbf{y} &=&X^{\ell} \mathbf{p}^{\ell} /\left\|\mathbf{p}^{\ell}\right\| \\\mathrm{idx} &=&\operatorname{rank}(\mathbf{y}, k) \\\tilde{\mathbf{y}} &=&\operatorname{sigmoid}(\mathbf{y}(\mathrm{idx})) \\\tilde{X}^{\ell} &=&X^{\ell}(\mathrm{idx},:) \\A^{\ell+1} &=&A^{\ell}(\mathrm{idx}, \mathrm{idx}) \\X^{\ell+1} &=&\tilde{X}^{\ell} \odot\left(\tilde{\mathbf{y}} \mathbf{1}_{C}^{T}\right)\end{array}$
图示如下:
2.2 Graph Unpooling Layer
为在图数据上实现 up-sampling 操作,本文提出 graph unpooling (gUnpool) layer。
在形式上,gUnpool 的层级传播规则为:
$X^{\ell+1}=\operatorname{distribute}\left(0_{N \times C}, X^{\ell}, \mathrm{idx}\right)$
其中,
-
- $idx \in \mathbb{Z}^{* k}$ 包含在相应的 gPool 层中所选节点的索引,从而将图的大小从 $N$ 个节点减少到 $k$ 个节点;
- $X^{\ell} \in \mathbb{R}^{k \times C}$ 是当前图的特征矩阵;
- $0_{N \times C}$ 是新图的 0 填充的特征矩阵;
- $idx \in \mathbb{Z}^{* k}$ 包含在相应的 gPool 层中所选节点的索引,从而将图的大小从 $N$ 个节点减少到 $k$ 个节点;
Note:在 $X^{\ell+1}$ 中,$idx$ 中具有索引的行向量由 $X^{\ell}$ 中的行向量更新,而其他行向量保持为零。
2.3 Graph U-Nets Architecture
如图所示:
2.4 Graph Connectivity Augmentation via Graph Power
在 gPool 层中,对一些重要的节点进行采样,形成一个新的特征编码图。由于在删除 gPool 中的节点时相关边被删除,所以 pooled graph 中可能形成孤立点。可能会影响信息在后续层中的传播,特别是当使用 GCN 层来聚合来自邻近节点的信息时。所以需要增加 pooled graph 中节点之间的连通性。
为了解决上述问题,使用第 $k$ 个图的幂 $\mathbb{G}^{k}$ 来增加图的连通性。文中使用 $k = 2$ ,替换计算过程中的 $A^{\ell+1}$:
$A^{2}=A^{\ell} A^{\ell}, \quad A^{\ell+1}=A^{2}(\mathrm{idx}, \mathrm{idx})$
2.5 Improved GCN Layer
在 $\mathrm{GCN}$ 中邻接矩阵 $\hat{\mathrm{A}}=\mathrm{A}+\mathrm{I}$ , 论文中改为 $\hat{\mathrm{A}}=\mathrm{A}+2 \mathrm{I}$,给予中心节点更大的权重。
3 Experimental Study
数据集
节点分类
图分类
4 Conclusion
在这项工作中,我们提出了g-U-Nets网络中新的 gPool 和 gUnpool 层用于网络嵌入。gPool 层对图形数据实现了规则的全局 k-max 池化操作。它对重要节点的子集进行采样,以实现高级特征编码和接受域扩大。通过使用一个可训练的投影向量,gPool层根据其标量投影值对节点进行采样。此外,我们提出了对图数据应用非池操作的gUnpool层。利用原图中节点的位置信息,gUnpool 层对相应的 gPool 层进行逆操作,恢复原图的结构。基于我们的 gPool 和 gUnpool 层,我们提出了图 U-Nets(gU-Nets) 结构,它在图像数据上使用与常规U-Net类似的编码-解码器结构。实验结果表明,与其他gnn相比,我们的g-u-net在转换学习任务上实现了性能的提高。为了避免采样图中可能存在的孤立节点问题,我们采用第二图幂来提高图的连通性。对消融术的研究表明了这些贡献
原文地址:https://www.cnblogs.com/BlairGrowing/p/16572338.html
- BZOJ2199: [Usaco2011 Jan]奶牛议会(2-SAT)
- 数据结构之链表、栈和队列 java代码实现
- 洛谷P3209 [HNOI2010]PLANAR(2-SAT)
- javascript 面向对象(多种创建对象的方式)
- 1711: [Usaco2007 Open]Dingin吃饭
- 1574: [Usaco2009 Jan]地震损坏Damage
- HTTPS科普(转) 为什么需要https
- 1590: [Usaco2008 Dec]Secret Message 秘密信息
- 1751: [Usaco2005 qua]Lake Counting
- 算法模板——单个值欧拉函数
- webpack前言:前端模块系统的演进
- webpack学习(一):webpack 介绍&安装&常用命令
- pd_ds中的hash
- webpack学习(二):先写几个webpack基础demo
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP Spartacus PagelayoutComponent里的section和slot
- SAP Spartacus ComponentData的提前subscription
- 如何在 SwiftUI 中使用手势
- jQuery 尺寸、位置操作
- SwiftUI:触控反馈
- .net core ef core 自动迁移,自动修改数据库
- 白话 CRC
- pytest封神之路第六步 断言技巧
- pytest封神之路第七步 用例查找原理
- 字符串-KMP
- 数据分析与数据挖掘 - 08图形绘制
- 数据分析与数据挖掘 - 09邻近算法
- 字符串-AC自动机(详细图解)
- 挖洞经验 | Google Play Core Library中的代码执行漏洞
- 设计模式-七大原则(图解一目了然)