ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks
1. Dirichlet Energy Constrained Learning
1.1 dirichlet energy
归一化拉普拉斯矩阵+ 归一化邻接矩阵
通过拉普拉斯矩阵和特征矩阵的形式求得 节点与节点之间 特征的差值:谱图理论书中第一节 就有相关的定义,reyleigh 熵和 二次型的样子。实质就是拉普拉斯矩阵的性质。
指出: 小的 迪利克雷能量 表明节点很相似,over-smoothing。大的 表明 over-separating,有可能相同类别的 节点都 变得很远。 当层数变多,这个能量上界收敛到0.
1.2 松弛分析
首先本文 沿着 SGC,去掉了 非线性。
lemma1 表明: 能量的上下界 和 拉普拉斯矩阵的 特征值有关。同时 参数矩阵 Wk的 最小和最大 奇异值 也有一定给 关系
lemma2
先 松弛 下界。 真实的图拉普拉斯矩阵的 特征值[0,2) 之间,上界λ0=0时,下界的λ1=1时,lemma1 松弛到lemma2
通过经验表明 当采用 glort初始化和l2正则,在深层gcn中 Wk趋近于0,因此相应的 奇异值 也趋近于0。 相反,如果没有l2和初始化,则 smax过大,导致 over-separating。
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的范数 约束 + 能量约束 条件
此方程的求解是 non-trivial的,求得X的E是 很昂贵的,许多的约束使问题成为一个非常复杂的优化超平面,在其中原始任务目标往往落入局部最优。
2.Energetic GNN
由于上述约束导致 问题难以求解,作者通过以下三个方式来 满足上述约束, 权重,残差,激活
2.1 Orthogonal Weight Controlling
优化目标6 如果不 对 W 加 正则约束,能量上界 会 越界 大于 E(X0). 采用两种正则
2.1.1 Orthogonal initialization 初始化方式
广泛使用的 glort正则 不能 约束 W的奇异值 ,作者采用显示地 初始化W成为对角阵,从而控制 奇异值,标黄的为 约束的等式,即就让每一层的 能量 小于下届
第一层 W1 初始化sqrt(cmax) 以及 后续层 (奇异值平方=1)的 初始化方式, 这样使得 每一层都小于 cmaxE(X0)
2.1.2 Orthogonal regularization 训练过程正则
训练过程 这些W还是会变,不能够保证满足初始时候的理想约束。 这里对于 W1 和后续的W 在进行约束,通过矩阵的F范数,使得 训练时候的 权重和 初始化权重 之间的距离 不太远。 大的γ 约束力强,小的γ 使得损失侧重于task的损失(分类)
2.2 Lower-bounded Residual Connection
尽管上面约束了 上界, 但有时候 能量 会小于 下界。 lemma1 的下界,在真实情况下,当λ1=1,会松驰到 lemma2. 这里没怎么 解释清楚,为什么会 当smin>0 ,也会小于 下界。可能是 有的 图 的拉普拉斯矩阵的 特征值 不在 [0,2) 之间。
本文通过 alpha+beta = cmin 来增加 上一层和 初始残差来保证 下界。
2.3 SReLU Activation
relu 会使得 小于0的值变成0,从而减小了 能量(表征间的差值)。如果不加 激活函数,比如 SGC,缺少了 非线性。 本文设计的SReLU在线性和非线性之间, 当b无限大,激活函数 成为 线性。当X小于b,则为非线性 映射到b。 试验中 初始化b为 一个负值,通过损失来调节。
3.code
SReLU的实现 : 借用了 relu max(0,x) 。 如果 x-b 大于0,则返回 x-b+b =x 如果 x-b 小于0, 返回 0+b ,返回b
c min 和max的调节,beta,srelu里面的 b 。
代码关于参数矩阵 W的处理:
第一层 W1 初始化为 单位矩阵* sqrt(cmax),其余层 cmax=1,,对应文章的第一个 change
代码关于 参数矩阵W 后续通过损失约束:
通过 torch.norm 来计算损失,后续的k-1层每一层 计算W权重(model.layers_GCN.weight) 和第0层 standard(sqrt(cmax))的范数
传播
layer中的以下代码 等价于上面的 公式(计算表征*W),没有激活
model中 增加激活函数层
4.think
对于 W 进行 正交约束 2022有个正交GNN, 采用 两种残差,这个 想法很直接,也可以尝试。激活函数也是比较简单 实现,可以尝试替换。
文章对W 初始化限制并加上约束 也 很有理论 依据。 (奇异值)
ICLR21: EGNN Dirichlet Energy Constrained Learning for Deep Graph Neural Networks相关推荐
- 【论文导读】- STFL: A Spatial-Temporal Federated Learning Framework for Graph Neural Networks
文章目录 论文信息 摘要 Contributions Methodology Graph Generation Graph Neural Network 联邦学习 Experiment 数据集 Nod ...
- Paper之DL之BP:《Understanding the difficulty of training deep feedforward neural networks》
Paper之DL之BP:<Understanding the difficulty of training deep feedforward neural networks> 目录 原文解 ...
- 论文阅读:Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
文章目录 论文总述 2.感受野的定义 3.理论感受野大小的计算 4.3种增加感受野的操作 5.感受野中心像素的值对输出feature map 的response影响比边缘的像素更大 6.如何知道fea ...
- Graph Neural Networks: A Review of Methods and Applications(图神经网络:方法与应用综述)
Graph Neural Networks: A Review of Methods and Applications 图神经网络:方法与应用综述 Jie Zhou , Ganqu Cui , Zhe ...
- Iterative Deep Graph Learning for Graph Neural Networks: Better and Robust Node Embeddings
摘要:在本文中,我们提出了一个端到端的图学习框架,即迭代深度图学习(IDGL),用于联合和迭代地学习图结构和图嵌入.IDGL的关键理论是基于更好的节点嵌入来学习更好的图结构,反之亦然(即基于更好的图结 ...
- 【论文分享】小样本图片分类方法:AwGCN:Few-Shot Learning With Attention-Weighted Graph Convolutional Networks
题目:Few-Shot Learning With Attention-Weighted Graph Convolutional Networks For Hyperspectral Image Cl ...
- 【论文分享】★★★「SOTA」小样本图神经网络分类模型 HGNN:Hybrid Graph Neural Networks for Few-Shot Learning
题目:Hybrid Graph Neural Networks for Few-Shot Learning 链接:https://ieeexplore.ieee.org/stamp/stamp.jsp ...
- 【Deep Learning】笔记:Understanding the difficulty of training deep feedforward neural networks
这几天读了这篇论文,在这里将大致内容写在这里. Abstract 介绍这篇论文的主要内容就是尝试更好的理解为什么使用"标准随机初始化"来计算使用标准梯度下降的网络效果通常来讲都不是 ...
- Paper:《Graph Neural Networks: A Review of Methods and Applications》翻译与解读
Paper:<Graph Neural Networks: A Review of Methods and Applications>翻译与解读 目录 <Graph Neural N ...
最新文章
- 超高性能管线式HTTP请求(实践·原理·实现)
- HttpClien GetPost
- 聚数引智,承德大数据产业对接交流会将于2019中国国际数字经济博览会期间召开...
- 理论基础 —— 索引 —— 倒排索引
- 鬼谷子72术,完整收藏
- Unity3D(四)Camera和SkyBox
- 电脑如何录制正在播放的视频 这个方法太简单了
- 《别闹了,费曼先生》1
- TINA电路仿真软件安装教程
- DC-DC LLC转换器 matlab simulink仿真显示了一个DC-DC LLC功率转换器与频率控制
- 远程控制软件编写--系列教程
- 计算机computer英语划分音节,英语基础知识1.computer有___个音节,按划分音节的规则,应为____.A.1;computer B.2;com...
- 体验服官网和平精英维护服务器,和平精英体验服怎么注册?和平精英体验服注册流程...
- LeetCode——四数之和
- 【c语言】判断整数x是否是同构数。若是同构数,函数返回1;否则返回0.
- scratch少儿编程实例教程(模拟动画片项目式教学)——幻影龙动画编程
- Scrapy 2.6 Items 数据项定义、加载、传输使用指南
- 机器人控制器编程整理汇总-辞旧迎新-
- 戴维·考克斯爵士去世
- RedisTemplate常用操作工具类封装,实现一个函数添加,删除,更新及对应批量操作