本文提出了一种可扩展的基于图数据结构的半监督学习方法,该方法基于一个有效的卷积神经网络变形,这种变形能够直接对图进行操作(卷积层变为了图卷积层)。图结构的数据在现实应用中非常常见,比如: Social Networks, Citation Netwoks, Knowledge Graphs等。
图半监督学习的setting是,在给定的图结构的数据中,只有少部分节点是有标记的,大部分节点是未标记的。其任务就是预测出未标记节点的label。本文提出的方法如下
半监督学习方法结构如图所示,这里主要讨论基于图的半监督学习的分类方法
半监督学习:让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能,就是半监督学习(semi-supervised learning)。
分类方法:为达到这一目的存在多种方法。其中分类方法指:在无类标签的样例的帮助下训练有类标 签的样本,获得比只用有类标签的样本训练得到的分类器性能更优的分类器,弥补有类标签的样本不足的缺陷,
基于图的方法:给定一个数据集,我们可将其映射为一个图,数据集中每个样本对应于图中一个结点,若两个样本之间的相似度很高(或相关性很强),则对应结点之间存在一条边,边的“强度”(strength)正比于样本之间的相似度(或相关性)。我们可将有标记样本所对应的结点想象为染过色,而未标记样本所对应的结点尚未染色。于是,半监督学就对应于“颜色”在图上扩散或传播的过程。由于一个图对应了一个矩阵,这使得我们能基于矩阵运算来进行半监督学习算法的推到和分析。图半监督学习方法在概念上相当清晰,且易于通过对所涉矩阵运算的分析来探索算法性质。但此类算法的缺陷也相当明显。首先是在存储开销上,若样本数为O(m),则算法中所涉及的矩阵规模未O(m2),这使得此类算法很难直接处理大规模数据;另一方面,由于构图过程仅能考虑训练样本集,难以判断新样本在图中的位置,因此,在接收到新样本时,或是将其加入原数据集对图进行重构并重新进行标记传播,或是需引入额外的预测机制。
平滑假设
处理该问题时借助基于图的正则化形式将标签信息与图结构数据平滑的结合,其具体操作是在代价函数中加入图形化的拉普拉斯正则项如下式(1)所示:
式(1)的局限性在于它依赖于图中的相连节点有着相同标签这个假设。而实际情况下,图中的边可能并不一定能够反应出节点之间的相似性而可能是一些其他的信息,因此这个假设可能会限制模型的效果。
每一个神经网络层可以写成 H l + 1 = f ( H l , A ) H^{l+1}=f(H^l,A) Hl+1=f(Hl,A)这个模型主要依赖于函数f和参数化的选择,考虑一个简单的例子,这里的f取σ激活函数
文中介绍的其实就是Chebyshev谱CNN ChebNet不过在此基础上讨论了ChebNet的一阶近似方法
具体推导过程可以参考
参考1
参考2
在掌握线性代数及拉普拉斯算子相关知识后比较容易理解
结论如下:
此表达式现在是K-localized,因为它是拉普拉斯算子中的 K t h − K_{th}- Kth−阶多项式,即它仅取决于离中央节点( K t h − K_{th}- Kth−阶邻域)最大 K K K步的节点。式5的复杂度是 O ( ∣ E ∣ ) O(|E|) O(∣E∣),即与边数呈线性关系
结合上述chebyshev谱GCN可以简化:K=1(2个参数的模型)
因此可以通过堆叠多个形式为式5的卷积层来建立基于图卷积的神经网络模型。现在,文中将分层卷积操作限制为K=1(式5),即关于L是线性的,因此在图拉普拉斯谱上具有线性函数。
在GCN的这个线性公式中,作者进一步近似 λ m a x ≈ 2 λ_{max}≈2 λmax≈2 , 可以预测到GCN的参数能够在训练中适应这一变化。根据这些近似,式5简化为:有两个自由参数 θ 0 ′ θ_0^{'} θ0′和 θ 1 ′ θ_1^{'} θ1′。滤波器参数可以被整个图上共享。连续应用这种形式的滤波器,然后有效地卷积节点的kth-阶邻域,其中k是神经网络模型中连续滤波操作或卷积层的数目。
进一步简化:1个参数的模型
实际上,进一步限制参数的数量以解决过拟合并最小化每层的操作数量(例如矩阵乘法)会是有益的。具体来说, 文中令 θ = θ 0 ′ = − θ 1 ′ θ=θ_0^{'}=-θ_1^{'} θ=θ0′=−θ1′
而 I N + D − 1 / 2 A D − 1 / 2 I_N+D^{−1/2}AD^{−1/2} IN+D−1/2AD−1/2是有范围[0,2]的特征值。因此,如果在深度神经网络模型中使用该算子,则反复应用该算子会导致数值不稳定(发散)和梯度爆炸/消失。
为了解决该问题, 引入了一个renormalization trick(归一化技巧):
可以将这个定义推广到具有C个输入通道(即每个节点的C维特征向量)的信号 X ∈ R N × C X∈\mathbb{R}^{N×C} X∈RN×C和 F F F个滤波器或特征映射如下:
其中 Θ ∈ R C × F Θ∈\mathbb{R}^{C×F} Θ∈RC×F是一个滤波器参数矩阵 Z ∈ R N × F Z∈\mathbb{R}^{N×F} Z∈RN×F是卷积信号参数矩阵。
前面介绍了一个简单灵活的可以在图上有效地传播信息模型 f ( X , A ) f(X,A) f(X,A) ,现重新回到半监督节点分类的问题上。
如前言所述,可以通过调整作者的模型 f ( X , A ) f(X,A) f(X,A)来放松通常在基于图的半监督学习中所做的某些假设,此文希望这种设置可以在邻接矩阵种包含信息但数据 X X X没有表现出来的情况下更有用( X X X没有特征,通常输入单位矩阵),例如引用网络中文档之间的引用链接或知识图谱中的关系。整体半监督学习的多层GCN模型
上图中,左(a)是一个GCN网络示意图,在输入层拥有 C C C个输入,中间有若干隐藏层,在输出层有 F F F个特征映射;图的结构(边用黑线表示)在层之间共享;标签用 Y i Y_i Yi 表示.右图(b)是一个两层GCN在Cora数据集上(使用了5%的标签)训练得到的隐藏层激活值的形象化表示,颜色表示文档类别。
接下来,考虑一个两层的半监督节点分类GCN模型,在对称邻接矩阵A(binary or weighted) 上操作。
对于半监督多类别分类,评估所有标记标签的交叉熵误差:
其中, y L y_L yL为带标签的节点集。
神经网络的权重 W ( 0 ) , W ( 1 ) W^{(0)},W^{(1)} W(0),W(1)通过梯度下降来进行训练。
使用完整的数据集对每个训练迭代执行批量梯度下降( batch gradient descent)。只要数据集适合内存,这就是一个可行的选择。
邻接矩阵A使用稀疏表示法,内存需求是O(E),E为边数,即和边数呈线性关系。
通过Dropout引入训练过程中的随机性,将内存效率扩展与小批随机梯度下降(mini-batch stochasticgradient descent) 留作以后的工作。
本篇文章的基础是频域卷积中利用切比雪夫的k阶近似拟合卷积核的公式推导即
这个时候, 可以看这个表达式, 这个卷积的计算只依赖于中心节点的K阶邻居.(K步以内可达的节点). 而且这样定义的滤波器也是稀疏的.
进而可以想是否可以只考虑目标节点周围的邻居结点对其的影响也就是当k=1时的情况且近似 λ m a x ≈ 2 λ_{max}≈2 λmax≈2即可以得到
为了进一步减少参数, 以避免过拟合, 这里进行了进一步简化, 让两个 θ θ θ相反. 也就是令 θ = θ 0 ′ = − θ 1 ′ θ=θ_0^{'}=-θ_1^{'} θ=θ0′=−θ1′这就得到了最终简化后的定义:
通过一阶ChebNet定义的图卷积在空间上是局部的, 这弥补了谱方法与空域方法的差别. 输出的每行表示每个节点通过一个加权集成了自身和相邻节点的信息了的线性转换来获得的潜在表征.
需要强调的是最终表达形式
然而, 一阶ChebNet主要的问题是, 在批量训练过程中,随着1stChebNet层数的增加,计算代价呈指数增长. 最后一层中的每个节点必须在以前的层中递归地扩展其邻域. 一些工作已这对这些问题进行了改进.