Stochastic Training of Graph Convolutional Networks with Variance Reduction
概
我们都知道, GCN 虽然形式简单, 但是对于结点个数非常多的情形是不易操作的: 多层的卷积之后基本上每个结点的感受野都会变得非常大 (指数级上升), 这对导致 mini-batch 训练的思想在图的任务中是不那么普遍的. GraphSage 通过采样结点的方式缓解了这个问题, 但是不想以往的 mini-batch 那样有很好的收敛性保证. 本文主要解决的就是这两个问题.
符号说明
- , 图;
- ;
- , 邻接矩阵;
- ;
- ;
- graph convolution layer:
Motivation
-
我们首先将任务场景限定在 node-level 的问题上, 假设训练集 , 我们希望根据这些结点以及他们的标签为其余的结点 打标签;
-
假设我们通过如下损失进行训练:
则每次训练都要计算如下的梯度:
作者认为这一步的计算是非常大的.
-
一些方法, 比如 GraphSage 采用采样邻居的方式来模拟 mini-batch 的训练方式, 它相当于:
- 采样部分结点;
- 利用这些结点构建新的邻接矩阵 ;
- 然后通过如下方式进行更新:这就大大减轻了计算.
-
但是这种方式, 由于非线性 的存在, 无法保证 会收敛到 , 也因此整体的训练方式也缺乏严格的收敛保证.
本文方法
-
作者维护历史变量 , 然后通过如下方式更新:
由于 本身是不带梯度的, 所以在反向计算梯度的时候:
-
说实话, 从训练的方式来看, 并没有减少计算量的感觉. 不过, 因为这种方式更加稳定, 所以方差比较小, 因此只需要为每个结点采样 2 个邻居就可以了, 这应该是计算量降低的主要原因.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2021-04-15 Consistency Regularization for GANs
2019-04-15 Robust Principal Component Analysis?(PCP)