图神经网络(一)图信号处理与图卷积神经网络(1)矩阵乘法的三种方式
图神经网络(一)图信号处理与图卷积神经网络(1)矩阵乘法的三种方式
- 1.1 矩阵乘法的三种方式
- 参考文献
图信号处理(Graph Signal Processing,GSP) 1是离散信号处理(Discrete Signal Processing,DSP)理论在图信号领域的应用,其通过对傅里叶变换、滤波等信号处理基本概念的迁移,来研究对图信号的压缩、变换、重构等信号处理的基础任务。
图信号处理与图卷机模型密不可分:一方面,理解图信号处理对于了解图卷机模型的定义和演变有十分重要的帮助;一方面,图信号处理也为图卷机模型的理论研究提供了十分实用的工具。
本章的脉络十分自然,我们将看到图信号处理的基本理论是如何延伸到图卷积神经网络中去的,首先,我们给出了图信号的基本定义,紧接着介绍图傅里叶变换,并由此引出图信号频率的定义。然后,我们介绍图信号上的滤波操作,紧接着介绍卷积滤波与图卷积模型的关系。其中还穿插了比较重要的两部分内容:一是对图信号的频域与空域的理解;二是对图信号处理的频域与空域的理解 2。
1.1 矩阵乘法的三种方式
由于本章的公式以矩阵乘法为主,为了帮助大家更好地理解公式的推导过程,我们介绍下矩阵乘法的其他两种计算方式。
设两个矩阵A∈RK×MA∈R^{K×M}A∈RK×M,B∈RM×PB∈R^{M×P}B∈RM×P,对于C=ABC=ABC=AB,我们有如下3种计算方式:
(1) 内积视角:将AAA视作一个行向量矩阵,将BBB视作一个列向量矩阵,则:
Cij=Ai,:B:,jC_{ij}=A_{i,:} B_{:,j}Cij=Ai,:B:,j (2) 行向量视角:将BBB视作一个行向量矩阵,将AAA视作系数矩阵,则:
Ci,:=∑mMAimBm,:C_{i,:}=∑_m^MA_{im} B_{m,:}Ci,:=m∑MAimBm,: (3) 列向量视角:将AAA视作一个列向量矩阵,将BBB视作系数矩阵,则:
C:,j=∑mMBmjA:,mC_{:,j}=∑_m^MB_{mj} A_{:,m}C:,j=m∑MBmjA:,m
举例来说,设A=[1−12021]A=\begin{bmatrix}1&-1&2\\0&2&1\end{bmatrix}A=[10−1221],B=[20−110−1]B=\begin{bmatrix}2&0\\-1&1\\0&-1\end{bmatrix}B=⎣⎡2−1001−1⎦⎤,则:
如果用内积视角计算,可得C=[3−3−21]C=\begin{bmatrix}3&-3\\-2&1\end{bmatrix}C=[3−2−31]
如果用行视角进行计算,我们以CCC的第一行计算过程为例:
[3−3]=[1−12][20−110−1]=1[20]+(−1)[−11]+2[0−1]=[20]+[1−1]+[0−2]=[3−3]\begin{aligned}\begin{bmatrix}3&-3\end{bmatrix}&=\begin{bmatrix}1&-1&2\end{bmatrix}\begin{bmatrix}2&0\\-1&1\\0&-1\end{bmatrix}\\ &=1\begin{bmatrix}2&0\end{bmatrix}+(-1)\begin{bmatrix}-1&1\end{bmatrix}+2\begin{bmatrix}0&-1\end{bmatrix}\\ &=\begin{bmatrix}2&0\end{bmatrix}+\begin{bmatrix}1&-1\end{bmatrix}+\begin{bmatrix}0&-2\end{bmatrix}\\ &=\begin{bmatrix}3&-3\end{bmatrix}\end{aligned}[3−3]=[1−12]⎣⎡2−1001−1⎦⎤=1[20]+(−1)[−11]+2[0−1]=[20]+[1−1]+[0−2]=[3−3]
如果用列视角进行计算,我们以CCC的第一列计算过程为例:
[3−2]=[1−12021][2−10]=2[10]+(−1)[−12]+0[21]=[20]+[1−2]+[00]=[3−2]\begin{aligned}\begin{bmatrix}3\\-2\end{bmatrix}&=\begin{bmatrix}1&-1&2\\0&2&1\end{bmatrix}\begin{bmatrix}2\\-1\\0\end{bmatrix}\\ &=2\begin{bmatrix}1\\0\end{bmatrix}+(-1)\begin{bmatrix}-1\\2\end{bmatrix}+0\begin{bmatrix}2\\1\end{bmatrix}\\ &=\begin{bmatrix}2\\0\end{bmatrix}+\begin{bmatrix}1\\-2\end{bmatrix}+\begin{bmatrix}0\\0\end{bmatrix}\\ &=\begin{bmatrix}3\\-2\end{bmatrix}\end{aligned}[3−2]=[10−1221]⎣⎡2−10⎦⎤=2[10]+(−1)[−12]+0[21]=[20]+[1−2]+[00]=[3−2]
上述两种新的矩阵计算视角除了对理解本章的公式推导大有益处之外,行视角的计算方式对理解空域图卷积的计算逻辑与意义也将有很大帮助。
参考文献
[1] Shuman D I,Narang S K,Frossard P,et al.The
emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains[J].IEEE signal processing magazine,2013,30(3):83-98. ↩︎[2] 刘忠雨, 李彦霖, 周洋.《深入浅出图神经网络: GNN原理解析》.机械工业出版社. ↩︎
图神经网络(一)图信号处理与图卷积神经网络(1)矩阵乘法的三种方式相关推荐
- 承包经营权地块图打印三种方式
承包经营权地块图打印三种方式 1.一个地块一张图 2.权利人所有地块一张图打印 3 .多个地块独立成一张图打印 说明文档下载地址: http://files.cnblogs.com/files/gis ...
- 【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )
文章目录 I . 池化 II . 丢弃操作 III . 批量规范化 IV . 卷积神经网络 完整流程示例 ( 1 ) : 原始输入图 V . 卷积神经网络 完整流程示例 ( 2 ) : 卷积层 C1C ...
- 卷积神经网络学习路线(五)| 卷积神经网络参数设置,提高泛化能力?
前言 这是卷积神经网络学习路线的第五篇文章,主要为大家介绍一下卷积神经网络的参数设置,调参技巧以及被广泛应用在了哪些领域,希望可以帮助到大家. 卷积神经网络的参数设置 这个举个例子来说是最好的,因为直 ...
- 基于unet神经网络上采样中的的三种方式的理解
关于前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容中的一个知识点-上采样. 一.基于unet神经网络上采样中的的三种方式的理解 ...
- 时序预测的三种方式:统计学模型、机器学习、循环神经网络
作者 | luanhz 来源 | 小数志 导读 时序预测是一类经典的问题,在学术界和工业界都有着广泛的研究和应用.甚至说,世间万物加上时间维度后都可抽象为时间序列问题,例如股票价格.天气变化等等.关于 ...
- 卷积操作中的矩阵乘法(gemm)—— 为什么矩阵乘法是深度学习的核心所在
1. 全连接 kk 个输入: nn 个神经元: 每个神经元都会学到一组权值向量,以和输入进行内积运算: nn 个输出: 2. 卷积 卷积操作对于高维(多个平面)的输入,单个卷积核的深度应和输入的深度( ...
- iOS-抠图:去除图片中指定范围颜色的三种方式
实际项目场景:去除图片的纯白色背景图,获得一张透明底图片用于拼图功能 下面介绍两种途径的三种处理方式(不知道为啥想起了孔乙己),具体性能鶸并未对比,如果有大佬能告知,不胜感激. Core Image ...
- 卷积神经网络基础:(6)卷积神经网络原理
目录 1.卷积网络与传统网络的区别 2.整体架构 3.卷积操作 4.卷积涉及的参数 5.卷积计算公式: 6.卷积参数中的重要特点 7.池化层作用 8.整体网络架构 9.特征图变化 10.感受野 1. ...
- 【数据挖掘】卷积神经网络 ( 视觉原理 | CNN 模仿视觉 | 卷积神经网络简介 | 卷积神经网络组成 | 整体工作流程 | 卷积计算图示 | 卷积计算简介 | 卷积计算示例 | 卷积计算参数 )
文章目录 I . 人类的视觉原理 II . 卷积神经网络 模仿 视觉原理 III . 卷积神经网络简介 IV . 卷积神经网络 组成 V . 卷积神经网络 工作流程 VI . 降低样本参数数量级 VI ...
最新文章
- 学习笔记Hadoop(十二)—— Hadoop基础操作(4)—— YARN资源管理与调度策略
- miniui 加载文件时会做的一些事情
- 计算机应用与维修专业主修,计算机应用与维修专业个人简历制作
- jQuery Mobile_简单的爱情故事
- mysql uroot p f_mysql数据库安装
- java注释符_Java程序中的单行注释符是( ),多行注释符是( )。
- 免费将pdf文件转换成word
- LeetCode_16.22兰顿蚂蚁
- 程序员如何写工作日志
- 计算机专业必装软件mac,MAC电脑可运行的常用软件有哪些?
- csv文件的格式---Comma Separate Values
- 做个优秀的时间管理者
- android killer反编译闪退,Android Killer反编译失败
- mock.js的使用方法
- 【数据结构与算法】LeetCode面试真题,带你领略算法思想
- SQL--打折日期交叉问题
- Unity 画折线图
- 习题6-5 UVA1600 巡逻机器人 Patrol Robot
- c语言对于随机数的产生于应用,c语言之产生随机数详解
- 0xc000007b 问题总结