5. 图卷积网络

在本章中,我们将讨论图卷积网络(GCNs),其目的是将卷积推广到图域。
由于卷积神经网络(CNNs)在深度学习领域取得了巨大的成功,因此在图上定义卷积运算是非常直观的。
在这个方向上的进展通常分为频谱方法和空间方法
由于在每个方向上都有很大的变化,因此本章仅列出几个经典模型。

5.1 频谱方法

频谱方法使用图的频谱表示形式。在本节中,我们将讨论四种经典模型(Spectral Network、ChebNet、GCN和AGCN)。

5.1.1 频谱网络(SPECTRAL NETWORK)

Bruna等人[2014]提出频谱网络。通过计算图拉普拉斯算子的特征分解,在傅里叶域中定义卷积运算。
可以将运算定义为信号xRN\mathbf{x}\in \mathbb{R}^N(每个节点的标量)与通过θRN\theta\in\mathbb{R}^N参数化的滤波器gθ=diag(θ)\mathbb{g}_{\theta}=diag(\mathbf{\theta})的乘积。

gθx=Ugθ(Λ)UTx(5.1) \mathbf{g}_{\theta} \star \mathbf{x}=\mathbf{U g}_{\theta}(\Lambda) \mathbf{U}^{T} \mathbf{x}\tag{5.1}

其中,U\mathbf{U}是归一化图拉普拉斯算子L=IND12AD12=UΛUT\mathbf{L=I}_N - \mathbf{D}^{-\frac{1}{2}}\mathbf{AD}^{-\frac{1}{2}}=\mathbf{U\Lambda U}^TD\mathbf{D}是度数矩阵,A\mathbf{A}是图的邻接矩阵),其特征值是对角矩阵Λ\Lambda

此操作会导致潜在的密集计算和非空间局部化的过滤器。Henaff等人[2015]试图通过引入具有平滑系数的参数化方式来使频谱滤波器在空间上局部化。

5.1.2 CHEBNET

Hammond等人[201建议gθ(Λ)\mathbf{g}_\theta(\Lambda)可以使用直到KK阶的切比雪夫多项式Tk(x)\mathbf{T}_k(x)来近似。因此,操作为:

gθxk=0KθkTk(L~)x(5.2) \mathbf{g}_{\theta} \star \mathbf{x} \approx \sum_{k=0}^{K} \boldsymbol{\theta}_{k} \mathbf{T}_{k}(\tilde{\mathbf{L}}) \mathbf{x}\tag{5.2}

其中L~=2λmaxLIN\tilde{\mathbf{L}}=\frac{2}{\lambda_{\max }} \mathbf{L}-\mathbf{I}_{N}λmax\lambda_{max}代表L\mathbf{L}的最大特征值。
θRK\theta\in\mathbb{R}^K现在是切比雪夫系数的向量。
切比雪夫多项式定义为Tk(x)=2xTk1(x)Tk2(x)\mathbf{T}_k(x)=\mathbf{2xT_{k-1}(x)-T_{k-2}(x)},其T0(x)=1,T1(x)=x\mathbf{T_0(x)=1,T_1(x)=x}
可以看出,该运算是KK-局部化的,因为它是拉普拉斯红的一个KK阶多项式。

Defferrard等人[2016]提出ChebNet。它使用这个KK-局部卷积来定义卷积神经网络,从而可以消除计算拉普拉斯特征向量的需要。

5.1.3 GCN

Kipf和Wling[2017]将分层卷积运算限制在K=1{K}=1,以缓解结点度分布很宽的图在局部邻域结构上的过拟合问题。
它进一步近似λmax2\lambda_{max}\approx 2,方程简化为:

gθxθ0x+θ1(LIN)x=θ0xθ1D12AD12x(5.3) \mathbf{g}_{\theta^{\prime}} \star \mathbf{x} \approx \theta_{0}^{\prime} \mathbf{x}+\theta_{1}^{\prime}\left(\mathbf{L}-\mathbf{I}_{N}\right) \mathbf{x}=\theta_{0}^{\prime} \mathbf{x}-\theta_{1}^{\prime} \mathbf{D}^{-\frac{1}{2}} \mathbf{A} \mathbf{D}^{-\frac{1}{2}} \mathbf{x} \tag{5.3}

带有两个自由参数θ0,θ1\theta_0^{'},\theta_1^{'}
使用θ=θ0=θ1\theta=\theta_0^{'}=-\theta_1^{'}限制参数数量后,我们可以得到以下表达式:

gθxθ(IN+D12AD12)x(5.4) \mathbf{g}_{\theta} \star \mathbf{x} \approx \theta\left(\mathbf{I}_{N}+\mathbf{D}^{-\frac{1}{2}} \mathbf{A} \mathbf{D}^{-\frac{1}{2}}\right) \mathbf{x}\tag{5.4}

注意,堆叠这个运算可能会导致数值不稳定性和梯度爆炸/消失,Kipf和Wling[2017]引入了重整化技巧:
IN+D12AD12D~12A~D~12\mathbf{I}_N+\mathbf{D}^{-\frac{1}{2}} \mathbf{A} \mathbf{D}^{-\frac{1}{2}} \rightarrow \tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-\frac{1}{2}},其中A~=A+IND~ii=jA~ij\mathbf{\tilde{A}=A+I}_N,\mathbf{\tilde{D}_{ii}}=\sum_{j} \tilde{\mathbf{A}}_{i j}
最后,Kipf和Wling[2017]将定义推广到具有CC个输入通道和FF个特征映射滤波器的信号XRN×C\mathbf{X}\in \mathbb{R}^{N\times C},如下所示:

