IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ICLR 2017 | GCN:基于图卷积网络的半监督分类 -> 正文阅读

[人工智能]ICLR 2017 | GCN:基于图卷积网络的半监督分类

前言

在这里插入图片描述
题目: Semi-Supervised Classification with Graph Convolutional Networks
会议: International Conference on Learning Representations, 2017
论文地址:Semi-Supervised Classification with Graph Convolutional Networks

阅读前建议读一下前面几篇关于GNN的入门文章:

  1. 图神经网络(GNN)的基本原理
  2. 图解GNN:A Gentle Introduction to Graph Neural Networks
  3. TNNLS | GNN综述:A Comprehensive Survey on Graph Neural Networks

TNNLS | GNN综述:A Comprehensive Survey on Graph Neural Networks一文中对GCN进行了大概的讲解,讲解如下:
在这里插入图片描述
RecGNN使用相同的图循环层(Grec)来更新节点的表示,而ConvGNN使用不同的图卷积层(Gconv)来更新节点表示。

ConvGNN分为两种:基于频域的和基于空间域的。其中基于频域的方法通过从图信号处理的角度引入过滤器(卷积核的集合)来定义图卷积,其中图卷积运算被解释为从图信号中去除噪声。 基于空间域的ConvGNN继承了RecGNN的思想,通过消息传递来定义图卷积运算。

A. Spectral-Based ConvGNN

基于频域的ConvGNN:假设图是无向的。无向图的归一化图拉普拉斯矩阵定义为:
L = I n ? D ? ( 1 / 2 ) A D ? ( 1 / 2 ) L=I_n-D^{-(1/2)}AD^{-(1/2)} L=In??D?(1/2)AD?(1/2)
其中 D D D是一个对角阵,对角上的元素表示对应节点的度。归一化图拉普拉斯矩阵具有实对称半正定的性质,因此可以被分解为:
L = U Λ U T L=U\Lambda U^T L=UΛUT
其中 U = [ u 0 , u 1 , . . . , u n ] ∈ R n × n U=[u_0, u_1,...,u_n] \in R^{n \times n} U=[u0?,u1?,...,un?]Rn×n是特征值排序的特征向量矩阵, Λ \Lambda Λ是特征值对角矩阵,线代基础知识了。归一化图拉普拉斯矩阵的特征向量形成正交空间,即 U T U = I U^TU=I UTU=I

对图进行处理时, x ∈ R n x \in R^n xRn表示为所有节点的特征向量, x i x_i xi?为第 i i i个节点的特征向量。 x x x的图傅里叶变换为: ? ( x ) = U T x \Im(x)=U^Tx ?(x)=UTx,逆图傅里叶变换为: ? ? 1 ( x ^ ) = U x ^ \Im^{-1}(\hat{x})=U\hat{x} ??1(x^)=Ux^,其中 x ^ \hat{x} x^表示傅里叶变换的结果信号。

由以上定义可知,图傅里叶变换将输入图信号投影到标准化空间,其中空间基由标准化图拉普拉斯算子的特征向量形成。原始输入信号可以被表示为: x = ∑ i x ^ i u i x= \sum_{i}\hat{x}_iu_i x=i?x^i?ui?(逆图傅里叶变换)。

有了以上定义后,输入信号与过滤器 g ∈ R b g \in R^b gRb间的卷积运算被定义为:
在这里插入图片描述
如果将过滤器表示为: g θ = d i a g ( U T g ) g_{\theta}=diag(U^Tg) gθ?=diag(UTg),则图卷积可以简化为:
在这里插入图片描述
基于频域的ConvGNN都遵循以上定义,只是过滤器可能有所不同。

比如:Spectral CNN假设过滤器 g θ = Θ i , j ( k ) g_{\theta}=\Theta_{i, j}^{(k)} gθ?=Θi,j(k)?是一组可学习的参数,Spectral CNN的图卷积层定义为:
在这里插入图片描述
其中 k k k是层索引, H ( k ? 1 ) ∈ R n × f k ? 1 H^{(k-1)} \in R^{n \times f_{k-1}} H(k?1)Rn×fk?1?是输入图信号, H 0 = X H_0=X H0?=X f k ? 1 f_{k-1} fk?1?为输入通道数, f k f_k fk?为输出通道数。

B. Spatial-Based ConvGNN

基于空间域的ConvGNN:基于节点的空间关系来定义图卷积。

Image可以被视为Graph的特殊形式,每个像素代表一个节点,每个像素直接连接到其附近的像素:
在这里插入图片描述对于3x3窗口,每个节点的邻域就是其周围8个像素点。 类似地,基于空间域的图卷积将中心节点的表示与相邻节点的表示进行卷积,得到中心节点的更新表示。

图的神经网络(NN4G)是基于空间域的ConvGNN的第一个工作,它通过直接汇总节点的邻域信息来执行图卷积,NN4G导出的下一层的节点状态公式为:
在这里插入图片描述
f f f是激活函数, h v ( 0 ) h_v^{(0)} hv(0)?初始化为零向量。上式的矩阵形式为:
在这里插入图片描述
扩散CNN (DCNN)认为图的卷积是一个扩散过程。它假设信息以一定的转移概率从一个节点转移到它的一个相邻节点,使信息分布在几轮后达到均衡。DCNN将扩散图卷积定义为:
在这里插入图片描述
其中 f f f是激活函数,概率转移矩阵 P = D ? 1 A P=D^{-1}A P=D?1A。由于扩散的平稳分布是概率转移矩阵幂级数的总和,因此DGC可以定义如下:
在这里插入图片描述
这里 W ( k ) ∈ R D × F W^{(k)} \in R^{D \times F} W(k)RD×F。需要注意的是,这里使用了概率转移矩阵的幂,这意味着远处的邻居对中心节点更新的贡献很少。

