首页 > 其他分享 >Stochastic Training of Graph Convolutional Networks with Variance Reduction

Stochastic Training of Graph Convolutional Networks with Variance Reduction

时间:2023-04-15 16:01:32浏览次数:48  
标签:Convolutional Training bar Graph 结点 tilde mathcal hat mathrm

目录

Chen J., Zhu J. and Song L. Stochastic training of graph convolutional networks with variance reduction. ICML, 2018.

我们都知道, GCN 虽然形式简单, 但是对于结点个数非常多的情形是不易操作的: 多层的卷积之后基本上每个结点的感受野都会变得非常大 (指数级上升), 这对导致 mini-batch 训练的思想在图的任务中是不那么普遍的. GraphSage 通过采样结点的方式缓解了这个问题, 但是不想以往的 mini-batch 那样有很好的收敛性保证. 本文主要解决的就是这两个问题.

符号说明

  • \(\mathcal{G} = (\mathcal{V}, \mathcal{E})\), 图;
  • \(V = |\mathcal{V}|, E = |\mathcal{E}|\);
  • \(A\), 邻接矩阵;
  • \(\tilde{A} = A + I\);
  • \(P = \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2}\);
  • graph convolution layer:

    \[Z^{(l+1)} = P H^{(l)} W^{(l)}, \\ H^{(l+1)} = \sigma(Z^{l+1}). \]

Motivation

  • 我们首先将任务场景限定在 node-level 的问题上, 假设训练集 \(\mathcal{V}_l \subset \mathcal{V}\), 我们希望根据这些结点以及他们的标签为其余的结点 \(\mathcal{V} \setminus \mathcal{V}_l\) 打标签;

  • 假设我们通过如下损失进行训练:

    \[\mathcal{L} = \frac{1}{\mathcal{V}_l} \sum_{v \in \mathcal{V}_l} f(y_v, z_v^{(L)}), \]

    则每次训练都要计算如下的梯度:

    \[\nabla \mathcal{L} = \frac{1}{\mathcal{V}_l} \sum_{v \in \mathcal{V}_l} \nabla f (y_v, z_v^{(L)}), \]

    作者认为这一步的计算是非常大的.

  • 一些方法, 比如 GraphSage 采用采样邻居的方式来模拟 mini-batch 的训练方式, 它相当于:

    1. 采样部分结点;
    2. 利用这些结点构建新的邻接矩阵 \(\hat{P}\);
    3. 然后通过如下方式进行更新:

      \[Z^{(l+1)} = \hat{P}^{(l)} H^{(l)} W^{(l)}, \\ H^{(l+1)} = \sigma(Z^{(l+1)}), \]

      这就大大减轻了计算.
  • 但是这种方式, 由于非线性 \(\sigma\) 的存在, 无法保证 \(\hat{P}\) 会收敛到 \(\hat{P}\), 也因此整体的训练方式也缺乏严格的收敛保证.

本文方法

  • 作者维护历史变量 \(\bar{H}^{(l)}\), 然后通过如下方式更新:

    \[Z^{(l+1)} = (\hat{P}^{(l)}(H^{(l)} - \bar{H}^{l}) + P\bar{H}^{(l)}) W, \]

    由于 \(\bar{H}^{(l)}\) 本身是不带梯度的, 所以在反向计算梯度的时候:

    \[\begin{array}{ll} \mathrm{d} Z^{(l+1)} &= \mathrm{d} (\hat{P}^{(l)}(H^{(l)} - \bar{H}^{l}) + P\bar{H}^{(l)}) W \\ &= (\hat{P}^{(l)} \mathrm{d} H^{(l)}) W \\ & \quad + (\hat{P}^{(l)}(H^{(l)} - \bar{H}^{l}) + P\bar{H}^{(l)}) \mathrm{d} W, \end{array} \]

  • 说实话, 从训练的方式来看, 并没有减少计算量的感觉. 不过, 因为这种方式更加稳定, 所以方差比较小, 因此只需要为每个结点采样 2 个邻居就可以了, 这应该是计算量降低的主要原因.

代码

official

标签:Convolutional,Training,bar,Graph,结点,tilde,mathcal,hat,mathrm
From: https://www.cnblogs.com/MTandHJ/p/17321279.html

相关文章

  • Shortest Cycle in a Graph
    ShortestCycleinaGraphThereisabi-directional graphwith n vertices,whereeachvertexislabeledfrom 0 to n-1.Theedgesinthegrapharerepresentedbyagiven2Dintegerarray edges,where edges[i]=[ui,vi] denotesanedgebetweenverte......
  • Unigraphics NX(UG NX)1957 安装包下载及(UG NX)1957 安装教程
    UG(UnigraphicsNX)是SiemensPLMSoftware公司出品的一个产品工程解决方案,它为用户的产品设计及加工过程提供了数字化造型和验证手段。UnigraphicsNX针对用户的虚拟产品设计和工艺设计的需求,以及满足各种工业化需求,提供了经过实践验证的解决方案。UG同时也是用户指南(userguide)和普......
  • Unigraphics NX(UG NX)1926 安装包下载及(UG NX)1926 安装教程
    UG(UnigraphicsNX)是SiemensPLMSoftware公司出品的一个产品工程解决方案,它为用户的产品设计及加工过程提供了数字化造型和验证手段。UnigraphicsNX针对用户的虚拟产品设计和工艺设计的需求,以及满足各种工业化需求,提供了经过实践验证的解决方案。UG同时也是用户指南(userguide)和普......
  • Unigraphics NX(UG NX)1899 安装包下载及(UG NX)1899 安装教程
    UG(UnigraphicsNX)是SiemensPLMSoftware公司出品的一个产品工程解决方案,它为用户的产品设计及加工过程提供了数字化造型和验证手段。UnigraphicsNX针对用户的虚拟产品设计和工艺设计的需求,以及满足各种工业化需求,提供了经过实践验证的解决方案。UG同时也是用户指南(userguide)和普......
  • HNU2019 Summer Training 3 E. Blurred Pictures
    E.BlurredPicturestimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputDamonlovestotakephotosoftheplaceshevisitsduringhistravels,toputthemintoframes.Allofhisphotosarei......
  • 【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例
    问题描述查看官方文档“ Getauser ”,产生了一个操作示例的想法,在中国区Azure环境中,演示如何获取AADUser信息。 问题解答使用MicrosoftGraphAPI,演示如何获取AADUser信息,因参考文档是针对GlobalAzure,所以文档种的URL为://GlobalAzureMicrosoftGraphAPIHostG......
  • 在Django+Vue3+GraphQL的Blog例子代码中引入Element-Plus UI Framework
    Vue3的UIFramework中有Element-Plus、BalmUI、Quasar、PrimeVue、AntDesignVue等UIFramework.Element-Plus是Element-UI的Vue3版,Element-UI的使用人数的基数较大,Github上的Star数也较多,就选择了Element-Plus作为这个Blog项目的UIFramework.UIFramework的好处就是提供了......
  • Graphs with Python: Overview and Best Libraries
    GraphswithPython:OverviewandBestLibrariesGraphanalysis,interactivevisualizations,andgraphmachinelearning Agraphisarelativelyoldmathematicaldataentitythatisasetofconnectedelements.Sincethegraphisaveryflexiblestructure......
  • 论文解读( FGSM)《Adversarial training methods for semi-supervised text classificat
    论文信息论文标题:Adversarialtrainingmethodsforsemi-supervisedtextclassification论文作者:TaekyungKim论文来源:ICLR2017论文地址:download 论文代码:download视屏讲解:click1 背景1.1 对抗性实例(Adversarialexamples)通过对输入进行小扰动创建的实例,可显著增加机器......
  • 决策树可视化Graphviz中文乱码
    输出svg时中文显示正常!!!fromsiximportStringIO#可视化dot_data=StringIO()tree.export_graphviz(clf,out_file=dot_data,feature_names=feature_name,class_names=target_name,filled=True,rounded=True,special_characte......