Z=D~12A~D~12XΘ(5.5) \mathbf{Z}=\tilde{\mathbf{D}}^{-\frac{1}{2}} \tilde{\mathbf{A}} \tilde{\mathbf{D}}^{-\frac{1}{2}} \mathbf{X} \Theta\tag{5.5}

其中,ΘRC×F\Theta\in \mathbb{R}^{C\times F}是滤波器参数矩阵,ZN×F\mathbf{Z}\in \mathbb{N\times F}是卷积信号矩阵。

作为谱方法的简化,GCN模型也可以被归类为我们在第5.2节中列出的空间方法。

5.1.4 AGCN

上述所有模型都使用原始的图结构来表示节点之间的关系。
然而,不同节点之间可能存在隐式关系,因此提出了自适应图卷积网络(AGCN)来学习潜在的关系[Li et al,2018b]。
AGCN学习一个“残差”图拉普拉斯Lres\mathbf{L}_{res},并将其添加到原始拉普拉斯矩阵中:

L^=L+αLres(5.6) \widehat{\mathbf{L}}=\mathbf{L}+\alpha \mathbf{L}_{r e s}\tag{5.6}

其中α\alpha是一个参数。

Lres\mathbf{L}_res是由学习的图邻接矩阵A^\widehat{\mathbf{A}}计算的

Lres=ID^12A^D^12D^=degree(A^)(5.7) \begin{aligned} \mathbf{L}_{r e s} &=\mathbf{I}-\widehat{\mathbf{D}}^{-\frac{1}{2}} \widehat{\mathbf{A}} \widehat{\mathbf{D}}^{-\frac{1}{2}} \\ \widehat{\mathbf{D}} &=\operatorname{degree}(\widehat{\mathbf{A}}) \end{aligned}\tag{5.7}

其中A^\widehat{\mathbf{A}}是通过学习度量(指标)计算的。
自适应度量的思想是欧几里德距离不适合于图结构数据,度量应该适应任务和输入特征。
AGCN使用广义马氏距离:

D(xi,xj)=(xixj)TM(xixj)(5.8) D\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right)=\sqrt{\left(\mathbf{x}_{i}-\mathbf{x}_{j}\right)^{T} \mathbf{M}\left(\mathbf{x}_{i}-\mathbf{x}_{j}\right)}\tag{5.8}

