泉源 | 阿泽的学习条记(ID: aze_learning)
Convolutional Neural NetworkCNN 在图像识别等使命 中具有主要 作用,主要是由于 CNN 使用 了图片在其域中的平移稳固 性。由于图结构不存在平移稳固 性,以是 CNN 无法直接在图上举行 卷积。
1.1 Translational Invariance刚刚提到 CNN 之以是 可以应用到图像而无法应用到图网络中主要是由于 图像具有「平移稳固 形(translational invariance)」,而图网络不具备这一属性。那么问题来了,什么是平移稳固 形呢?
我们知道对于 CNN 来说,其焦点在于使用了基于卷积核的卷积操作来提取图像的特征,这里的卷积操作类似于对「盘算区域内的中央 节点和相邻节点举行 加权求和」:
CNN 之以是 能成为图像领域的明珠却很少应用于其他领域缘故原由 是:「图片是一个规整的二维矩阵」,无论卷积核平移到图片中的哪个位置都可以保证其运算效果 的一致性,这就是我们所说的「平移稳固 性」。CNN 的卷积本质就是使用 这种平移稳固 性来对扫描的区域举行 卷积操作,从而实现了图像特征的提取。
而网络是不规整的关系型数据,以是 其不存在平移稳固 形(每个节点的周围邻人 数不牢靠 ),这就使得传统的 CNN 要领无法直接应用于网络中。
1.2 Convolution Kernels既然是由于 卷积核的缘故原由 ,那么可不行以不使用卷积核?
谜底 一定 是不行以,由于 卷积神经网络的一大焦点就是使用 卷积核实现「参数共享(Parameter Sharing)」。下图为有卷积核的卷积操作:
此时的参数巨细只与卷积核巨细有关,而若是 不举行 参数共享的话,参数的巨细则与图像的像素矩阵保持一致:
除此之外,卷积神经网络尚有 另一大焦点:「局部毗连 性(Locally Connection)」。局部毗连 是指卷积盘算每次只在与卷积核巨细对应的区域举行 ,也就是说输入和输出是局部毗连 的。若是 不举行 局部毗连 的话,相当于将图片的矩阵睁开 成向量举行 输入,类似于全毗连 神经网络,此时的参数目 会变得很是重大 :
也就是说,通过参数共享和局部毗连 性我们可以将参数从 降低到 。其中,W H 和 K 划分为图像的宽、高和通道,N 为隐藏层节点个数,m 为卷积核宽,k 为卷积核个数。
PS:CNN 有三大特点,除了上面说的局部毗连 和参数共享之外,尚有 「条理化表达(Hierarchical Expression)」。CNN 的条理化表达可以通过卷积层叠加获得,每一个卷积层都是在前一层的基础上举行 的,这样的意义在于,网络越往后,其提取到的特征越高级。好比说:第一层可能是一些线条,第二层可能会是一些纹理,第三层可能是一些抽象图案:
可能会有同砚 问:那我们尚有 其他措施在图上举行 卷积吗?谜底 是一定有的 = =。
现在 的一大思绪 就是借助谱图理论(Spectral Graph Theory)来实现在拓扑图上的卷积操作,大致步骤为将空域中的拓扑图结构通过傅立叶变换映射到频域中并举行 卷积,然后使用 逆变换返回空域,从而完成了图卷积操作。
看到这里,预计各人会有一堆疑问,包罗:什么是谱图理论?什么是傅立叶变换?什么是频域空域?逆变换是什么?
想要清晰 的回覆这个问题,要从图信号处置赏罚 提及 。
Graph Signal Processing图信号处置赏罚 (Graph Signal Processing,以下简称 GSP)用来处置赏罚 那些界说在图上的非规则域的信号,这句话有点拗口,拆开说就是处置赏罚 图上界说的信号,但信号所在域是规则的。
2.1 Simple Example这里我们举一个图信号处置赏罚 的简朴例子:
假设我们在一个地方丈量温度,并凭证 生齿 密度部署了温度感应点(如上图 a 所示),地域 n 的丈量温度可以体现为 (如上图 b 所示),而且 , 为真实温度, 为随机噪声带来的误差。
现在我们想通过对丈量地及周围的温度求平均来镌汰 这些随机噪声,虽然为了防止失去局部温度(这个也叫 Over Smooth),我们会对每个点取其周围区域举行 平均:
上图 c 展示了 y(1) 的盘算方式。我们也可以用矩阵来体现:
其中,矩阵 A 为毗邻 矩阵(丈量点的毗连 情形 如上图 d 所示),丈量位置及每个位置的丈量温度如上图 e 所示。
我们还可以对其举行 优化,凭证 距离来为差异丈量点添加差异的权重:
虽然,我们也需要对权重举行 归一化,以便发生无偏预计:
其中,对角矩阵 D 用于归一化,其值为 ,这个矩阵尚有 另外一个名字,叫「度矩阵(Degree Matrix)」。
以上即是一个简朴的是图信号处置赏罚 历程,其框架大致为:
丈量点组成节点(图 a),节点间的连通性和相关性组成边;
节点和边组成图(图 b),该图是信号域,体现丈量信号的点以及它们之间的关系,并使用该图举行 剖析 和处置赏罚 ;
丈量温度是图的信号(图 e),这里的信号由真实温度和丈量噪声所组成;
思量 丈量位置,我们提出下场 部平均和加权平均,这是最简朴的图信号处置赏罚 方式(Linear fist-order)。
同样的,我们也可以将其应用在多个领域,如民意视察、政治剖析 等。
2.2 Fourier Transformer我信托 若是 我一上来就扔出傅立叶变换,许多人都市瓦解不想看,不信我们试试:
若是 没有瓦解的话就直接看下一节吧;若是 瓦解了就接着看,可是 笔掉了万万 别捡,否则可能就看不懂了。
2.2.1 Transformer
为了让各人无痛入门,我们先从最简朴变换的提及 。
我们知道笛卡尔坐标系中,每个点都市有一个坐标,如下图所示 A(-3,1) B(2,3):
那么为什么可以这么体现呢?为什么 A 的坐标为 (-3,1) 而 B 的坐标为 (2,3) ?
这是由于 在笛卡尔坐标系中,我们界说了一组尺度正交基 ,基是向量有偏向有巨细。(正交是指差异基之间的内积为 0,即两个基线性无关,而尺度基是指基的模为 1)
A 的坐标着实 就体现在 x 轴坐标上有 3 个 的长度且偏向与 相反,在 y 轴坐标上有 1 个 的长度,且偏向相同。
这样做的利益是什么呢?主要是为了利便 盘算和体现,试想下,若是 只给你一点点而没有坐标系,你怎么体现两个点之间的距离呢?而放在坐标系中,这些问题就迎刃而解。
有同砚 可能疑问,不是说变换吗?怎么扯到笛卡尔坐标系了?着实 我们刚刚说的就是一种变换:「将图上的节点变换到坐标系中」。
2.2.2 Fourier Series傅立叶变换分为傅立叶级数和一连 傅立叶变换,我们先说傅立叶级数。
傅立叶级数适用于周期性函数,它能够将任何周期性函数剖析成简朴震荡函数的荟萃(正弦函数和余弦函数),举个例子,好比说下图:
左边是一个周期函数,右边是将周期函数剖析成多个简朴震荡函数,以是 这个周期函数用数学公式可以表达为:
我们看到上图中的信号是随着时间变换的,以是 我称之为「时域(Time domain)」。
我们视察到,差异的振荡函数具有差异的振幅和频率,以上图为例 的振幅为 1/3 而频率为 ,思量 以频率为横坐标,振幅为纵坐标,我们有:
这个就是我们所说的频域(Frequency Domain),其和时域是等价的,不外是从另外一个角度去形貌 信号。我们把它放在一起看一下:
我们可以放一张动图感受一下:
给出傅立叶级数的公式:
还可以将其稍作变换:
这样我们便能看出来,此时的尺度正交基为
,而对应的系数 着实 就是傅立叶级数在这组尺度正交基下的向量。这即是傅立叶变换,将信号从时域变换到频域中。
这里先容 下傅立叶变换后的基为正交基,由于 有个知识点后面还会用到。
我们知道判断两个向量是否正交可以用向量点乘求和即是 0 来判断,这种要领我们称为点积(内积):
与向量点积差异的是,函数是一连 的,假设现在有两个函数 f 和 g,f 的周期为 2n,我们也想用上述一连 累加的方式来使得函数内积和向量内积的看法一致,而积分正是函数累加的看法,以是 我们有:
对于上面我们说的傅立叶变换后的正交基,我们容易获得:
容易证实 上述尺度基为正交基。
在数学里,希尔伯特空间(Hilbert Space)是有限维欧几里得空间的一个推广,是一个完整 的内积空间,其界说了一个带有内积的完整 向量空间。在希尔伯空间中,一个抽象元素通常被称为向量,它可以是一个复数或者函数。傅立叶剖析 的一个主要 目的是将一个给定的函数体现成一族给定的基底函数的和,而希尔伯特空间为傅立叶剖析 提供了一种有用 的表述方式。
可能各人看到这里要爆炸了,不外不用担忧,我们只需要记着上面「两个函数的内积形式」即可。
2.2.3 Fourier Transformer我们刚刚说的都是周期性函数,但现实中大部门函数都是非周期的,那若是 涉及到非周期性函数该怎么办呢?
在先容 非周期性函数之前,我们先简朴先容 下欧拉公式。
思量 横轴为 1,纵轴为虚单元 i 的坐标系,图上恣意 一点都可以体现为 。
凭证 欧拉公式,我们可以写成:
其中,e 为自然对数的底数。
以是 坐标轴上的点现在有了两种体现方式:
思量 , 会随着 t 的增大而逆时针旋转。以是 可以体现为坐标点 A 随着时间 t 逆时针旋转。我们以时间 t 为横坐标,则可以纪录到坐标点 A 映射在虚轴的运动轨迹:
左边图是我们看到的旋转频率,称为频域,而右边图看到是时间流逝,称为时域,是不是和我们刚刚先容 的(从时域变换到频域)正好相反?也就是说,时域和频域着实 是可以相互转换的。
回到正题,思量 非周期函数的傅立叶变换。
事实上,我们可以将非周期函数思量 为周期无限 大的函数,思量 频域中的横坐标:,当周期 T 无限 大大时,频域图就从离散点变为一连 的曲线,如下图:
那么,我们该怎样 从这个非周期函数中剖析出种种信号呢?谜底 就是使用 正交!好比说,假设这函数中有一个 的信号,那么我们用 就可以把它乘出来,而其他分量如
都市由于 正交而消逝 。以是 我们需要对函数做一个内积:
其中, 刚刚先容 过,就是一组正交基的组合。我们用正交基去与函数求内积,若是 原函数中包罗频率为 的三角函数,则 便为 0,反之为 0,这样自然疏散能疏散出响应 的信号,其图示如上图 c 中右部门所示。
仔细 的同砚 可能还会注重 到上式的盘算的效果 中尚有 复数 i。着实 是样子的:「实数部门体现振幅」,「虚数部门体现相位」。相关资料同砚 们可以自己查阅,不再举行 过多先容 。
以上就是我们所说的傅立叶变换(Fourier Transform,FT)。同样的我们也存在逆变换:
于是,我们便实现了将信号拆成多个正弦信号,再把正弦信号逆变换为原来信号的历程。
简朴先容 下傅立叶变换的应用吧, 省得看了那么多不知道他醒目 什么。
一个很经典的例子就是:疏散、降噪。若是 男生和女生一起语言 ,该怎样 疏散出两者的声音呢?谜底 就是对这一段声音(时域)做傅立叶变换转换到频率,而男女生的声音频率差异,在频域中,低频为男生,中频为女生,高频可能为噪音,我们可以凭证 需要去除中频和高频的信号,并将其举行 逆变换,这样便疏散出了男生的声音。
PS:这里再说一个好玩的,频域中是不是不存在时间的看法?不存在时间却可以体现时间,这有没有一点像我们的人生,看似无纪律,可是 从天主 视角来看,一切皆掷中 注定。
2.3 Graph Laplacian图拉普拉斯矩阵可以界说为:
其中,D 为度矩阵,W 为思量 权值的毗邻 矩阵。
思量 归一化后的拉普拉斯矩阵:
以上为通例操作,不外先容 到这里不知道各人会不会有一点疑问。
至少我是有疑问的:图拉普拉斯矩阵为什么要这样界说的?
要想回覆这个问题,首先我们得相识 什么是拉普拉斯算子。
2.3.1 Laplacian
在数学中,拉普拉斯算子(Laplacian)是由欧几里得空间中的一个函数的梯度的散度给出的微分算子,通常有以下几种写法:。以是 对于恣意 函数 来说,其拉普拉斯算子的界说为:
这里引入了一个新的看法——散度,这里简朴先容 下:
散度(Divergence)是向量剖析 的一个向量算子,将向量空间上的向量场(矢量场)对应到一个标量场。散度形貌 的是向量场里一个点是汇聚点照旧起源点。值为正时体现该点为起源点,值为负时体现该点为汇聚点,值为零时体现该点无源。散度在物理上的寄义可以明确 为磁场、热源等。
回到正文,我们看下拉普拉斯算子在 n 维空间中的笛卡尔坐标系的数学界说:
数学体现为各个维度的二阶偏导数之和。
以一维空间为例:
也就是说二阶导数近似于其二阶差分,可以明确 为当前点对其在所有自由度上微扰之后获得的增益。这里自由度为 2,划分是 +1 和 -1 偏向。
再以二维空间为例子:
看到上面可能各人会很可能很生疏 ,可是 这个就是图像中的拉普拉斯卷积核:
此时共有 4 个自由度 (1,0),(-1,0),(0,1),(0,-1),虽然若是 对角线后其自由度可以为 8。
对此我们可以举行 归纳:「拉普拉斯算子是所有自由度上举行 细小 转变 后所获得的增益」。
我们将其推广到网络图中,思量 有 N 个节点的网络图,其自由度最大为 N,那么函数 可以是 N 维的向量,即:
其中, 体现函数 在网络图中节点 i 处的函数值,类比 为函数 在 (x,y) 的函数值。
在网络图中,两个节点的之间的增益为 ,思量 加权图则有 ,那么对于节点 i 来说,总增益即为拉普拉斯算子在节点 i 的值:
其中, 为节点 i 的度;上式第二行去掉了 是由于 可以控制节点 i 的毗邻 矩阵。
对于恣意 都建设,以是 我们有:
自此,我们便给出了图拉普拉斯矩阵的推导历程,这个公式的全称为:图拉普拉斯算子作用在由图节点信息组成的向量 上获得的效果 即是图拉普拉斯矩阵和向量 的点积。拉普拉斯矩阵反映了当前节点对周围节点发生扰动时所发生的累积增益,直观上也可以明确 为某一节点的权值变为其相邻节点权值的期望影响,形象一点就是拉普拉斯矩阵可以描绘 局部的平滑度。
2.3.2 Laplace Spectral decomposition
拉普拉斯矩阵的谱剖析就是矩阵的特征剖析:
对于无向图来说,拉普拉斯矩阵是实对称矩阵,而实对称矩阵一定可以用正交矩阵举行 正交相似对角化:
其中, 为特征值组成「对角矩阵」, 为特征向量组成的「正交矩阵」。
又由于 正交矩阵的逆即是正交矩阵的转置: ,以是 我们有:
由于 L 是半正定矩阵,我们还可以有:
其中, 为节点 i 的信号。我们称 为图信号的总变差(Total Variation),可以刻绘图信号整体的平滑度。
拉普拉斯的谱剖析具有以下几点性子 :
由于拉普拉斯矩阵以每行(列)元素之和为零,因此拉普拉斯矩阵的至少有一个特征值为 0,对应的特征向量
拉普拉斯矩阵的特征值都大于零,归一化的拉普拉斯矩阵的特征值区间为 [0, 2];
若是 有 n 个特征值为 0,则体现图有 n 个子图相互无毗连 ;
特征值的总和为矩阵的迹,对于归一化的拉普拉斯矩阵,若是 没有伶仃节点或子图,其特征值为 N。
2.4 Graph Fourier Transformer有同砚 看到这可能会感应疑问了:「我们刚先容 傅立叶变换,现在又先容 拉普拉斯谱剖析的,到底想干嘛」。
这是由于 :「傅立叶剖析 是拉普拉斯谱剖析 的一个特例」!想不到吧,是不是很震惊?
我们来证实 下,首先思量 亥姆霍兹方程(Helmholtz Equation):
其中, 为拉普拉斯算子, 为特征函数, 为特征值。
看不懂没关系,把它当成广义特征方程就行:,狭隘的特征方程只能用于处置赏罚 向量和矩阵,而这个可以用于处置赏罚 函数,最经典的应用是处置赏罚 颠簸方程和扩散方程,以是 我们可以用它处置赏罚 信号。
回首一下傅立叶变换:
着实 就是信号函数 与基函数 的内积(刚刚先容 过函数内积)。
对于基函数 ,我们让其与拉普拉斯算子求内积:
以上便证实 是「拉普拉斯算子的特征函数」,同时也证实 晰 「离散傅立叶变换是拉普拉斯谱剖析 的一个特例」。
写到这我们有以下线索:首先拉普拉斯矩阵(离散拉普拉斯算子)可以应用在图像上,理论上也可以应用到网络上,而傅立叶变换是拉普拉斯的一个小弟,以是 小弟也可以应用到图上。
回首下拉普拉斯谱剖析 :
我们类比一下:
信号中的傅立叶变换网络图中的傅立叶变换频率
特征值
正交基中某个向量
正交矩阵中的某个向量
是不是长得很是像,以是 我们也有了网络图上的傅立叶变换:
其中, 为网络图上的 n 维向量, 体现网络中的节点 i 的第 k 个分量, 体现特征向量 k 的第 i 个分量。做个类比诠释 :特征值(频率) 下, 的图傅立叶变换(振幅)即是 与 对应的特征向量 的内积。
思量 矩阵乘法:
以是 我们获得了「图傅立叶变换的矩阵形式」,这里的 为拉普拉斯谱剖析的正交矩阵。
我们也可以获得傅立叶逆变换:
Graph Convolutional Network前面的铺垫许多,终于要迎来 GCN 了。
3.1 Convolution我们先来看一下卷积的界说,卷积是指通过两个函数 和 天生 第三个函数的一种数学算子,表征函数 与经由 翻转清静 移的 的乘积函数所围成的曲边梯形的面积:
对于离散卷积来说,我们可以界说为:
盘算卷积有许多种要领,除了直接盘算外,我们还可以思量 「卷积定理」:在适当条件下,两个信号的卷积的傅立叶变换是他们的傅立叶变换的点积。换句话说,一个域(如时域)的卷积即是另一个域(如频域)的点乘:
其中 体现 的傅立叶变换。
借助傅立叶逆变换 可以写成:
这样做有什么利益呢?或者说,我们为什么要变换一个域后再去做卷积操作?
由于 使用 卷积定理可以简化卷积的运算量。对于一个长度为 n 的序列,凭证 卷积的界说来盘算则需要做 2n-1 组对位乘法,即时间重大 度为 ;而使用 傅立叶变换后,只需要盘算一组对位乘法,而且离散傅立叶变换有快速的算法(快速傅立叶变换),以是 总的盘算重大 度为 。
3.2 Graph Convolution现在有了图傅立叶变换,又有了离散卷积操作,那么我们想:既然无法直接在空域举行 卷积,能否 将图信号映射到频域后再做卷积操作。
以是 我们有:
其中,向量 与向量 的元素点积,等价于将 组织成对角矩阵的形式举行 矩阵乘法,以是 我们有:
最后我们再左乘 举行 逆变换:
这里,我们不写成 的主要缘故原由 在于,我们可以将其与深度学习相团结 ,在 GCN 中我们的卷积核是可训练而且参数共享的,以是 在此我们可以直接将 写成 ,这个即是深度学习中的可学习参数。
3.3 GCN-1第一代的卷积神经网络也就是刚刚我们给出的公式:
这和论文中给出的公式是一样的:
这边增补一点,在这篇论文中,作者还给出了一个基于空域的「深度局部毗连 网络」(Deep Locally Connected Networks),我们可以简朴看一下:
每一层变换界说为:
其中, 体现第 k 第 i 个节点; 体现第 k 层节点 i 和节点 j 的权值,思量 局部邻人 ; 体现卷积运算; 体现第 k 层的池化操作。也就是说每个节点都是由其邻人 和自身卷积池化获得。
虽然看起来很简朴,可是 优点在于它不需要很强的条件 假设,其只需要网络具有局部邻域结构,甚至不需要很好的 Embedding 向量。
但这种结构下有一个很大的弱点 :「没有措施实现共享参数」。
作者针对这种问题提出了我们所看到第一代图卷积神经网络。
3.4 GCN-2第一代的图卷积神经网络很巧妙的使用 图谱理论来实现拓扑图的卷积操作,但其有许多弱点 ,好比说:盘算重大 度太高,我们需要对拉普拉斯矩阵举行 谱剖析获得特征向量矩阵 ,时间重大 度为 ;
针对这个问题,学者提出了第二代 GCN。
首先我们回首下图傅立叶变换:
可以看到这是一个和特征值亲近 相关的函数,我们不妨将 写成拉普拉斯矩阵 L 的特征值函数 :
然后这个卷积核有两个局限性:
不具备局部毗连 性;
时间重大 度为 。
为了战胜 这个弱点 ,我们引入 K 阶多项式:
其中,参数 是多项式系数,这样滤波器就具有了 K 阶局部性了,重大 度也降低到 。
我们将这个公式带入卷积运算中:
此时,我们盘算图卷积运算就不需要再乘上特征向量矩阵 ,而是直接使用拉普拉斯矩阵 L 的 k 次方,这样就阻止 了举行 特征剖析。而我们可以事先盘算好 ,这样就只需要盘算矩阵相乘。同时由于 L 为希罕 矩阵,以是 时间重大 度为 , 为节点边数。
此外,作者还引入了切比雪夫睁开 式来近似 。
设 为切比雪夫多项式的第 k 阶式子,切比雪夫多项式的递归式为:。以是 我们有:
其中, ; 是指拉普拉斯矩阵 L 的最大值。
这是由于 切比雪夫多项式的输入要在 之间,由于拉普拉斯矩阵的半正定性,以是 所有的特征值都是大于即是 0 的,将其除以最大特征值可以将特征压缩到 区间内,现在需要将其压缩到 ,以是 我们有:
我们将切比雪夫多项式引入到我们的卷积变换中:
其中, 。这个表达式为拉普拉斯多项式中的一个 k 阶近似函数,依赖于节点的 「k 阶邻域」(走 k 步能到的邻人 ),时间重大 度与边呈线形相关。
3.5 GCN-3第二代 GCN 解决了图卷神秘 求特征剖析的问题,可是 在盘算图卷积操作时,依然每次都要举行 矩阵乘法,时间重大 度为 ,于是学者继续优化。
我们把上式拿下来:
GCN 通过上式的多层卷积层举行 叠加,而每层都市逐点举行 非线性叠加,思量 到时间重大 度问题,学者直接取 K=2,也就是说获得了一个拉普拉斯算子的二阶近似函数。这样我们既可以对网络举行 卷积操作,又不会引入太多的切比雪夫系数。而且这样的线形运算允许我们构建更深的网路,提高模子 的建模能力。
我们知道归一化的拉普拉斯矩阵的特征值区间为 [0, 2],进一步近似 ,以是 我们有新的表达式:
其中,
在现实 训练历程中,我们需要规范化参数来阻止 过拟合,以是 我们令 ,从而有:
需要注重 的是, 的特征值规模在 [0, 2] 之间,以是 若是 在很深的网络中会引起梯度爆炸的问题,以是 我们需要再次对他举行 一次归一化(原文也称 「renormalization trick」):
我们把这个公式从标量推广到矩阵,对于输入节点的向量 ,其中 N 为节点数,C 为节点的特征向量维度,我们有:
其中, 是滤波器的参数矩阵, 是卷积后的信号矩阵,时间重大 度为 。节点的向量可以通过卷积操作从 C 维度 转变为 F 维度。
依据上面的单层运算,我们给出了多层图卷积网络的撒播 规则:
其中, ,A 为毗邻 矩阵, 为单元矩阵,以是 为添加自毗连 的毗邻 矩阵; , 可以明确 为对角线为节点 i 的度数矩阵; 为神经网络第 层的权重矩阵; 是激活函数; 是第 层的激活矩阵,而且 , 是由节点 的特征向量组成矩阵。
到此,便完成了 GCN 卷积操作的公式推导。
3.6 Model再来关注一下模子 。
图卷积神经网络是指在图结构中做卷积操作的神经网络,以是 其输入输出的都是图结构,区别于传统的神经网络结构,其隐藏层是直接在图结构中举行 激活:
为了利便 明确 ,我们举个分类使命 例子,以包罗一个隐藏层的 GCN 为例:
由于知道了 GCN 的撒播 规则,以是 我们有最终的效果 :
其中, 是输入层到隐藏层的权重, 是隐藏层到输出层的权重;用 Softmax 是由于 这是一个节点分类使命 ,需要展望 标签。
然后,我们用交织熵作为价钱函数:
其中, 为有标签的节点荟萃。
有了价钱函数后,我们可以通过梯度下降来更新网络的参数。
3.7 Experiment简朴看下第三代 GCN 的试验。
由于 GCN 较量 重大 ,以是 这里我将给出两种实验,一种是 GCN 的效果实验,另一种是模拟 GCN 运行的实验。
3.7.1 Effect我们来看一下实验部门,GCN 与其他模子 的对比:
可以看到 GCN 的效果 在差异数据集上都取得了很是好的效果,远超其他模子 。
我们再看一下,对于 GCN 而言差异水平的近似会有什么样的效果:
可以看到并不是模子 越重大 效果越好。
GCN 尚有 除了训练后模子 精度高外,尚有 两个很是硬核的地方,纵然不训练,直接随机参数也可以获得不错的效果,下图展示了在某一数据集下随机赋权值的效果 :
另外,作为半监视学习,GCN 可以在只标注少量样本的情形 下学得精彩的效果,下图为每个种别 只标注一个样本的分类效果 :
3.7.2 Simulation为了越发形象的明确 GCN,我们来对 GCN 举行 模拟。
首先,以一个简朴有向图模子 为例:
毗邻 矩阵 A 和 节点的特征向量 X 为:
我们有一个简朴的撒播 规则(不思量 参数矩阵和激活函数):
「可以看到节点的特征酿成了其邻人 的特征之和!」
但这边也就一些小问题:
这种撒播 历程没有思量 节点自身的特征;
度的大节点特征值会越来越大,度小的节点特征值会越来越小,撒播 历程对特征的尺度敏感。
为相识 决这个问题,我们需要:
加一个单元矩阵,思量 自环路;
将毗邻 矩阵 A 与度矩阵 D 的逆相乘对特征举行 归一化。
我们先看下加上单元矩阵的效果:
可以看到,加上单元矩阵的盘算思量 了节点的特征。
再看下毗邻 矩阵归一化的效果:
毗邻 矩阵被归一化到 0 到 1 之间。
我们将两个放在一起,并思量 参数矩阵 W:
以是 我们有:
以上便完成了 GCN 的简朴仿真。
我们回过头来再来看一下网络的撒播 规则:
现在是不是更能明确 为什么这么撒播 了?
这里诠释 一下归一化为什么是双方 乘上矩阵的 -1/2 次方。
这是由于 对称归一化的拉普拉斯矩阵其元素界说为:
我们仿真模拟的是用加权求和取平均的方式来聚合,而作者接纳的是拉普拉斯变换。我这边做一个化简各人可能个就会明确 了:
区别于加权求和取平均的方式,拉普拉斯变换不光思量 当前节点的 i 的度,还思量 其他节点 j 的度。
ConclusionGCN 的入门文章就先容 完了,大致思绪 为:CNN 中的卷积无法直接应用于网络图中,以是 引出了图信号处置赏罚 (Graph Signal Processing)中的 Graph Fourier Transformation,进而界说 Graph Convolution,最后团结 深度学习生长出来 GCN。
Reference《Graph Convolutional Networks in 3 Minutes》
《怎样 明确 卷积神经网络中的权值共享?》
《HIERARCHICAL DEEP LEARNING ARCHITECTURE FOR 10K OBJECTS CLASSIFICATION》
《Introduction to Graph Signal Processing》
《Fourier series》
《Fourier Series Graph Interactive》
《Hilbert space》
《Laplace operator》
《怎样 明确 GCN?- Johnny Richards的回覆》
《图拉普拉斯算子为何界说为D-W》
《图卷积神经网络理论基础》
《怎样 明确 GCN?- superbrother的回覆》
《Fourier transform》
《Convolution》
《Convolution theorem》
《Spectral Networks and Deep Locally Connected Networks on Graphs》
《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》
《Semi-supervised Classification with Graph Convolutional Networks》
《How to do Deep Learning on Graphs with Graph Convolutional Networks》