Stable-ChebNet稳定图卷积网络

概述

Stable-ChebNet是NeurIPS 2025提出的图神经网络改进方法,通过将ChebNet转换为稳定非耗散动力学系统来解决训练不稳定性问题。1

ChebNet是最早的谱域图神经网络之一,在长距离依赖建模上具有独特优势,但其多项式展开会导致训练不稳定。Stable-ChebNet通过控制动力学系统确保信息稳定传播,同时保持ChebNet的长距离建模能力。

背景:ChebNet及其问题

ChebNet基础

ChebNet使用Chebyshev多项式逼近谱域滤波器:

其中 是Chebyshev多项式, 是缩放后的拉普拉斯特征值。

ChebNet的优势

特性Message Passing GNNChebNet
长距离依赖受跳数限制K阶多项式直接捕获
谱域设计有理论基础
可解释性
计算效率

ChebNet的训练不稳定问题

ChebNet的多项式展开面临不稳定区间问题:

  1. 高阶多项式振荡:高阶Chebyshev多项式在特征值边界附近剧烈振荡
  2. 梯度爆炸:深层ChebNet的梯度在训练后期爆炸
  3. 信息耗散:信号经过多次多项式变换后失真

核心方法

动力学系统视角

Stable-ChebNet将图卷积重新解释为非耗散动力学系统

其中 是图拉普拉斯算子, 是节点表示的时间演化。

稳定性条件

对于离散化系统 ,稳定性要求:

其中 是谱半径。

Stable-ChebNet通过设计特定的卷积核满足此条件。

形式化定义

class StableChebConv(nn.Module):
    """
    稳定ChebNet卷积:通过控制动力学系统确保稳定传播
    """
    def __init__(self, in_channels, out_channels, K=3):
        super().__init__()
        self.K = K
        self.in_channels = in_channels
        self.out_channels = out_channels
        
        # 稳定的多项式系数约束
        # 使用参数化确保谱半径 ≤ 1
        self.theta = nn.Parameter(torch.ones(K))
        
        # Chebyshev多项式辅助参数
        self.tau = nn.Parameter(torch.tensor(0.5))
        
    def forward(self, x, edge_index, edge_weight=None):
        """
        x: [N, in_channels] - 节点特征
        edge_index: [2, E] - 边索引
        edge_weight: [E] - 边权重
        """
        N = x.shape[0]
        
        # 计算归一化拉普拉斯
        adj = self._get_adjacency(edge_index, edge_weight, N)
        D = torch.diag(adj.sum(dim=1))
        L = D - adj  # 未归一化拉普拉斯
        
        # 缩放拉普拉斯到[-1, 1]范围
        lambda_max = torch.linalg.eigvalsh(L).max()
        L_scaled = 2 * L / lambda_max - torch.eye(N, device=L.device)
        
        # Chebyshev多项式递归
        cheb_features = self._chebyshev_polynomial(x, L_scaled)
        
        # 稳定加权和
        out = sum(self._stabilize_coeff(k) * cheb_features[k] 
                  for k in range(self.K))
        
        # 输出投影
        return self._project(out)
    
    def _chebyshev_polynomial(self, x, L):
        """计算Chebyshev多项式特征"""
        x_0 = x
        x_1 = L @ x
        
        features = [x_0]
        if self.K > 1:
            features.append(x_1)
        
        # 递归计算高阶项:T_k(x) = 2x*T_{k-1}(x) - T_{k-2}(x)
        for k in range(2, self.K):
            x_k = 2 * L @ x_1 - x_0
            features.append(x_k)
            x_0, x_1 = x_1, x_k
        
        return features
    
    def _stabilize_coeff(self, k):
        """
        关键:稳定化系数参数化
        确保谱半径 ≤ 1
        """
        # 使用tanh限制系数在(-1, 1)范围
        raw_theta = self.theta[k]
        
        # 应用稳定性约束
        # 对于k阶项,使用更小的系数
        max_coeff = 1.0 / (k + 1)
        stabilized = torch.tanh(raw_theta) * max_coeff
        
        return stabilized

稳定性理论保证

定理:对于上述稳定化参数化,卷积操作的谱半径满足:

可控动力学

Stable-ChebNet引入可控动力学参数

class ControllableStableConv(nn.Module):
    """
    可控稳定卷积:支持动态调整信息传播特性
    """
    def __init__(self, in_channels, out_channels, K=3):
        super().__init__()
        self.base_conv = StableChebConv(in_channels, out_channels, K)
        
        # 可控动力学参数
        self.tau = nn.Parameter(torch.tensor(1.0))  # 信息保留率
        self.gamma = nn.Parameter(torch.tensor(0.0))  # 扩散率
        
    def forward(self, x, edge_index, edge_weight=None):
        # 基础稳定卷积
        base_out = self.base_conv(x, edge_index, edge_weight)
        
        # 可控动力学调整
        # tau > 1: 增强长距离信息
        # tau < 1: 增强局部信息
        adjusted_out = self.tau * base_out + self.gamma * x
        
        return adjusted_out

理论分析

稳定性与表达力的权衡

配置稳定性长距离能力局部精度
标准ChebNet
截断ChebNet
Stable-ChebNet

信息传播分析

Stable-ChebNet的信息传播特性:

  • 长程连接:K阶多项式直接连接K跳邻居
  • 稳定衰减:信号强度随距离稳定衰减
  • 无耗散:关键信息在传播过程中不失真

实验结果

长距离图基准

方法PascalVOC-SPCOCO-SPPeerRead
GCN52.343.158.2
GAT54.144.859.7
GraphFormer61.251.365.4
标准ChebNet58.448.262.1
Stable-ChebNet63.853.767.2

Stable-ChebNet在长距离任务上显著超越基线。

训练稳定性

指标标准ChebNetStable-ChebNet
梯度范数(训练末)15.31.2
损失方差0.0890.012
收敛epoch数8952

可扩展性

图规模节点数Stable-ChebNet时间标准方法时间
小图<10K基准基准
中图10K-1M1.2×1.0×
大图>1M1.5×不可行

与其他方法的对比

方法长距离能力稳定性实现复杂度
Message Passing受限
Graph Transformer
标准ChebNet
Stable-ChebNet

应用场景

  1. 分子性质预测:需要捕获原子间长距离相互作用
  2. 代码理解:变量引用可能跨越长距离
  3. 知识图谱:实体关系可能需要多跳推理
  4. 社交网络:远距离用户的影响力分析

参考资料

相关链接

Footnotes

  1. Hariri et al. “Return of ChebNet: Understanding and Improving an Overlooked GNN on Long Range Tasks” NeurIPS 2025