图卷积(4)——谱域图卷积(3)

本文深入探讨了三种谱域图卷积网络——SCNN、ChebNet和GCN。SCNN利用可学习的对角矩阵进行图卷积,但参数量大且计算复杂度高。ChebNet通过切比雪夫多项式减少参数量和计算复杂度,而GCN进一步简化,仅用一阶切比雪夫多项式,有效降低了模型复杂性。GCN通过renormalization trick解决了数值稳定性问题,适合大规模图数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图卷积(4)——谱域图卷积(3)

介绍三种谱域图卷积网络——SCNN、ChebNet和GCN。三者均是以下式子的特例:
x ⋆ G g θ = U g θ U T x = U ( g ^ ( λ 1 ) ⋱ g ^ ( λ n ) ) ( x ^ ( λ 1 ) x ^ ( λ 2 ) ⋮ x ^ ( λ n ) ) x \star_{G} g_{\theta}=U g_{\theta} U^{T} x=U\left(\begin{array}{ccc} \hat{g}\left(\lambda_{1}\right) & & \\ & \ddots & \\ & & \hat{g}\left(\lambda_{n}\right) \end{array}\right)\left(\begin{array}{c} \hat{x}\left(\lambda_{1}\right) \\ \hat{x}\left(\lambda_{2}\right) \\ \vdots \\ \hat{x}\left(\lambda_{n}\right) \end{array}\right) xGgθ=UgθUTx=Ug^(λ1)g^(λn)x^(λ1)x^(λ2)x^(λn)
假设一层图卷积的输入为 X ∈ R n × C X \in \mathbb{R}^{n \times C} XRn×C,输出便为 Y ∈ R n × F Y \in \mathbb{R}^{n \times F} YRn×F n n n代表图中的 n n n个节点, C C C代表每个节点有 C C C个通道。每一次图卷积,变化的是每个节点信号的通道数(比如这里写的 C C C F F F),不变的是 n n n个节点的连接方式。

SCNN

出自论文Spectral networks and locally connected networks on graphs,中心思想是用可以学习的对角矩阵代替谱域的卷积核。具体公式定义如下:
x k + 1 , j = h ( U ∑ i = 1 C k − 1 F k , i , j U T x k , i ) ( j = 1 ⋯ C k ) F k , i , j = ( θ 1 ⋱ θ n ) x_{k+1, j}=h\left(U \sum_{i=1}^{C_{k-1}} F_{k, i, j} U^{T} x_{k, i}\right)\left(j=1 \cdots C_{k}\right) \quad F_{k, i, j}=\left(\begin{array}{lll} \theta_{1} & \\ & \ddots \\ & & \theta_{n} \end{array}\right) xk+1,j=h(Ui=1Ck1Fk,i,jUTxk,i)(j=1Ck)Fk,i,j=θ1θn
其中(老样子,式子介绍了), C k C_k Ck是第 k k k层的通道个数, x k , i ∈ R n x_{k,i} \in \mathbb{R}^{n} xk,iRn代表第 k k k层的第 i i i个通道的特征图, F k , i , j ∈ R n × n F_{k,i,j}\in \mathbb{R}^{n \times n} Fk,i,jRn×n代表参数化的谱域图卷积的卷积核矩阵,是一个对角矩阵,包含了 n n n个可学习的参数, h ( ⋅ ) h(\cdot) h()为激活函数。
当输入和输出通道数都为1时,上述公式便简化为以下式子,便于理解
x k + 1 = h ( U F k U T x k ) x_{k+1} = h(UF_kU^Tx_k) xk+1=h(UFkUTxk)
U T x k U^Tx_k UTxk表是从空域到谱域, F k U T x k F_kU^Tx_k FkUTxk表示对每一个“频率分量”放大或者缩小,最后 U F k U T x k UF_kU^Tx_k UFkUTxk表示从谱域到空域。

SCNN的缺点

  1. 从上述公式可以看出, F F F的参数量为 k × i × j × n k \times i \times j \times n k×i×j×n,参数复杂度过大,计算复杂度为 O ( n ) O(n) O(n),当节点数 n n n过多时容易过拟合;
  2. 计算拉普拉斯矩阵的特征值分解十分耗时,计算复杂度为 O ( n 3 ) O(n^{3}) O(n3),当面临社交网络这种节点数达到上百万的情况时,计算消耗过于庞大;
  3. 无法保证局部连接;

ChebNet

为了解决SCNN计算复杂度过高的问题,ChebNet采用了Chebyshev(切比雪夫)多项式来代替谱域的卷积核。论文地址:Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering

Chebyshev多项式

切比雪夫多项式在逼近理论中有重要的应用,可用于多项式插值。具体形式如下:
T 0 ( x ) = 1 T 1 ( x ) = x T n + 1 ( x ) = 2 x T n ( x ) − T n − 1 ( x ) \begin{aligned} T_0(x) &= 1 \\ T_1(x) &= x \\ T_{n+1}(x) &= 2xT_n(x) - T_{n-1}(x) \end{aligned} T0(x)T1(x)Tn+1(x)=1=x=2xTn(x)Tn1(x)
那对于矩阵来说,只需切比雪夫多项式中第一项的1改为 I I I x x x改为矩阵 L L L即可。

理解ChebNet

将谱域图卷积核换成切比雪夫多项式,原用的对角矩阵定义为 g θ = diag ⁡ ( U T g ) g_{\theta}=\operatorname{diag}\left(U^{T} g\right) gθ=diag(UTg),那么我们定义 Λ ^ = 2 λ max ⁡ − I n \hat{\Lambda}=\frac{2}{\lambda_{\max }}-I_{n} Λ^=λmax2In,则 g θ ( Λ ) = ∑ k = 0 K β k T k ( Λ ^ ) g_{\theta}(\Lambda)=\sum_{k=0}^{K} \beta_{k} T_{k}(\hat{\Lambda}) gθ(Λ)=k=0KβkTk(Λ^),那么图卷积操作便可以化简为:
x ⋆ G g θ = U g θ U T x = U ∑ k = 0 K β k T k ( Λ ^ ) U T x = ∑ k = 0 K β k T k ( U Λ ^ U T ) x = ∑ k = 0 K β k T k ( L ^ ) x \begin{aligned} x \star_{G}g_{\theta} &= Ug_{\theta}U^Tx \\ &=U \sum_{k=0}^{K} \beta_{k} T_{k}(\hat{\Lambda}) U^{T}x \\ &= \sum_{k=0}^{K} \beta_{k} T_{k}\left(U \hat{\Lambda} U^{T}\right) x \\ &= \sum_{k=0}^{K} \beta_{k} T_{k}\left( \hat{L} \right) x \end{aligned} xGgθ=UgθUTx=Uk=0KβkTk(Λ^)UTx=k=0KβkTk(UΛ^UT)x=k=0KβkTk(L^)x
第二行到第三行推导过程略,如果是大佬可以自行推导。.这样一来,我们便不再需要对拉普拉斯矩阵进行特征分解获得其特征向量了,可以直接使用拉普拉斯矩阵

ChebNet特点

  1. 卷积核中只有参数 β k \beta_k βk需要学习,一共 k + 1 k+1 k+1个参数,大大减少了参数量;
  2. 采用切比雪夫多项式代替谱域图卷积的卷积核后,不需要再对拉普拉斯矩阵进行特征分解,省略了最耗时的步骤;
  3. 卷积核有了严格的空间局限性, k k k就是卷积核的“感受野半径”,即将距离中心节点 k k k个节点作为邻域节点( k = 1 k=1 k=1时便相当于普通的 3 × 3 3\times3 3×3卷积,邻域为1);

GCN

GCN,出自论文Semi-Supervised Classification With Graoh Convolutional Networks,可以视为对ChebNet的进一步简化,GCN仅仅考虑1阶切比雪夫多项式的情况:
T 0 ( L ^ ) = I , T 1 ( L ^ ) = L ^ L ^ = 2 λ max ⁡ L − I n λ max ⁡ = 2 L = I n − D − 1 / 2 W D − 1 / 2 \begin{aligned} T_0(\hat{L}&)=I, T_1(\hat{L})=\hat{L} \\ \hat{L}&=\frac{2}{\lambda_{\max }} L-I_{n} \\ \lambda&_{\max} = 2 \\ L=I_n-&D^{-1/2}WD^{-1/2} \end{aligned} T0(L^L^λL=In)=I,T1(L^)=L^=λmax2LInmax=2D1/2WD1/2
那么图卷积操作便可以写为:
x ⋆ G g θ = ∑ k = 0 K β k T k ( L ^ ) x = ∑ k = 0 1 β k T k ( L ^ ) x = β 0 T 0 ( L ^ ) x + β 1 T 1 ( L ^ ) x = ( β 0 + β 1 L ^ ) x = ( β 0 + β 1 ( L − I n ) ) x = ( β 0 − β 1 ( D − 1 / 2 W D − 1 / 2 ) ) x \begin{aligned} x \star_{G}g_{\theta} &= \sum_{k=0}^{K} \beta_{k} T_{k}\left( \hat{L} \right) x = \sum_{k=0}^{1} \beta_{k} T_{k}\left( \hat{L} \right) x \\ &= \beta_0T_0(\hat{L})x + \beta_1T_1(\hat{L})x \\ &= (\beta_0+\beta_1\hat{L})x \\ &= (\beta_0+\beta_1(L-I_n))x \\ &= (\beta_0-\beta_1(D^{-1/2}WD^{-1/2}))x \end{aligned} xGgθ=k=0KβkTk(L^)x=k=01βkTk(L^)x=β0T0(L^)x+β1T1(L^)x=(β0+β1L^)x=(β0+β1(LIn))x=(β0β1(D1/2WD1/2))x
进一步简化,令 β 0 = − β 1 = θ \beta_0=-\beta_1=\theta β0=β1=θ,这样使得每个卷积核需要学习的参数只有一个,那么此时图卷积操作的公式为: x ⋆ G g θ = ( θ ( D − 1 / 2 W D − 1 / 2 + I n ) ) x x \star_{G} g_{\theta}=\left(\theta\left(D^{-1 / 2} W D^{-1 / 2}+I_{n}\right)\right) x xGgθ=(θ(D1/2WD1/2+In))x
由于 D − 1 / 2 W D − 1 / 2 + I n D^{-1 / 2} W D^{-1 / 2}+I_{n} D1/2WD1/2+In的特征值范围在 [ 0 , 2 ] [0,2] [0,2],如果在深度神经网络中使用该算子,那么在经过很多层的梯度反传之后,会导致数值发散和梯度弥散/爆炸。原文中,为了解决该问题,作者提出了一个renormalization trick。作者定义了一个新的邻接矩阵 W ~ = W + I n \tilde{W}=W+I_n W~=W+In,新的度矩阵便为 D ^ = ∑ i W ~ i j \hat{D}=\sum_{i} \tilde{W}_{i j} D^=iW~ij。那么最终的图卷积操作的公式为: x ⋆ G g θ = θ ( D ~ − 1 / 2 W ~ D ~ − 1 / 2 ) x x \star_{G} g_{\theta}=\theta\left(\tilde{D}^{-1 / 2} \tilde{W} \tilde{D}^{-1 / 2}\right) x xGgθ=θ(D~1/2W~D~1/2)x
关于GCN的思考:

  1. 在忽略输入和输出通道的情况下,一个卷积核需要学习的参数只有一个 θ \theta θ,极大程度上减少了参数量;
  2. 虽然卷积核减小了(GCN采用 k = 1 k=1 k=1时的切比雪夫多项式,邻域大小为1,相对于 3 × 3 3\times3 3×3的普通卷积),但论文作者认为可以通过堆叠多层GCN来扩大感受野;
  3. 将一层GCN类比到图像当中,相对于一个 3 × 3 3\times3 3×3的卷积核只有一个参数,虽然模型参数量极大程度减小了,但模型的能力也被削弱,可能难以学习一些复杂的任务;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值