PGC-DGCNN基于最短路径增加了远处邻居的贡献。PGC-DGCNN定义了最短路径邻接矩阵 S ( j ) S^{(j)} S(j):如果节点 v v v到结节点 u u u的最短路径长度为 j j j,则 S v , u ( j ) = 1 S_{v,u}^{(j)}=1 Sv,u(j)?=1,否则为0。PGC-DGCNN中的图卷积运算定义如下:
在这里插入图片描述
式中 D ~ i i ( j ) = ∑ l S i , l ( j ) \tilde{D}_{ii}^{(j)}=\sum_{l}S_{i,l}^{(j)} D~ii(j)?=l?Si,l(j)? H ( 0 ) = X H_{(0)}=X H(0)?=X ∣ ∣ || 表示向量的连接。

本篇文章提出的GCN是基于空间域的ConvGNN

1. 引言

考虑在图中对节点进行分类的问题,图中只有少数节点被标记,然后我们的任务是预测未标记节点的标签,这种问题就是图的半监督分类。

解决上述问题比较经典的方法:
在这里插入图片描述
其中 L 0 L_0 L0?表示标记数据上的误差, f f f可以是神经网络, X X X是节点特征向量矩阵, Δ = D ? A \Delta=D-A Δ=D?A是未归一化的图拉普拉斯矩阵( D D D为度矩阵, A A A为邻接矩阵), f ( X i ) f(X_i) f(Xi?)表示节点的编码表示。

上式中加上正则化项后,如果两个节点邻接( A i j ≠ 0 A_{ij} \neq 0 Aij??=0),那么我们会认为它们可能共享同一标签。这种假设会限制模型的表达能力,因为图中的边不一定需要编码节点相似性,也可能是其它信息。

2. 图的快速近似卷积

传统的图卷积:
H ( l + 1 ) = σ ( A H ( l ) W ( l ) ) H^{(l+1)}=\sigma(AH^{(l)}W^{(l)}) H(l+1)=σ(AH(l)W(l))
可以发现,节点的状态向量在通过每一层图卷积进行传播时,都乘上了邻接矩阵 A A A,也就是说节点在更新自己状态向量的同时考虑了邻接节点的信息,但并没有考虑到自身的信息,这是因为 A A A的对角线为0(除非节点存在自环)。

本文提出的图卷积传播规则:
在这里插入图片描述
其中 A ~ = A + I N \tilde{A}=A+I_N A~=A+IN?,即邻接矩阵在原有基础上加上一个单位矩阵,也即每一个节点都增加一条指向自己的边; D ~ \tilde{D} D~为加上自环后的度矩阵; W ( l ) W^{(l)} W(l)为层权重矩阵; σ ( ? ) \sigma(\cdot) σ(?)为激活函数,比如ReLU; H ( 0 ) = X H^{(0)}=X H(0)=X,也就是节点特征矩阵;经过多层卷积后,我们得到了最终的 H k H^{k} Hk H k H^{k} Hk即GCN学到的节点的状态向量表示。

可以发现,本文在传统图卷积的基础上做了两点创新:

  1. A ~ = A + I N \tilde{A}=A+I_N A~=A+IN?。每个节点强行加上自环,这样节点的状态向量在向前传播过程中就能考虑到自身的特征信息。
  2. 对加上自环后的邻接矩阵 A ~ \tilde{A} A~进行了归一化: D ~ ? 1 2 A ~ D ~ ? 1 2 \tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}} D~?21?A~D~?21?。归一化后的邻接矩阵每一行的和都为1。

3. 半监督节点分类

有了上述图卷积的传播规则后,半监督节点分类就变得很简单了。比如说我们要分为两类,那么只需要在GCN后加上一个输出为2的全连接层,然后再经过一个Softmax即可。得到输出后再算出交叉熵损失,然后反向传播更新每一层GCN的参数 W W W

比如考虑只有一个隐藏层的简单模型:
在这里插入图片描述
其中 A ^ = D ~ ? 1 2 A ~ D ~ ? 1 2 \hat{A}=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}} A^=D~?21?A~D~?21?,即加上自环然后进行归一化的邻接矩阵; W ( 0 ) W^{(0)} W(0)为从输入到隐藏层的权重矩阵; W ( 1 ) W^{(1)} W(1)为隐藏层到输出层的权重矩阵。

简单来说,我们有:
H ( 1 ) = R e L U ( A ^ X W ( 0 ) ) Z = s o f t m a x ( A ^ H ( 1 ) W ( 1 ) ) \begin{aligned} H^{(1)}&=ReLU(\hat{A}XW^{(0)})\\ Z&=softmax(\hat{A}H^{(1)}W^{(1)}) \end{aligned} H(1)Z?=ReLU(A^XW(0))=softmax(A^H(1)W(1))?

然后我们有交叉熵损失:
在这里插入图片描述
其中 y L y_L yL?为有label的节点索引集。

然后损失函数对神经网络参数 W ( 0 ) W^{(0)} W(0) W ( 1 ) W^{(1)} W(1)求导,梯度下降更新参数,更新后进行新一轮的传播。

等到训练了一定轮数后,我们就可以对未标记的节点标签的类别进行预测了。

4. 实验

数据集
在这里插入图片描述
实验设置:测试集大小为1000个节点,网络采用第三节中提出的双层GCN模型:
在这里插入图片描述
Baseline:标签传播(LP)、半监督嵌入(SemiEmb)、流形正则化(ManiReg)以及DeepWalk。

实验结果
在这里插入图片描述
可以发现,GCN的效果是最好的!

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:47:25  更:2022-03-13 21:48:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 19:32:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码