ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks

1. Dirichlet Energy Constrained Learning

1.1 dirichlet energy

归一化拉普拉斯矩阵+ 归一化邻接矩阵
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第1张图片
通过拉普拉斯矩阵和特征矩阵的形式求得 节点与节点之间 特征的差值:谱图理论书中第一节 就有相关的定义,reyleigh 熵和 二次型的样子。实质就是拉普拉斯矩阵的性质。
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第2张图片
指出: 小的 迪利克雷能量 表明节点很相似,over-smoothing。大的 表明 over-separating,有可能相同类别的 节点都 变得很远。 当层数变多,这个能量上界收敛到0.

1.2 松弛分析

首先本文 沿着 SGC,去掉了 非线性。
lemma1 表明: 能量的上下界 和 拉普拉斯矩阵的 特征值有关。同时 参数矩阵 Wk的 最小和最大 奇异值 也有一定给 关系
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第3张图片
lemma2
先 松弛 下界。 真实的图拉普拉斯矩阵的 特征值[0,2) 之间,上界λ0=0时,下界的λ1=1时,lemma1 松弛到lemma2
通过经验表明 当采用 glort初始化和l2正则,在深层gcn中 Wk趋近于0,因此相应的 奇异值 也趋近于0。 相反,如果没有l2和初始化,则 smax过大,导致 over-separating。
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第4张图片

1.3 约束

在这里插入图片描述
先通过linear转化最开始的X获得 X0
下界: c min,(0,1)。选择合适的cmin 满足大于0,且k层的E大于最开始X0层的E, 即 :E(X(k)) ≥ ckminE(X(0)) > 0. (使得所有层的能量都大于cmin,从而不会过平滑)
上界:c max (0,1]。 避免 相同类 有很大的 E, 避免过分开

优化目标:
交叉熵+ W的范数 约束 + 能量约束 条件
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第5张图片
此方程的求解是 non-trivial的,求得X的E是 很昂贵的,许多的约束使问题成为一个非常复杂的优化超平面,在其中原始任务目标往往落入局部最优。

2.Energetic GNN

由于上述约束导致 问题难以求解,作者通过以下三个方式来 满足上述约束, 权重,残差,激活

2.1 Orthogonal Weight Controlling

优化目标6 如果不 对 W 加 正则约束,能量上界 会 越界 大于 E(X0). 采用两种正则

2.1.1 Orthogonal initialization 初始化方式

广泛使用的 glort正则 不能 约束 W的奇异值 ,作者采用显示地 初始化W成为对角阵,从而控制 奇异值,标黄的为 约束的等式,即就让每一层的 能量 小于下届
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第6张图片
第一层 W1 初始化sqrt(cmax) 以及 后续层 (奇异值平方=1)的 初始化方式, 这样使得 每一层都小于 cmaxE(X0)
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第7张图片

2.1.2 Orthogonal regularization 训练过程正则

训练过程 这些W还是会变,不能够保证满足初始时候的理想约束。 这里对于 W1 和后续的W 在进行约束,通过矩阵的F范数,使得 训练时候的 权重和 初始化权重 之间的距离 不太远。 大的γ 约束力强,小的γ 使得损失侧重于task的损失(分类)
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第8张图片

2.2 Lower-bounded Residual Connection

尽管上面约束了 上界, 但有时候 能量 会小于 下界。 lemma1 的下界,在真实情况下,当λ1=1,会松驰到 lemma2. 这里没怎么 解释清楚,为什么会 当smin>0 ,也会小于 下界。可能是 有的 图 的拉普拉斯矩阵的 特征值 不在 [0,2) 之间。

本文通过 alpha+beta = cmin 来增加 上一层和 初始残差来保证 下界。
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第9张图片

2.3 SReLU Activation

relu 会使得 小于0的值变成0,从而减小了 能量(表征间的差值)。如果不加 激活函数,比如 SGC,缺少了 非线性。 本文设计的SReLU在线性和非线性之间, 当b无限大,激活函数 成为 线性。当X小于b,则为非线性 映射到b。 试验中 初始化b为 一个负值,通过损失来调节。
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第10张图片

3.code

SReLU的实现 : 借用了 relu max(0,x) 。 如果 x-b 大于0,则返回 x-b+b =x 如果 x-b 小于0, 返回 0+b ,返回b
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第11张图片
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第12张图片
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第13张图片
c min 和max的调节,beta,srelu里面的 b 。

代码关于参数矩阵 W的处理:

第一层 W1 初始化为 单位矩阵* sqrt(cmax),其余层 cmax=1,,对应文章的第一个 change
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第14张图片
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第15张图片

代码关于 参数矩阵W 后续通过损失约束:

通过 torch.norm 来计算损失,后续的k-1层每一层 计算W权重(model.layers_GCN.weight) 和第0层 standard(sqrt(cmax))的范数
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks_第16张图片

传播

在这里插入图片描述
在这里插入图片描述
layer中的以下代码 等价于上面的 公式(计算表征*W),没有激活
在这里插入图片描述
model中 增加激活函数层
在这里插入图片描述

4.think

对于 W 进行 正交约束 2022有个正交GNN, 采用 两种残差,这个 想法很直接,也可以尝试。激活函数也是比较简单 实现,可以尝试替换。

文章对W 初始化限制并加上约束 也 很有理论 依据。 (奇异值)

你可能感兴趣的:(GNN-scalable,MLP,机器学习,算法,线性代数)