其中,M\mathbf{M}是满足M=WdWdT\mathbf{M}=\mathbf{W}_d\mathbf{W}_d^T的学习参数。
Wd\mathbf{W}_d是自适应空间的变换基。
然后,AGCN计算高斯核,对G{G}进行归一化,得到稠密邻接矩阵A^\widehat{\mathbf{A}}

Gxi,xj=exp(D(xi,xj)/(2σ2))(5.9) G_{x_{i}, x_{j}}=\exp \left(-D\left(\mathbf{x}_{i}, \mathbf{x}_{j}\right) /\left(2 \sigma^{2}\right)\right)\tag{5.9}

5.2 空间方法

在上述所有频谱方法中,学习到的滤波器都依赖于拉普拉斯特征根,后者依赖于图结构。
这意味着在特定结构上训练的模型不能直接应用于具有不同结构的图。

相反,空间方法直接在图上定义卷积,并在空间上相邻的邻居上进行运算。空间方法的主要挑战是用不同大小的邻域定义卷积运算并保持CNN的局部不变性。

5.2.1 NEURAL FPS

Duvenaud等人[2015]对具有不同度的节点使用不同的权重矩阵,

x=hvt1+i=1Nvhit1hvt=σ(xWtNv)(5.10) \begin{aligned} \mathbf{x} &=\mathbf{h}_{v}^{t-1}+\sum_{i=1}^{\left|N_{v}\right|} \mathbf{h}_{i}^{t-1} \\ \mathbf{h}_{v}^{t} &=\sigma\left(\mathbf{x} \mathbf{W}_{t}^{\left|N_{v}\right|}\right) \end{aligned}\tag{5.10}

其中,WtNv\mathbf{W_t^{|N_v|}}是在第tt层具有NvN_v个度的节点的权重矩阵,
NvN_v表示节点vv的邻居集合,hvt\mathbf{h}_v^t是节点vv在第tt层的嵌入。
从方程中我们可以看到,模型首先将自身及其邻居的嵌入相加,然后使用WtNv\mathbf{W_t^{|N_v|}}进行变换。
模型为不同度数的节点定义了不同的矩阵WtNv\mathbf{W_t^{|N_v|}}
该方法的主要缺点是不能适用于结点度较多的大规模图。

5.2.2 PATCHY-SAN

Patchy-SAN模型[Niepert等人,2016]首先为每个节点选择并归一化确定的k个邻居。
然后利用归一化邻域作为接收域,应用卷积运算。具体来说,该方法有四个步骤。

节点序列的选择 此方法不处理图中的所有节点。
相反,它选择一个节点序列进行处理。该算法首先利用图的标注过程得到节点的顺序,并得到节点的序列。
然后该方法使用步长ss从序列中选举节点,直到选择了多个ww节点。

邻居集合 在此步骤中,构造上一步中选择的节点的接受域。每个节点的邻居都是候选节点,该模型使用简单的广度优先搜索来收集每个节点的kk个邻居。
它首先提取节点的1跳邻居,然后考虑高阶邻居,直到提取出总共kk个邻居。

图规范化(normalization) 在这个步骤中,算法的目标是给接受域的一个顺序,这样在这个步骤中就从无序的图空间映射到向量空间。
这是最重要的一步,这一步背后的思想是,如果两个不同的图节点具有相似的结构角色,则为它们分配相似的相对位置。
该算法的更多细节可以在Niepert等人的文章中找到[2016]。

卷积结构 在最后一步中对接受域进行规范化之后,就可以使用CNN架构了。
归一化领域作为接受域,节点和边属性作为通道。

这个模型的图解可以在图5.1中找到。该方法试图将图学习问题转化为传统的欧几里得数据学习问题。

Introduction to Graph Neural Network翻译-第五章 图卷积网络

5.2.3 DCNN

Atwood和Towsley[2016]提出了扩散-卷积神经网络(DCNNs)。转移矩阵用于定义DCNN中节点的邻域。对于节点分类,它有:

H=σ(WcPX)(5.11) \mathbf{H}=\sigma\left(\mathbf{W}^{c} \odot \mathbf{P}^{*} \mathbf{X}\right) \tag{5.11}

