【图卷积网络】02-谱域图卷积介绍(一)

news2024/10/7 10:14:47

注:本文为第2章谱域图卷积介绍视频笔记,仅供个人学习使用


目录

  • 1、图卷积简介
    • 1.1 图卷积网络的迅猛发展
    • 1.2 回顾,经典卷积神经网络已在多个领域取得成功
    • 1.3 两大类数据
    • 1.4 经典卷积神经网络的局限:无法处理图数据结构
    • 1.5 将卷积扩展到图结构数据中
  • 2、图谱卷积背景知识
    • 2.1 谱域图卷积实现思路
    • 2.2 拉普拉斯矩阵
      • 2.2.1 拉普拉斯算子
      • 2.2.2 拉普拉斯矩阵
    • 2.3 图傅里叶变换
    • 2.4 图卷积定理
  • 3、三个经典图谱卷积模型
    • 3.1 SCNN
    • 3.2 ChebNet
    • 3.3 GCN


1、图卷积简介

1.1 图卷积网络的迅猛发展

  • 16年以前,每年只有1-2篇相关文献

  • 18年,有些会议上大概有了7-8篇

  • 19年,文章数量爆炸性增长,仅仅NIPS一个会议就有49篇文章

1.2 回顾,经典卷积神经网络已在多个领域取得成功

请添加图片描述

1.3 两大类数据

规则数据(欧氏空间)不规则数据(非欧氏空间)
语音:一维向量;图像:二维矩阵;视频:三维矩阵社交数据 、分子结构 、人体骨架

1.4 经典卷积神经网络的局限:无法处理图数据结构

经典卷积处理图结构数据的局限:

  • 只能处理固定输入维度的数据
  • 局部输入必须有序

1.5 将卷积扩展到图结构数据中

  1. 频域:指将信号转换为频率的域,通过对频率的分析来研究信号的频率特性。常用的转换方法是使用傅里叶变换。在频域中,信号可以表示为各个频率分量的相对强度。
  2. 谱域:指将信号转换为能量或功率的域,通过对能量或功率的分析来研究信号的能量或功率分布。常用的转换方法是使用功率谱密度函数。在谱域中,信号可以表示为各个频率分量的能量或功率。
  3. 空域:指将信号转换为空间坐标的域,通过对空间坐标的分析来研究信号的空间特性。在空域中,信号可以表示为在不同空间位置上的强度。
  4. 时域:指将信号转换为时间坐标的域,通过对时间坐标的分析来研究信号的时间特性。在时域中,信号可以表示为在不同时间上的变化。

在这里插入图片描述


谱域图卷积

  • 根据图谱理论和卷积定理,将数据由空域转到谱域做处理

  • 有较为坚实的理论基础

空域图卷积

  • 不依靠图谱卷积理论,直接在空间上定义卷积操作
  • 定义直观,灵活性强

部分经典模型

在这里插入图片描述

2、图谱卷积背景知识

2.1 谱域图卷积实现思路

根据卷积定理,两信号在空域(或时域)卷积的傅里叶变换等于这俩个信号在频域中的傅里叶变换的乘积:


也可以通过反变换的形式来表达:

请添加图片描述
f1(t) 定义为空域输入信号,f2(t)定义为空域卷积核,卷积操作即为:先将空域上的信号f1(t)转换到频域信号F1(w),f2(t)转换到频域F2(w),然后将频域信号相乘,再将相乘后的结果通过傅里叶反变换转回空域,这个就是谱域图卷积的实现思路(将空域转换到频域上处理,处理完再返回)。

经典的卷积操作具有序列有序性和维数不变性的限制,使得经典卷积难以处理图数据,对于一个3x3的卷积核,它的形状是固定的,它的感受野的中心节点必须要有固定的邻域大小才能使用卷积核,但是图上的节点的领域节点是不确定的,此外图上节点的领域节点也是没有顺序的,这就不能直接在空域使用经典的卷积。但是当把数据从空域转换到频域,在频域处理数据时,只需要将每个频域的分量放大或者缩小就可以了,不需要考虑信号在空域上存在的问题,这个就是谱域图卷积的核心。

经典傅里叶变换:
在这里插入图片描述
基于图谱理论,可以使用图傅里叶变换。

在这里插入图片描述

2.2 拉普拉斯矩阵

2.2.1 拉普拉斯算子

拉普拉斯算子 的定义为梯度gradient的散度divergence▽·。即Δf=▽·(▽f) = div(grad(f))

对于n维欧式空间,可普遍认为拉普拉斯算子是一个二阶微分算子,即在各个维度求二阶导数后求和。

请添加图片描述

在3维欧氏空间,对于一个三元函数f(x,y,z),可以得到

离散情况下欧氏空间的拉普拉斯算子 ,对于两个变量的函数f(x,y)

在这里插入图片描述

那么两个变量的离散拉普拉斯算子可以写成:

在这里插入图片描述

二维的拉普拉斯算子可以理解为中心节点与周围节点的差值,然后求和。如下图,对于某个中心像素(红色)的算子为周围四个像素之和减去4倍的自己。
在这里插入图片描述

类似,在图上的拉普拉斯算子定义:
在这里插入图片描述
其中,f = (f1, f2, ···, fn),代表n个结点上每个结点的信号。

当有权重时:

在这里插入图片描述

可以理解为中心节点依次减去周围节点,乘以权重后,然后求和。

在这里插入图片描述
对于n个节点有:

在这里插入图片描述

2.2.2 拉普拉斯矩阵

拉普拉斯矩阵是图上的一种拉普拉斯算子。

D为度矩阵,它对角线上的值是从 i 节点出发的所有边的权重之和(nxn的方阵,是对角矩阵)。

拉普拉斯矩阵(L)是度矩阵(D)减去邻接矩阵(W),即L = D - W。

在这里插入图片描述

  • 性质:拉普拉斯矩阵是对称半正定矩阵,因此该矩阵的特征值一定非负,一定有n个线性无关的特征向量,它们是n维空间中的一组标准正交基,组成正交矩阵。

特征分解(Eigen decomposition),又称谱分解(Spectral decomposition),是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。

Alt

L是拉普拉斯矩阵,U是拉普拉斯矩阵特征向量组成的矩阵,λ是特征向量,组成对角阵∧。

拉普拉斯矩阵有n个线性无关的特征向量,可以组成n维线性空间中的一组基。

在这里插入图片描述

又因为对称矩阵的不同特征值对应的特征向量相互正交,这些正交的特征向量构成的矩阵为正交矩阵。所以拉普拉斯矩阵的n个特征向量是n维空间中的一组标准正交基。

​

2.3 图傅里叶变换

图上信号的定义:一般表达为一个向量。假设有n个节点,将图上的信号记为:在这里插入图片描述
每一个节点上有一个信号值,节点i上的值为x(i) = xi

下图中蓝色线段代表信号的大小,类似于图像上灰度图像像素,像素越高,画的这个线段越长。
在这里插入图片描述
经典傅里叶变换如下

  • 傅里叶正变换F:求线性组合的系数。具体做法是由原函数和基函数的共轭的内积求得。
  • 傅里叶反变换f:一个信号由不同频率的基函数信号叠加而成,即把任意一个函数表示成了若干个正交基函数的线性组合。

在这里插入图片描述
左边为连续空间中的傅里叶变换,右边为离散傅里叶变换。

傅里叶变换的本质是内积,三角函数是完备的正交函数集,不同频率的三角函数的之间的内积为0,只有频率相等的三角函数做内积时,才不为0。
在这里插入图片描述
参考自 一文道破傅里叶变换的本质,优缺点一目了然

经典傅里叶变换:一个信号由不同频率的基函数信号叠加而成。左图中红色信号是原信号,蓝色信号是不同频率上的基函数信号(余弦或者正弦函数)。则红色原信号可以由不同频率的基函数线性组合而成,右图蓝色的高度表示基前面的系数,也就是所谓的傅里叶系数,也就是原函数在这个基上的坐标分量。

在这里插入图片描述
相位在图中被忽略了,实际上的傅里叶系数包含振幅和相位。
在这里插入图片描述

对应经典傅里叶变换的思想,对于图上信号x的傅里叶变换,希望找到一组正交基,通过这组正交基的线性组合来表达x。而拉普拉斯矩阵的特征向量正好是正交的,可以作为图傅里叶变换的基函数。

在这里插入图片描述
则傅里叶逆变换可以将图上的信号可以表示为:
在这里插入图片描述

小结:依靠图傅里叶变换可以将定义在图上结点上的信号x从空间域与转到谱域。

在这里插入图片描述

经典傅里叶变换图傅里叶变换
在这里插入图片描述在这里插入图片描述
基:在这里插入图片描述基:
在这里插入图片描述
频率:
在这里插入图片描述
频率”:
在这里插入图片描述
分量的振幅(和相位):
在这里插入图片描述
分量的振幅:
在这里插入图片描述

2.4 图卷积定理

图上的卷积定义:先对输入信号 x 和卷积核 g 做傅里叶正变换,然后在谱域上做 harmand 乘积,也就是 F ( x ) ⊙ F ( g ) 。最后通过傅里叶反变换 F-1 将结果返回到空域。

如果用矩阵乘法的形式来表达这个公式,去掉harmand乘积。同时,通常并不关心空间域上的滤波器信号g是什么样子的,只关心其在频域的情况。令
在这里插入图片描述
则公式等价的转换成下式:
在这里插入图片描述
所有的谱图卷积都遵循这些定义,唯一的不同就是 滤波器 filter 的选取

3、三个经典图谱卷积模型

简介

  • 三个图谱卷积模型(SCNN、ChebNet、GCN)均立足于谱图理论且一脉相承。
  • ChebNet可看做SCNN的改进,GCN可看做ChebNet的改进。
  • 三个模型均可认为是下式的一个特例。在这里插入图片描述

在卷积前后:在这里插入图片描述
其中,某一层的特征图可以表示为一个 nxc 的矩阵。n代表图中有n个结点,C是通道个数。图中的信号可以分解为各个结点上的信号。X代表整个图上的信号,是nxc 的矩阵,Xi代表某个结点的信号,是一个 1xc 的向量。

在不同层中,特征图结构是不发生变化的,只有图上的信号会发生变化。


3.1 SCNN

论文:Spectral networks and locally connected networks on graphs

第一代GCN,文中给出了两个模型,分别是基于空间域的和基于谱域的。基于谱域的模型的核心是用对角矩阵来代替谱域的卷积核

核心思想:用可学习的对角矩阵来代替谱域的卷积核,从而实现图卷积操作。即:
在这里插入图片描述

公式定义如下:
在这里插入图片描述

  • 其中, Ck表示第k层的channel(通道)个数, xk,i ∈ Rn表示第k层的第i个channel的 feature map(特征图)
  • Fk,i,j 属于 Rnxn 代表参数化的谱域的卷积核矩阵。 它是一个对角矩阵,包含了n个可学习的参数。h(·) 是激活函数。

SCNN的缺点

  • 计算拉普拉斯矩阵的特征值分解非常耗时。计算复杂度为O(n3) ,n为节点个数。当处理大规模图数据时(比如社交网络数据,通常有上百万个节点)会面临很大的挑战。
  • 模型的参数复杂度较大。计算复杂度为 ,当节点数较多时容易过拟合。
  • 无法保证局部链接,因为将频域转为空域后是全局连接。

3.2 ChebNet

论文:Convolutional neural networks on graphs with fast localized spectral filtering

切比雪夫多项式:
在这里插入图片描述

在矩阵状态下, 切比雪夫多项式可以表示为:

在这里插入图片描述
核心思想:采用切比雪夫多项式近似谱域的filter。

因为切比雪夫多项式在逼近理论中,可以用于多项式插值,也就是说可以利用切比雪夫多项式来逼近函数。

在拟合时,将x的k次方换成了切比雪夫多项式的k阶项,用切比雪夫多项式来进行逼近。如下图:
在这里插入图片描述
为什么要替换?当替换后,SCNN中可以省略对于拉普拉斯矩阵的特征值分解这一最耗时的操作,直接使用拉普拉斯矩阵即可
在这里插入图片描述
ChebNet特点:在这里插入图片描述

  • 卷积核只有K+1个可学习的参数,一般 K远小于n,参数的复杂度被大大降低
  • 采用Chebyshev多项式代替谱域的卷积核后,经过推导,ChebNet不需要对拉普拉斯矩阵做特征分解了。省略了最耗时的步骤。
  • 卷积核具有严格的空间局部性。同时,K就是卷积核的“感受野半径”。即将中心顶点K阶近邻节点作为邻域节点。

3.3 GCN

论文:Semi-supervised classification with graph convolutional networks

GCN可视为对ChebNet的进一步简化:仅考虑1阶切比雪夫多项式,且每个卷积核仅只有一个参数,所以只有两个参数。

在这里插入图片描述
理解:
在这里插入图片描述
进一步简化,使得每个卷积核只有一个可学习的参数。
在这里插入图片描述
因为 在这里插入图片描述有范围[0,2]的特征值,如果在深度神经网络模型中使用该算子,则反复应用该算子会导致数值不稳定(发散)和梯度爆炸/消失,为了解决该问题, 引入了一个 renormalization trick.
在这里插入图片描述
从而得到GCN的最终公式
在这里插入图片描述
GCN的特点:
在这里插入图片描述

  • 在忽略input channel 和 output channel的情况下,卷积核只有1个可学习的参数,极大的减少了参数量。( 按照作者的说法: “We intuitively expect that such a model can alleviate the problem of overfitting on local neighborhood structures for graphs with very wide node degree distributions, such as socialnetworks, citation networks, knowledge graphs and many other real-world graph datasets.”)
  • 虽然卷积核大小减少了(GCN仅仅关注于一阶邻域,类似于3X3的经典卷积),但是作者认为通过多层堆叠GCN,仍然可以起到扩大感受野的作用。
  • 与此同时,这样极端的参数削减也受到一些人的质疑。他们认为每个卷积核如果只设置一个可学习参数,会降低模型的能力。(可以参考博文How powerful are Graph Convolutions? )
    • 如果将传统图像的每一个像素视为graph的一个节点,节点之间为八邻域链接,图像也可以看做一张特殊的图。那么在每个3*3的卷积核里,仅仅存在1个可学习的参数。
    • 从目前应用在image的深度学习经验看来,这样的卷积模型复杂度虽然低,但是模型的能力也遭到了削弱,可能难以处理复杂的任务。

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

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

相关文章

Linux查看本机状况命令

1.ip addr 查看自己的网络地址,网卡等情况 ping:查看网络可用性 2.top 查看当前计算机的cpu运行状况 在top状态下按1,可以查看自己的cpu是几核的 (下图中红框的值是空闲率,用100-空闲率就是CPU使用率,单位为%&…

sql调优相关

目录 1.调优步骤 2.小表驱动大表 3.order by 优化 4.group by优化 1.调优步骤 慢查询的开启并捕获explain慢SQL分析show profile查询SQL在Mysql服务器里面的执行细节和生命周期情况SQL数据库服务器的参数调优 2.小表驱动大表 EXISTS SELECT ... FROM table WHERE EXISTS (su…

10. 好客租房-RocketMQ快速入门[非项目必需]

本章节主要是学习RocketMQ, 目标快速入门, 能够回答或解决以下问题:了解什么是RocketMQ了解RocketMQ的核心概念动手安装RocketMQ服务快速入门,掌握RocketMQ的api使用对producer、consumer进行详解了解RocketMQ的存储特点10.1 RocketMQ简介与安装10.1.1 核心概念速通…

分享143个ASP源码,总有一款适合您

ASP源码 分享143个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 143个ASP源码下载链接:https://pan.baidu.com/s/1Fd3_qaHDj2_BuslyFT8YVQ?pwdrjmi 提取码&#x…

数据库02_函数依赖,范式---软考高级系统架构师008

1.首先我们来看这个,给定一个X,能确定一个Y那么就说,X确定Y,或者Y依赖x,那么 比如y = x * x 就是x确定y,或者y依赖于x 2.然后再来看图,那么左边的部分函数依赖,就是,通过A和B能决定C,那么如果A只用给就能决定C,那么就是部分函数依赖. 3.然后再来看,可以看到,A可以决定B,那么…

文件(2)

1)指定一个目录,扫描这个目录,找到当前目录下面所有文件的文件名是否包含了指定字符的文件,并提示这个用户是否要删除这个文件,根据用户的输入来决定是否删除; 1.1)需要进行输入一个目录,还需要进行输入一个…

概论_第7章_参数估计

参数估计的形式有两种: 点估计和区间估计 1 点估计 设x1,x2,...xnx_1, x_2, ... x_nx1​,x2​,...xn​是来自总体的一个样本, 我们用一个统计量 θ^\hat\thetaθ^ θ^(x1,x2,...,xn)\hat\theta(x_1, x_2, ..., x_n)θ^(x1​,x2​,...,xn​)的取值作为…

[ 云原生 | 容器 ] 虚拟化技术之容器与 Docker 概述

在云计算中,虚拟化技术一般可以被分为两类,分别是虚拟机(VM,Virtual Machine)技术以及容器(Container)技术,这里我们只讲云原生中 Docker 虚拟化技术。 文章目录一、应用部署方式的变…

Kubernetes:基于命名行终端/ Web 控制台的管理工具 kubebox

写在前面 kubebox 是一个轻量的 k8s 管理工具,可以基于命令行终端或 Web 端博文内容涉及:kubebox 不同方式的安装下载,简单使用。如果希望轻量一点,个人很推荐这个工具,轻量,而且使用简单。理解不足小伙伴帮…

Pointofix安装与设置为中文

Pointofix用来桌面绘图,还可以放大桌面一、下载官网下载地址:https://www.pointofix.de/,点击箭头所指跳转页面点击下载安装包pointofix180de-20180511-setup.zip,语言包pointofix-translation-20220120.zip二、安装解压pointofix…

【学习笔记】[AGC022F] Checkers

首先不考虑算重,因为这题坑点在于当n≥5n\ge 5n≥5时不同结构的树可能生成相同的结果。 那么我们考虑生成不同的系数序列AAA,然后用可重集算一下方案数。考虑将−1-1−1的边缩去后所形成的树,第iii层的点表示的是2i2^i2i,那么如何…

基于微信小程序的新生自助报到系统小程序

文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…

蓝桥杯-刷题-补基础(加强版)

🌼feels good😃串烧 - 许天昱/陈旭辉-nn/单子玹/蒋笛含 - 单曲 - 网易云音乐 🌼10道入门题 --- 明显比上篇博客难了一点,要慢慢做了 目录 一,第k个素数 二,最大公约数 三,最小公倍数 四…

Mybatis-Plus 多记录操作与逻辑删除

目录 多记录操作 逻辑删除 问题引入 所以对于删除操作业务问题来说有: 实现步骤 逻辑删除,对查询有没有影响呢? 如果还是想把已经删除的数据都查询出来该如何实现? 多记录操作 程序设计出来一个个删除的话还是比较慢和费事的,所以一般会给用户一…

OpenMP Parallel Construct 实现原理与源码分析

OpenMP Parallel Construct 实现原理与源码分析 前言 在本篇文章当中我们将主要分析 OpenMP 当中的 parallel construct 具体时如何实现的,以及这个 construct 调用了哪些运行时库函数,并且详细分析这期间的参数传递! Parallel 分析——编…

逆序遍历List集合

1 问题手写一个程序,完成List集合对象的逆序遍历2 方法创建List接口的多态对象向创建好list集合添加元素使用hasPrevious方法。import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class TestList { public static void ma…

如何好好说话第11章 攀登抽象之梯

在心里面放一把抽象之梯我们要时刻去概括。从更宏观的角度去理解我们当前所处的事情。抽上之梯的这个概念,在写作教材中常常出现。他指引我们写作的时候,不要站在梯子的中间。要么具体详实,要么抽象而精简短小。为什么不要站在梯子中间呢&…

蓝桥杯 stm32 MCP4017

本文代码使用 HAL 库。 文章目录前言一、MCP4017 的重要特性二、MCP4017 计算 RBW 阻值三、MCP4017 地址四、MCP4017 读写函数五、CubeMX 创建工程 (利用 ADC 测量 MCP4017 电压)、对应代码:总结前言 一、MCP4017 的重要特性 蓝桥杯 板子上…

冯诺依曼体系结构及操作系统(OS)的简单认识

文章目录冯诺依曼体系结构操作系统(Operator System)冯诺依曼体系结构 冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储结构。数学家冯诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑…

虚拟机的介绍及安装

文章目录虚拟机介绍VMware WorkStation安装在VMware上安装Linux远程连接Linux系统虚拟机介绍 通过虚拟化技术,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作系统,即可得到一台虚拟的电脑,称之为虚拟机。 VMware…