其中X\mathbf{X}是输入特征的N×F\mathbf{N} \times \mathbf{F}张量(NN是节点数,FF是特征数)。

P\mathbf{P}^*N×K×NN \times K \times N维的张量,它包含矩阵P\mathbf{P}的幂级数P,P2,...,pK{\mathbf{P,P^2,...,p^K}}

P\mathbf{P}是图邻接矩阵A\mathbf{A}的度归一化转移矩阵。
每个实体被变换成扩散卷积表示,该扩散卷积表示是由在F\mathbf{F}个特征上的图扩散的K\mathbf{K}跳定义的K×F\mathbf{K \times F}矩阵。

然后它将由一个K×FK \times F维权重矩阵和非线性**函数σ\sigma来定义。
最终,H\mathbf{H}(N×K×FN\times K \times F)表示图中每个节点的扩散表示。

对于图分类,DCNN\mathbf{DCNN}简单地取节点表示的平均值,

H=σ(Wc1NTPX/N)(5.12) \mathbf{H}=\sigma\left(\mathbf{W}^{c} \odot 1_{N}^{T} \mathbf{P}^{*} \mathbf{X} / N\right) \tag{5.12}

其中1N1_NN×1N\times 1维的值为1的向量。DCNNDCNN还可以应用于边分类任务,这需要边转为节点,并扩充邻接矩阵。

5.2.4 DGCN

庄和马[2018]提出了双重图卷积网络(dual graph convolutional network, DGCN),联合考虑图的局部一致性和全局一致性。
该算法使用两个卷积网络来捕捉局部/全局一致性,并采用无监督损失对其进行集成。第一个卷积网络与Eq.(5.5)相同。并且第二网络将邻接矩阵替换为正的逐点互信息(PPMI)矩阵:

H=σ(DP12XPDP12HΘ)(5.13) \mathbf{H}^{\prime}=\sigma\left(\mathbf{D}_{P}^{-\frac{1}{2}} \mathbf{X}_{P} \mathbf{D}_{P}^{-\frac{1}{2}} \mathbf{H} \Theta\right) \tag{5.13}

其中XP\mathbf{X}_{P}是PPMI矩阵,DP\mathbf{D}_{P}XP\mathbf{X}_{P}的对角度矩阵,σ\sigma是非线性**函数。

联合使用这两种观点的动机是:(1)Eq.(5.5)对局部一致性进行建模,表明附近节点可能有相似的标签;(2)Eq.(5.13)对全局一致性进行建模,假设具有相似上下文的节点可能有相似的标签。
局部一致性卷积核全局一致性卷积分别称为ConvAConv_AConvPConv_P

庄和马[2018]通过最终损失函数进一步集成了这两个卷积。它可以写成:

L=L0(ConvA)+λ(t)Lreg(ConvA,ConvP)(5.14) L=L_{0}\left(\text {Conv}_{A}\right)+\lambda(t) L_{\text {reg}}\left(\text {Conv}_{A}, \text {Conv}_{P}\right)\tag{5.14}

λ(t)\lambda(t)是平衡这两个损失函数重要性的动态权重。L0(ConvA)L_0(Conv_A)是具有节点标签的监督损失函数。
如果我们有cc个不同的标签要预测,则ZAZ^A代表ConvAConv_A的输出矩阵,Z^A\hat{Z}^A代表经过softmax运算后的ZAZ^A的输出,那么交叉熵误差的损失L0(ConvA)L_0(Conv_A)可以写成:

L0( Conv A)=1yLlyLi=1cYl,iln(Z^l,iA)(5.15) L_{0}\left(\text { Conv }_{A}\right)=-\frac{1}{\left|y_{L}\right|} \sum_{l \in y_{L}} \sum_{i=1}^{c} Y_{l, i} \ln \left(\widehat{Z}_{l, i}^{A}\right) \tag{5.15}

其中,yLy_L是训练数据索引集合,YY是基本事实。

LregL_{reg}的计算可以写成:

Lreg(ConvA,ConvP)=1ni=1nZ^i,:PZ^i,:A2(5.16) L_{r e g}\left(C o n v_{A}, C o n v_{P}\right)=\frac{1}{n} \sum_{i=1}^{n}\left\|\widehat{Z}_{i,:}^{P}-\widehat{Z}_{i,:}^{A}\right\|^{2} \tag{5.16}

其中,Z^P\widehat{Z}^P代表softmax操作之后的 ConvPConv_P的输出。因此,
Lreg(ConvA,ConvP)L_{reg}(Conv_A,Conv_P)是用来衡量Z^P\widehat{Z}^PZ^A\widehat{Z}^A之间差异的非监督损失函数。因此,此模型的体系结构如图5.2所示。

Introduction to Graph Neural Network翻译-第五章 图卷积网络

5.2.5 LGCN

高等人[2018]提出了可学习图卷积网络(LGCN)。该网络基于可学习图卷积层(LGCL)和子图训练策略。在本节中,我们将给出可学习图卷积层的详细信息。

LGCL利用CNN作为聚合器。该算法对节点的领域矩阵进行max pooling,
得到top-k个特征元素,然后应用一维CNN计算隐藏表示。LGCLLGCL的传播步骤如下:

H^t=g(Ht,A,k)Ht+1=c(H^t)(5.17) \begin{aligned} \widehat{H}_{t} &=g\left(H_{t}, A, k\right) \\ H_{t+1} &=c\left(\widehat{H}_{t}\right) \end{aligned} \tag{5.17}

其中AA是邻接矩阵,g()g(\cdot)是选择前kk个最大节点操作,c()c(\cdot)代表常规的1-D CNN\text{1-D CNN}

该模型使用选择前kk个最大节点的操作来收集每个节点的信息。对于给定的节点xx
首先收集其领域的特征,假设它有nn个领域,每个节点有cc个特征,则得到一个矩阵MRn×cM \in \mathbb{R}^{n \times c}
如果nn小于kk,则用零填充序列MM
然后进行最大kk个节点选择,对每列中的值进行排序,选择前kk个值。
然后,将节点xx的嵌入插入到矩阵的第一行,最后得到一个矩阵M^R(k+1)×c\widehat{M}\in \mathbb{R}^{(k+1)\times c}

在得到矩阵M^\widehat{M}后,该模型使用常规的一维CNN对特征进行聚合。
函数c()c(\cdot)应该接收形状为N×(k+1)×CN \times (k+1) \times C的矩阵作为输入,并输出形状为N×DN\times DN×1×DN \times 1 \times D的矩阵。图5.3给出了LGCL\text{LGCL}的一个示例。

Introduction to Graph Neural Network翻译-第五章 图卷积网络

5.2.6 MONET

Monti 等人[2017]提出了一个关于非欧几里德域的空间域模型(MoNet) ,它可以推广以前的一些技术。关于流形Geodesic CNN (GCNN)
,Anisotropic CNN (ACNN)与 Gcn [ Kipf and Welling,2017]和 DCNN [ Atwood and Towsley,2016]关于图形的研究可以作为 MoNet 的特殊例子。

我们使用xx表示图中的节点,用yNxy\in N_x表示xx的邻居节点。
MoNet\text{MoNet}模型计算节点与其邻居之间的pseudocoordinates  u(x,y)pseudo-coordinates \;\mathbf{u}(x,y)并且在这些坐标中使用加权函数:

Dj(x)f=yNxwj(u(x,y))f(y)(5.18) D_{j}(x) f=\sum_{y \in N_{x}} w_{j}(\mathbf{u}(x, y)) f(y) \tag{5.18}

Introduction to Graph Neural Network翻译-第五章 图卷积网络

其中参数是wΘ(u)=(w1(u),,wJ(u))\mathbf{w}_{\Theta}(\mathbf{u})=\left(w_{1}(\mathbf{u}), \ldots, w_{J}(\mathbf{u})\right)JJ
表示所提取的patch的大小。

然后,将非欧几里德区域上的卷积的空间推广定义为:

(fg)(x)=j=1JgjDj(x)f(5.19) (f \star g)(x)=\sum_{j=1}^{J} g_{j} D_{j}(x) f\tag{5.19}

其它方法可以看作是具有不同坐标u\mathbf{u}和权函数w(u)\mathbf{w(u)}的特例。由于我们只关注图的深度学习,我们在表5.1中列出了一些设置。更多细节可以在原文中找到。

5.2.7 GRAPHSAGE

Hamilton 等人[2017b ]提出了 GraphSAGE,一种通用的归纳框架。该框架通过对节点本地邻居的特征进行采样和聚合来生成嵌入。GraphSAGE的传播步骤是:

hNvt=AGGREGATEt({hut1,uNv})hvt=σ(Wt[hvt1hNvt])(5.20)\begin{aligned} \mathbf{h}_{N v}^{t} &=\mathrm{AGGREGATE}_{t}\left(\left\{\mathbf{h}_{u}^{t-1}, \forall u \in N_{v}\right\}\right) \\ \mathbf{h}_{v}^{t} &=\sigma\left(\mathbf{W}^{t} \cdot\left[\mathbf{h}_{v}^{t-1} \| \mathbf{h}_{N_{v}}^{t}\right]\right) \end{aligned}\tag{5.20}

其中Wt\mathbf{W}^t是第tt层的参数。

然而,Hamilton等人没有利用等式(5.20)中的全套邻居,而是通过均匀抽样的一组固定大小的邻居集合。聚合函数可以有多种形式。
Hamilton等人[2017b]建议三个聚合器函数。

Mean aggregator

它可以被视为来自转导GCN框架的卷积运算的近似[Kipf和Well,2017],因此可以通过以下公式导出GCN变体的归纳版本

hvt=σ(WMEAN({hvt1}{hut1,uNv})(5.21) \mathbf{h}_{v}^{t}=\sigma\left(\mathbf{W} \cdot \operatorname{MEAN}\left(\left\{\mathbf{h}_{v}^{t-1}\right\} \cup\left\{\mathbf{h}_{u}^{t-1}, \forall u \in N_{v}\right\}\right)\right. \tag{5.21}

平均聚合器与其他聚合器不同,因为它不执行连接操作例如公式(5.20)中
连接hvt1,hNvt\mathbf{h}_v^{t-1},\mathbf{h}_{N_v}^t
它可以被看作是一种“跳跃连接”的形式[He et al., 2016b],可以获得更好的性能。

LSTM aggregator

Hamilton等人[2017b]也使用了基于lstm的具有更大表达能力的聚合器。
但是,LSTMs以顺序方式处理输入,因此它们不是排列不变的。
Hamilton等人[2017b]通过改变节点的邻居,使LSTMs对无序集进行操作。

Pooling aggregator.

在池聚合器中,每个邻居的隐藏状态通过一个全连接层进行反馈,然后对节点的邻居集应用max-pooling操作:

hNvt=max({σ(Wpool hut1+b),uNv})(5.22) \mathbf{h}_{N_{v}}^{t}=\max \left(\left\{\sigma\left(\mathbf{W}_{\text {pool }} \mathbf{h}_{u}^{t-1}+\mathbf{b}\right), \forall u \in N_{v}\right\}\right)\tag{5.22}

注意,任何对称函数都可以用来替代这里的max-pooling操作。

为了学习更好的表示,GraphSAGE进一步提出了一种无监督损失函数,该函数鼓励附近节点具有相似的表示,而远端节点具有不同的表示:

JG(zu)=log(σ(zuTzv))QEvnPn(v)log(σ(zuTzvn))(5.23) J_{G}\left(\mathbf{z}_{u}\right)=-\log \left(\sigma\left(\mathbf{z}_{u}^{T} \mathbf{z}_{v}\right)\right)-Q \cdot E_{v_{n} \sim P_{n}(v)} \log \left(\sigma\left(-\mathbf{z}_{u}^{T} \mathbf{z}_{v_{n}}\right)\right) \tag{5.23}

其中,vv是节点uu的邻居,并且PnP_n是负采样分布。QQ是负样本的数量。

相关文章: