自我监督何时有助于绘制卷积网络图

作者:Yuning You Tianlong Chen Zhangyang Wang1Yang Shen
单位:德克萨斯农工大学
篇幅:10
第37届国际机器学习会议论文
时间:[于2020年6月16日(v1)提交,最新修订于2020年7月18日(此版本v4)]
paper
code
视频链接

摘要

自监督作为一种新兴的技术已被用于训练卷积神经网络(CNNs),以提高图像表示学习的可传递性、泛化能力和鲁棒性。然而,它对操作图形数据的图形卷积网络(GCNS)的介绍却很少被探索。在这项研究中,我们报告了首次将自我监督纳入GCNS的系统探索和评估。我们首先阐述了将自我监督纳入GCNS的三种机制,分析了预训练、微调、和自训练的局限性,并进而将重点放在多任务学习上。此外,我们还提出了三种新的GCNS自监督学习任务,并进行了理论分析和数值比较。最后,我们进一步将多任务自我监督融入到图形对抗性训练中。研究结果表明,通过合理设计任务形式和合并机制,自我监督有利于GCNS获得更强的泛化能力和鲁棒性。我们的代码在https://github.com/shen-Lab/SS-GCNS上提供。

self- supervision

1.介绍

图卷积网络(GCNS)将卷积神经网络(CNNs)推广到图结构的数据,并利用图的性质。它们在许多基于图的任务中表现优于传统方法,例如节点或链接分类,链接预测和图分类,其中很多是半监督学习任务。在本文中,我们主要讨论的是transductive半监督节点分类作为GCNS具有代表性的实验。其中图中有大量未标记节点和少量已标记节点,目标是预测剩余未标记节点的标记。

同时,自我监督引起了人们对计算机视觉领域的兴趣激增,以利用丰富的未标记数据。它的目的是帮助模型通过 pretext任务、通过预训练(随后进行微调)或多任务学习,从未标记的数据中学习更多可传递和通用的表示。 pretext任务应精心设计,以便于网络学习与下游相关的语义特征。已经为CNN提出了一些 pretext任务,包括旋转、范例、关系预测和相对patch位置预测。最近,Hendrycks等人展示了自我监督学习作为提高鲁棒性和不确定性估计的辅助正则化的前景。Chen等人在自我监督中引入了对抗性训练,提供了第一个通用的健壮的前期训练。

简而言之,GCN任务通常采用Transductive 的半监督设置,有大量的未标记节点;同时,自我监督在利用CNN中的未标记数据方面发挥着越来越大的作用。鉴于这两个事实,我们自然而然地提出了以下有趣而又鲜有人探讨的问题:

  • 自我监督学习能否在GCNS中发挥类似的作用,以提高其泛化能力和鲁棒性?*


笔记:
Inductive learning v.s. Transductive learning
数据集分为训练/验证/测试。
Inductive :拿训练集和验证集的数据来学习参数w, 并且把参数w 用在testing set 里面。测试集在训练时对模型不可见(明天的数据)。
半监督下,Transductive用训练集(有标签)、验证集(有标签)先训练模型,然后用这个模型对测试集(无标签)分类打标签(相当于进行了数据扩充),训练时用到了测试集或验证集样本的信息(或者说,测试集和验证集在训练的时候是可见的),我们把这种学习方式叫做transductive learning, 反之,称为inductive learning.Transductive 只是用于标记没有标记的数据,并没有太好的预测作用。通常transductive比inductive的效果要好,因为inductive需要从训练generalize到测试。

Pretext task
Pretext task也叫surrogate task,代理任务。也叫surrogate task,Pretex task的好处就是简化了原任务的求解,在深度学习里就是避免了人工标记样本,实现无监督的语义提取,Pretext任务可以进一步理解为:对目标任务有帮助的辅助任务。而这种任务目前更多的用于所谓的Self-Supervised learning,即一种更加宽泛的无监督学习。这里面涉及到一个很强的动机:训练深度学习需要大量的人工标注的样本,这是费时耗力的。而自监督的提出就是为了打破这种人工标注样本的限制,目的是在没有人工标注的条件下也能高效的训练网络,自监督的核心问题是如何产生伪标签(Pseudo label),而这种伪标签的产生是不涉及人工的,比如上述的AE的伪标签就是 自身。这里举几个在视觉任务里常用的pretext task几伪标签的产生方式:图片旋转、图片上色、图片补全、
Jigsaw Puzzle/Context Prediction(关系预测/上下文预测)。
Pretext task参考

Contributions


本文介绍了关于如何将自我监督纳入GCNS的首次系统研究,通过解决三个具体问题展开:

  • 问题1:GCNS能否在自我监督学习中的分类性能获得益处?如果是,如何将其纳入GCNS以最大化获益?
  • 问题2: pretext任务的设计重要吗?GCNS有哪些有用的自我监督 pretext任务?
  • 问题3:自我监督是否也会影响GCNS的鲁棒性?如果是,如何设计借口任务?
    直接针对上述问题,我们的贡献总结如下:

A1:我们通过多任务学习证明了将自监督学习纳入GCNS的有效性,即作为GCN训练中的正则化术语。与作为预训或通过自我训练进行的自我监督相比,它是有利的。

A2:我们基于图的属性研究了三个自监督任务。除了前面在(Sun等人,2019年)中提到的节点聚类任务外,我们提出了两种新的任务类型:图划分和完成。我们进一步说明,不同的模型和数据集似乎更喜欢不同的自我监督任务。

A3:我们将上述发现进一步推广到对抗性训练环境中。我们提供了扩展的结果,表明自我监督也提高了GCN在各种攻击下的鲁棒性,而不需要更大的模型和额外的数据。

2. Related Work

Graph-based semi-supervised learning.

基于图的半监督学习的工作原理是一个重要的假设,即与权重较大的边连接的结点更有可能具有相同的标注。在基于图的方法上有大量的工作,例如(随机的)mincuts 、玻尔兹曼机器和图的随机游走。最近,图卷积网络(GCN)及其变体通过将假设从手工制作的假设扩展到数据驱动的时尚而广受欢迎。详细的回顾可以参考(Wu等人,2019b)。

Self-supervised learning.

自我监督是神经网络在计算机视觉领域学习更多可转移的、泛化的和鲁棒性的特征的一个很有前途的方向。到目前为止,自我监督在CNNs中的使用主要分为两类:预训练和微调,或多任务学习。在预训和精微调方面。CNN首先用自我监督的借口任务进行预训练,然后用标签监督的目标任务进行微调,而在多任务学习中,网络的训练同时具有目标监督任务和自我监督任务的联合目标。

据我们所知,GCNS最近只有一项追求自我监督的工作,其中通过自我训练采用节点聚类任务。然而,自训练受到包括表现“饱和”和降级的限制。它还限制了可以纳入的自我监督任务的类型。

Adversarial attack and defense on graphs.
与CNN类似,GCNS的广泛适用性和脆弱性也对其鲁棒性提出了迫切的要求。提出了几种对图进行攻击和防御的算法。

Dai et al. (2018) 开发了基于梯度下降、遗传算法和强化学习的丢弃边缘攻击方法。Zugner等人(2018)提出了一种基于FSGM的方法来攻击边缘和特征。最近,出现了更多样FGSM化的防御方法。Dai et al. (2018) 通过直接在扰动图上进行训练来防御对抗性攻击。吴等人(2019a)通过从连续函数学习图形来获得鲁棒性。Wang等人(2019a)使用图精化和对抗性对比学习来提高模型的鲁棒性。Wang等人(2019b)建议使用具有伪标签的未标记数据,以增强对大型图表的可扩展性

3. Method

在这一部分中,我们首先阐述三个将自我监督与GCNS相结合的候选方案。然后,我们设计了新颖的自我监督任务,每个任务都有自己的理论解释。最后,我们将自我监督泛化到GCN对抗防御中。



3.1. Graph Convolutional Networks

给定一个无向图 G={V,E},\mathcal{G}=\{\mathcal{V}, \mathcal{E}\},G={V,E},其中V=\mathcal{V}=V= {v1,…,v∣V∣}\left\{v_{1}, \ldots, v_{|\mathcal{V}|}\right\}{v1​,…,v∣V∣​}表示具有∣V∣|\mathcal{V}|∣V∣ 个节点的节点集, E=\mathcal{E}=E= {e1,…,e∣E∣}\left\{e_{1}, \ldots, e_{|\mathcal{E}|}\right\}{e1​,…,e∣E∣​}表示具有 ∣E∣|\mathcal{E}|∣E∣条边的边集,en=(vi,vj)e_{n}=\left(v_{i}, v_{j}\right)en​=(vi​,vj​)表示节点vi和vj之间的边。以X∈R∣V∣×N\boldsymbol{X} \in \mathbb{R}^{|\mathcal{V}| \times N}X∈R∣V∣×N 为特征矩阵,其中xn=X[n,:]T\boldsymbol{x}_{n}=\boldsymbol{X}[n,:]^{T}xn​=X[n,:]T 为节点vnv_{n}vn​的 NNN 维属性向量,A∈R∣V∣×∣V∣\boldsymbol{A} \in \mathbb{R}^{|\mathcal{V}| \times|\mathcal{V}|}A∈R∣V∣×∣V∣为邻接矩阵,其中aij=A[i,j]={1,if (vi,vj)∈E0,otherwise a_{i j}=\boldsymbol{A}[i, j]=\left\{\begin{array}{c}1, \text { if }\left(v_{i}, v_{j}\right) \in \mathcal{E} \\ 0, \text { otherwise }\end{array}\right.aij​=A[i,j]={1, if (vi​,vj​)∈E0, otherwise ​ ,aij=aji,a_{i j}=a_{j i},aij​=aji​,(Kipf&Welling2016)将两层半监督分类的GCN模型表示为:
Z=A^ReLU⁡(A^XW0)W1(1)Z=\hat{\boldsymbol{A}} \operatorname{ReLU}\left(\hat{\boldsymbol{A}} \boldsymbol{X} \boldsymbol{W}_{0}\right) \boldsymbol{W1}\tag1Z=A^ReLU(A^XW0​)W1(1)

其中A^=D~−12(A+I)D~−12和\hat{\boldsymbol{A}}=\tilde{\boldsymbol{D}}^{-\frac{1}{2}}(\boldsymbol{A}+\boldsymbol{I}) \tilde{\boldsymbol{D}}^{-\frac{1}{2}}和A^=D~−21​(A+I)D~−21​和D~\tilde{\boldsymbol{D}}D~是关于的度数矩阵。这里,我们不对输出应用Softmax函数,而是将其视为下面描述的损失的一部分。

一般可以将(1)中的A^ReLU⁡(A^XW0)\hat{\boldsymbol{A}} \operatorname{ReLU}\left(\hat{\boldsymbol{A}} \boldsymbol{X} \boldsymbol{W}_{0}\right)A^ReLU(A^XW0​) 作为GCNS fθ(X,A^)f_{\theta}(\boldsymbol{X}, \hat{\boldsymbol{A}})fθ​(X,A^)的特征提取器。(1)中的参数集θ={W0}\theta=\left\{\boldsymbol{W}_{0}\right\}θ={W0​},但可以包括gcn变体中相应网络体系结构的附加参数。因此,将GCN分解为特征提取和线性变换,Z=fθ(X,A^)ΘZ=f_{\theta}(\boldsymbol{X}, \hat{\boldsymbol{A}}) \ThetaZ=fθ​(X,A^)Θ,其中参数 θ\thetaθ 和 Θ=W1\Theta=W_{1}Θ=W1​ 是从数据中学习的。考虑到transductive半监督任务,我们被提供具有Vlabel ⊂V\mathcal{V}_{\text {label }} \subset \mathcal{V}Vlabel ​⊂V 且 ∣Vlabel ∣≪∣V∣\left|\mathcal{V}_{\text {label }}\right| \ll|\mathcal{V}|∣Vlabel ​∣≪∣V∣ 的标签节点集合和具有标签维数N′N^{\prime}N′的标签矩阵Y∈R∣V∣×N′\boldsymbol{Y} \in \mathbb{R}^{|\mathcal{V}| \times N^{\prime}}Y∈R∣V∣×N′ (对于分类任务N′=1N^{\prime}=1N′=1)。
因此,GCNS中的模型参数通过最小化已标记节点的输出与真实标签之间计算的监督损失来学习,可表示为:Z=fθ(X,A^)Θθ∗,Θ∗=arg⁡min⁡θ,ΘLsup(θ,Θ)=arg⁡min⁡θ,Θ1∣Vlabel ∣∑vn∈Vlabel L(zn,yn)(2)\begin{aligned} Z &=f_{\theta}(\boldsymbol{X}, \hat{\boldsymbol{A}}) \Theta \\ \theta^{*}, \boldsymbol{\Theta}^{*} &=\arg \min _{\theta, \boldsymbol{\Theta}} \mathcal{L}_{\mathrm{sup}}(\theta, \boldsymbol{\Theta}) \\ &=\arg \min _{\theta, \boldsymbol{\Theta}} \frac{1}{\left|\mathcal{V}_{\text {label }}\right|} \sum_{v_{n} \in \mathcal{V}_{\text {label }}} L\left(\boldsymbol{z}_{n}, \boldsymbol{y}_{n}\right) \end{aligned}\tag2Zθ∗,Θ∗​=fθ​(X,A^)Θ=argθ,Θmin​Lsup​(θ,Θ)=argθ,Θmin​∣Vlabel ​∣1​vn​∈Vlabel ​∑​L(zn​,yn​)​(2)

其中L(⋅,⋅)L(\cdot, \cdot)L(⋅,⋅) 是每个示例的损失函数,yn=\boldsymbol{y}_{n}=yn​= Y[n,:]T\boldsymbol{Y}[n,:]^{T}Y[n,:]T是注释的标签向量,而zn=Z[n,:]T\boldsymbol{z}_{n}=\boldsymbol{Z}[n,:]^{T}zn​=Z[n,:]T是关于 vn∈Vlabel v_{n} \in \mathcal{V}_{\text {label }}vn​∈Vlabel ​.真实标签向量。

3.2. Three Schemes: Self-Supervision Meets GCNs

受CNNs相关讨论启发,接下来,我们研究了三种可能的方案,在给定输入Xss,A^ssX_{\mathrm{ss}}, \hat{A}_{\mathrm{ss}}Xss​,A^ss​和标签Yss Y_{\text {ss }}Yss ​ 以及节点集合 Vss. \mathcal{V}_{\text {ss. }}Vss. ​的情况下,为GCN配备自监督任务(“ss”)。

Pretraining & finetuning

在预训练过程中,使用如下自我监督任务对网络进行训练:
Zss=fθ(Xss,A^ss)Θssθss∗,Θss∗=arg⁡min⁡θ,ΘssLss(θ,Θss)=arg⁡min⁡θ,Θ1∣Vss∣∑vn∈VssLss(zss,n,yss,n)(3)\begin{aligned} Z_{\mathrm{ss}} &=f_{\theta}\left(\boldsymbol{X}_{\mathrm{ss}}, \hat{\boldsymbol{A}}_{\mathrm{ss}}\right) \boldsymbol{\Theta}_{\mathrm{ss}} \\ \theta_{\mathrm{ss}}^{*}, \boldsymbol{\Theta}_{\mathrm{ss}}^{*} &=\arg \min _{\theta, \mathbf{\Theta}_{\mathrm{ss}}} \mathcal{L}_{\mathrm{ss}}\left(\theta, \boldsymbol{\Theta}_{\mathrm{ss}}\right) \\ &=\arg \min _{\theta, \mathbf{\Theta}} \frac{1}{\left|\mathcal{V}_{\mathrm{ss}}\right|} \sum_{v_{n} \in \mathcal{V}_{\mathrm{ss}}} L_{\mathrm{ss}}\left(\boldsymbol{z}_{\mathrm{ss}, n}, \boldsymbol{y}_{\mathrm{ss}, n}\right) \end{aligned}\tag3Zss​θss∗​,Θss∗​​=fθ​(Xss​,A^ss​)Θss​=argθ,Θss​min​Lss​(θ,Θss​)=argθ,Θmin​∣Vss​∣1​vn​∈Vss​∑​Lss​(zss,n​,yss,n​)​(3)

其中Θss\Theta_{\mathrm{ss}}Θss​ 是线性变换参数,Lss(⋅,⋅)L_{\mathrm{ss}}(\cdot, \cdot)Lss​(⋅,⋅) 是自监督任务的损失函数,zss,n=Zss[n,:]T,yss,n=Yss[n,:]T.z_{\mathrm{ss}, n}=Z_{\mathrm{ss}}[n,:]^{T}, \boldsymbol{y}_{\mathrm{ss}, n}=\boldsymbol{Y}_{\mathrm{ss}}[n,:]^{T} .zss,n​=Zss​[n,:]T,yss,n​=Yss​[n,:]T.,然后,在微调过程中,特征提取器fθ(⋅,⋅)f_{\theta}(\cdot, \cdot)fθ​(⋅,⋅) 在公式(2)中使用 θss ∗\theta_{\text {ss }}^{*}θss ∗​初始化参数θ来训练。](https://blog.csdn.net/weixin_39454351/article/details/86573753)
预训练与微调
表1:在PubMed数据集上通过预训练和微调(P&F)和多任务学习(MTL)与图划分(见第3.3节)比较GCN的性能。报告的数字与分类准确率(以百分比表示)相对应。


预训练和优化可以说是使GCNS受益的最直接的自我监督选择。然而,我们的初步实验发现,在大型数据集Pubmed(表1)上,它几乎没有性能提升。我们猜想这是由于(1)在精调时“切换”到与预训练Lss(⋅,⋅)\mathcal{L}_{\mathrm{ss}}(\cdot, \cdot)Lss​(⋅,⋅)不同的目标函数Lsup (⋅,⋅)\mathcal{L}_{\text {sup }}(\cdot, \cdot)Lsup ​(⋅,⋅) 以及(2)在 transductive半监督环境下训练浅GCN,这被证明击败了较深的GCN,导致过度平滑或“信息丢失”(Li等人,2018年;Oono&Suzuki)。在4.1节中,我们将在多个数据集上系统地评估和分析该方案,并结合其他自我监督任务。

Self-training.
Self-training是唯一追求自我监督和自我超越的前期自训练。对于已标记和未标记的数据,典型的自训练流水线开始于在已标记的数据上预先训练模型,然后将“伪标签”分配给高度自信的未标记样本,并将它们包括到已标记的数据中以用于下一轮训练。该方法可以重复几轮,并且可以在每轮中配制,类似于具有VlabelV_{label}Vlabel​更新的公式(2)。Sun等人(Sun等,2019年)提出了一种多阶段自监督(M3S)训练算法,其中注入自我监督来对齐和细化未标记节点的伪标签。
Self-training
表2:通过M3S实现GCN的实验,灰色数字来自于(Sun等人,2019年)。


尽管在之前的几次实验中性能有所改善,但随着标签率的提高,M3S在表2中显示出性能增益“饱和”,这与文献(朱&Goldberg,2009;Li等人,2018年)相呼应。此外,我们将在4.1节中展示它们有限的性能提升并使其合理化。

Multi-task learning.
考虑具有(2)的GCN的目标任务和自监督任务,输出和训练过程可以表示为:
Z=fθ(X,A^)Θ,Zss=fθ(Xss,A^ss)Θssθ∗,Θ∗,Θss∗=arg⁡min⁡θ,Θ,Θssα1Lsup(θ,Θ)+α2Lss(θ,Θss)(4)\begin{aligned} Z &=f_{\theta}(\boldsymbol{X}, \hat{\boldsymbol{A}}) \boldsymbol{\Theta}, \quad \boldsymbol{Z}_{\mathrm{ss}}=f_{\theta}\left(\boldsymbol{X}_{\mathrm{ss}}, \hat{\boldsymbol{A}}_{\mathrm{ss}}\right) \boldsymbol{\Theta}_{\mathrm{ss}} \\ \theta^{*}, \boldsymbol{\Theta}^{*}, \boldsymbol{\Theta}_{\mathrm{ss}}^{*} &=\arg \min _{\theta, \boldsymbol{\Theta}, \boldsymbol{\Theta}_{\mathrm{ss}}} \alpha_{1} \mathcal{L}_{\mathrm{sup}}(\theta, \boldsymbol{\Theta})+\alpha_{2} \mathcal{L}_{\mathrm{ss}}\left(\theta, \boldsymbol{\Theta}_{\mathrm{ss}}\right) \end{aligned}\tag4Zθ∗,Θ∗,Θss∗​​=fθ​(X,A^)Θ,Zss​=fθ​(Xss​,A^ss​)Θss​=argθ,Θ,Θss​min​α1​Lsup​(θ,Θ)+α2​Lss​(θ,Θss​)​(4)

其中 α1,α2∈R>0\alpha_{1}, \alpha_{2}\in \mathbb{R}_{>0}α1​,α2​∈R>0​分别是(2)中定义的总监督损失 Lsup (θ,Θ)\mathcal{L}_{\text {sup }}(\theta, \boldsymbol{\Theta})Lsup ​(θ,Θ)和(3)中定义的自我监督损失 Lss(θ,Θss)\mathcal{L}_{\mathrm{ss}}\left(\theta, \boldsymbol{\Theta}_{\mathrm{ss}}\right)Lss​(θ,Θss​)的权重。为了优化其损失的加权和,目标监督任务和自我监督任务共享相同的特征提取器fθ(⋅,⋅)f_{\theta}(\cdot, \cdot)fθ​(⋅,⋅) ,但在图1中具有各自的线性变换参数Θ∗\Theta^{*}Θ∗ 和 Θss∗\Theta_{\mathrm{ss}}^{*}Θss∗​。

图1:通过多任务学习对GCN进行自我监督的总体框架。目标任务和辅助自监督任务共享相同的特征提取器fθ(⋅,⋅)f_{\theta}(\cdot, \cdot)fθ​(⋅,⋅)以及它们各自的线性变换参数Θ∗\Theta^{*}Θ∗ 和 Θss∗\Theta_{\mathrm{ss}}^{*}Θss∗​。

多任务学习-Multitask Learning概述

在问题(4)中,我们将自监督任务视为贯穿整个网络训练的正则化项。正则化项在图形信号处理中有着传统而广泛的应用,其中一个著名的正则化项就是图-拉普拉斯(Graphe Laplacian)正则化(GLR),它惩罚相邻节点之间的不连贯(即非平滑)信号(Chen&Liu,2017)。虽然GLR在图形信号处理中的有效性已经得到了证明,但是正则化器是在没有数据参与的情况下简单地跟随平滑先验来手动设置的,而自监督任务则是在人类先验的辅助指导下从未标记的数据中学习的正则化。因此,正确设计的任务将引入数据驱动的先验知识,从而提高模型的通用性,如表1所示。

总体而言,多任务学习是三者中最普遍的框架。该算法在训练过程中作为数据驱动的正则化算法,对自我监督的任务类型没有做任何假设。实验还证实,它是所有三种方法中最有效的(第4节)。








3.3. GCN-Specific Self-Supervised Tasks

虽然第3.2节讨论了GCN可以通过自我监督进行培训的“机制”,但在这里,我们为GCN扩展了自我监督任务的“工具箱”。我们表明,通过利用图中丰富的节点和边信息,可以定义各种特定于GCN的自监督任务(如表3中总结的那样),并将进一步证明这些任务有利于各种类型的监督/下游任务。它们将为未标记的节点分配不同的伪标签,并求解(4)中的公式。

节点聚类
继M3S(Sun等人,2019年)之后,构建自监督任务的一种直观方式是通过节点聚类算法。给定以特征矩阵XXX为输入的节点集VVV,具有预置的聚类个数K∈{1,…,∣V∣}K \in\{1, \ldots,|\mathcal{V}|\}K∈{1,…,∣V∣}(在我们的实验中被视为超参数),聚类算法将输出一组节点集合 {Vclu,1,…,Vclu,K∣Vclu,n⊆V,n=1,…,K}\left\{\mathcal{V}_{\mathrm{clu}, 1}, \ldots, \mathcal{V}_{\mathrm{clu}, K} \mid \mathcal{V}_{\mathrm{clu}, n} \subseteq \mathcal{V}, n=1, \ldots, K\right\}{Vclu,1​,…,Vclu,K​∣Vclu,n​⊆V,n=1,…,K}
使得:Vclu⁡,n≠∅(n=1,…,K),∪n=1KVclu, n=VVclu, i∩Vclu ,j=∅(∀i,j=1,…,Kand i≠j)\begin{array}{l} \mathcal{V}_{\operatorname{clu}, n} \neq \emptyset \quad(n=1, \ldots, K), \quad \cup_{n=1}^{K} \mathcal{V}_{\text {clu, } n}=\mathcal{V} \\ \mathcal{V}_{\text {clu, } i} \cap \mathcal{V}_{\text {clu }, j}=\emptyset \quad(\forall i, j=1, \ldots, K \text { and } i \neq j) \end{array} Vclu,n​​=∅(n=1,…,K),∪n=1K​Vclu, n​=VVclu, i​∩Vclu ,j​=∅(∀i,j=1,…,K and i​=j)​
对于节点集的簇,我们将簇索引作为自监督标签分配给所有节点:
yss,n=kif vn∈Vclu,k(∀n=1,…,∣V∣,∀k=1,…,K)y_{\mathrm{ss}, n}=k \text { if } v_{n} \in \mathcal{V}_{\mathrm{clu}, k}(\forall n=1, \ldots,|\mathcal{V}|, \forall k=1, \ldots, K)yss,n​=k if vn​∈Vclu,k​(∀n=1,…,∣V∣,∀k=1,…,K)

图划分
与聚类相关的算法是基于节点特征的,其基本原理是将具有相似属性的节点分组。分组节点的另一个基本原理可以基于图形数据中的拓扑。具体地说,由“强”边(具有较大权重)连接的两个节点是相同标签类别的可能性比较高(Zhu&Goldberg,2009).。因此,我们提出了一种基于拓扑的图划分自监督算法。

图划分是将图的节点划分成大致相等的子集,从而使子集之间连接节点的边数最小化(Karypis&Kumar,1995)。给定节点集VVV、边集EEE和邻接矩阵AAA作为输入,在预设数量的分区K∈{1,…,∣V∣}K \in\{1, \ldots,|\mathcal{V}|\}K∈{1,…,∣V∣}(我们的实验中的超参数)的情况下,图划分算法将输出节点集 {Vpar ,1,…,Vpar ,K∣Vpar, ,n⊆V,n=1,…,K}\left\{\mathcal{V}_{\text {par }, 1}, \ldots, \mathcal{V}_{\text {par }, K} \mid \mathcal{V}_{\text {par, }, n} \subseteq \mathcal{V}, n=1, \ldots, K\right\}{Vpar ,1​,…,Vpar ,K​∣Vpar, ,n​⊆V,n=1,…,K}使得:
Vpar ,n≠∅(∀n=1,…,K),∪n=1KVpar ,n=VVpar ,i∩Vpar ,j=∅(∀i,j=1,…,Kand i≠j)\begin{array}{l} \mathcal{V}_{\text {par }, n} \neq \emptyset \quad(\forall n=1, \ldots, K), \quad \cup_{n=1}^{K} \mathcal{V}_{\text {par }, n}=\mathcal{V} \\ \mathcal{V}_{\text {par }, i} \cap \mathcal{V}_{\text {par }, j}=\emptyset \quad(\forall i, j=1, \ldots, K \text { and } i \neq j) \end{array} Vpar ,n​​=∅(∀n=1,…,K),∪n=1K​Vpar ,n​=VVpar ,i​∩Vpar ,j​=∅(∀i,j=1,…,K and i​=j)​

这类似于节点聚类的情况。此外,还强制实施图划分的平衡约束⁡(Kmax⁡k∣Vpar,k∣∣V∣⩽1+ϵ,\operatorname{}\left(K \frac{\max _{k}\left|\mathcal{V}_{\mathrm{par}, k}\right|}{|\mathcal{V}|} \leqslant 1+\epsilon,\right.(K∣V∣maxk​∣Vpar,k​∣​⩽1+ϵ, 其中ϵ∈(0,1))\left.\epsilon \in(0,1)\right)ϵ∈(0,1))图划分的目标是使边数最小
(\left(\right.( edgecut =12∑k=1K∑vi∈Vpar,k∑and(vi,vj)∈E,aij)\left.=\frac{1}{2} \sum_{k=1}^{K} \sum_{v_{i} \in \mathcal{V}_{\mathrm{par}, k}} \sum_{\mathrm{and}}\left(v_{i}, v_{j}\right) \in \mathcal{E}, \quad a_{i j}\right)=21​∑k=1K​∑vi​∈Vpar,k​​∑and​(vi​,vj​)∈E,aij​)
将节点集与图的其余部分一起分区后,我们将分区索引指定为自监督标签:yss,n=ky_{\mathrm{ss}, n}=kyss,n​=k if vn∈Vpar,k,n=1,…,∣V∣,∀k=1,…,Kv_{n} \in \mathcal{V}_{\mathrm{par}, k}, n=1, \ldots,|\mathcal{V}|, \forall k=1, \ldots, Kvn​∈Vpar,k​,n=1,…,∣V∣,∀k=1,…,K

与基于节点特征,图的节点聚类不同分区提供基于图的先验正则化拓扑它类似于图Laplacian正则化(GLR),它也采用了“连接提示相似性”的概念。但是,已经注入到GCNS架构中的GLR在本地平滑所有节点与其邻居节点。相反,图分区通过利用所有连接来对连接密度较大的节点进行分组,从而考虑全局平滑性。

Graph completion.

灵感来自于图像修复,也就是。在计算机视觉(旨在填充图像缺失像素)中的完成(Yu等人,2018年)中,我们提出了一种新的回归任务–图完成,作为一种自监督任务。与图2中所示的图像完成类似,我们的图完成首先通过删除目标节点的功能来屏蔽它们。然后通过向GCNS非掩蔽节点特征(目前仅限于2层GCNS的每个目标节点的二阶邻居)的反馈来恢复/预测掩蔽节点特征。

图2:目标节点的图形完成。在提供目标节点特征掩蔽和邻居特征和连接的情况下,GCNS将根据邻域信息恢复掩蔽特征。

我们设计这种自监督任务的原因如下:1)完成标签是自由获取的,这是节点本身的特征;2)我们认为图完成可以帮助网络进行更好的特征表示,从而教导网络从上下文中提取特征。

3.4. Self-Supervision in Graph Adversarial Defense

通过为GCNS引入三个自监督任务以获得更好的监督学习的泛化能力(例如,节点分类),我们继续检查它们在获得对各种图对手攻击的鲁棒性方面可能扮演的角色。

对抗性攻击。

我们关注的是单节点直接逃避攻击:在以下某些约束下(Z¨ugner等人,2018年),对目标节点vnv_{n}vn​的属性/链路进行特定于节点的攻击类型,而训练的模型(即模型参数(θ∗,Θ∗)\left(\theta^{*}, \Theta^{*}\right)(θ∗,Θ∗) ) 在攻击期间/攻击后保持不变。攻击者g生成扰动特征和邻接矩阵X′\boldsymbol{X}^{\prime}X′ 和A′,\boldsymbol{A}^{\prime},A′, 如下所示:
X′,A′=g(X,A,Y,vn,θ∗,Θ∗)\boldsymbol{X}^{\prime}, \boldsymbol{A}^{\prime}=g\left(\boldsymbol{X}, \boldsymbol{A}, \boldsymbol{Y}, v_{n}, \theta^{*}, \boldsymbol{\Theta}^{*}\right) X′,A′=g(X,A,Y,vn​,θ∗,Θ∗)

以目标节点和模型参数(属性、链接和标签)为输入。攻击可能发生在链接、(节点)特征或链接&特征上。

对抗性防御。

对抗性防御,特别是在图像领域,一种有效的方法是通过对抗性训练,用对抗性例子扩充训练集(GoodFloor等人,2014年)。然而,在transductive半监督环境下,由于标签率较低,在图域中生成对抗性实例是困难的。Wang等人。(2019b)因此提出利用未标记节点来生成对抗性示例。具体地说,他们训练了(2)中所述的GCN来分配伪标签Yseudoto未标记节点。然后从未标记的节点集中随机选择两个不相交的子集VcleanV_{clean}Vclean​和VattackV_{attack}Vattack​,攻击每个目标节点vn∈Vattackvn∈V_{attack}vn∈Vattack​,生成扰动特征和邻接矩阵X′\boldsymbol{X}^{\prime}X′ 和A′,\boldsymbol{A}^{\prime},A′,。

然后,图形数据的对抗性训练可以被表示为用于已标记节点的监督学习和用于未标记节点的恢复伪标签(被攻击和清除):
Z=fθ(X,A^)Θ,Z′=fθ(X′,A′)Θθ∗,Θ∗=arg⁡min⁡θ,Θ(Lsup(θ,Θ)+α3Ladv(θ,Θ)),(6)\begin{aligned} \boldsymbol{Z} &=f_{\theta}(\boldsymbol{X}, \hat{\boldsymbol{A}}) \boldsymbol{\Theta}, \quad \boldsymbol{Z}^{\prime}=f_{\theta}\left(\boldsymbol{X}^{\prime}, \boldsymbol{A}^{\prime}\right) \boldsymbol{\Theta} \\ \theta^{*}, \boldsymbol{\Theta}^{*} &=\arg \min _{\theta, \boldsymbol{\Theta}}\left(\mathcal{L}_{\mathrm{sup}}(\theta, \boldsymbol{\Theta})+\alpha_{3} \mathcal{L}_{\mathrm{adv}}(\theta, \boldsymbol{\Theta})\right), \end{aligned}\tag6 Zθ∗,Θ∗​=fθ​(X,A^)Θ,Z′=fθ​(X′,A′)Θ=argθ,Θmin​(Lsup​(θ,Θ)+α3​Ladv​(θ,Θ)),​(6)

式中,α3\alpha_{3}α3​ 是对抗性损失Ladv(⋅,⋅),\mathcal{L}_{\mathrm{adv}}(\cdot, \cdot),Ladv​(⋅,⋅), 的权重,ypseudo ,n=Ypseudo [n,:]T\boldsymbol{y}_{\text {pseudo }, n}=\boldsymbol{Y}_{\text {pseudo }}[n,:]^{T}ypseudo ,n​=Ypseudo ​[n,:]T 和zn′=Z′[n,:]T\boldsymbol{z}_{n}^{\prime}=\boldsymbol{Z}^{\prime}[n,:]^{T}zn′​=Z′[n,:]T。

自我监督的对抗性防御。

GCNS的自我监督工作如(4)中所述,对抗性训练如(6)中所述,我们将自我监督的对抗性训练制定为:

Z=fθ(X,A^)Θ,Z′=fθ(X′,A′)ΘZss=fθ(Xss,Ass)θ∗,Θ∗,Θss∗=arg⁡min⁡θ,Θ,Θss(α1Lsup(θ,Θ)+α2Lss(θ,Θss)+α3Ladv(θ,Θ))(7)\begin{aligned} Z &=f_{\theta}(\boldsymbol{X}, \hat{\boldsymbol{A}}) \boldsymbol{\Theta}, \quad \boldsymbol{Z}^{\prime}=f_{\theta}\left(\boldsymbol{X}^{\prime}, \boldsymbol{A}^{\prime}\right) \boldsymbol{\Theta} \\ \boldsymbol{Z}_{\mathrm{ss}}=f_{\theta}\left(\boldsymbol{X}_{\mathrm{ss}}, \boldsymbol{A}_{\mathrm{ss}}\right) & \\ \theta^{*}, \boldsymbol{\Theta}^{*}, \boldsymbol{\Theta}_{\mathrm{ss}}^{*}=\arg \min _{\theta, \boldsymbol{\Theta}, \boldsymbol{\Theta}_{\mathrm{ss}}}\left(\alpha_{1} \mathcal{L}_{\mathrm{sup}}(\theta, \boldsymbol{\Theta})\right.& \\ &\left.+\alpha_{2} \mathcal{L}_{\mathrm{ss}}\left(\theta, \boldsymbol{\Theta}_{\mathrm{ss}}\right)+\alpha_{3} \mathcal{L}_{\mathrm{adv}}(\theta, \boldsymbol{\Theta})\right) \end{aligned}\tag7ZZss​=fθ​(Xss​,Ass​)θ∗,Θ∗,Θss∗​=argθ,Θ,Θss​min​(α1​Lsup​(θ,Θ)​=fθ​(X,A^)Θ,Z′=fθ​(X′,A′)Θ+α2​Lss​(θ,Θss​)+α3​Ladv​(θ,Θ))​(7)

其中将自监督损失引入到以扰动图数据作为输入的训练中(自监督标签矩阵YSSY_{SS}YSS​也从扰动输入生成)。在CNN中观察到,自我监督提高了鲁棒性和不确定性估计,而不需要更大的模型或额外的数据(Hendrycks等人,2019年)。因此,我们通过实验探索这是否也适用于GCNS。

笔记:论文阅读 | 图上的对抗性攻击与防御
深度神经网络(DNN)在各种任务中均取得了显著成绩。但是,最近的研究表明,DNN可以很容易地被输入上的小扰动(称为对抗攻击)所欺骗。作为DNN向图的扩展,已经证明图神经网络(GNN)可以继承此漏洞。攻击者可以通过修改图结构(如上图所示)来误导GNN做出错误的预测。为了在安全关键型应用(比如信用评分系统)中应用GNN,也必须有相应的防御策略。在这篇综述中,作者对现有的攻击和防御方法进行了分类,并回顾了相应的最新方法。此外,作者团队还开发了包含其中代表性算法的库,基于此可以进行实证研究,以加深对图上攻击和防御的理解。
对抗与防御参考

4. Experiments

在这一部分中,我们广泛地评估、分析和合理化了自我监督对transductive半监督节点分类的影响,这些方面包括:1)具有不同自我监督方案的gcn的标准性能;2)三种流行的广域网络体系结构–gcn、图注意网络和图同构的多任务自我监督的标准性能。以及关于两个用于半监督节点分类的SOTA模型的结果-图马尔可夫神经网络(GMNN),它将统计关系学习引入其体系结构以促进训练,GraphMix使用Mixup技巧;以及3)具有多任务自我监督的GCN在对抗防御中的性能。实施详情见附录A。

表4:数据集统计数据。∣V∣|V|∣V∣,∣VLabel|V_{Label}∣VLabel​|,∣E∣|E|∣E∣,NNN分别表示每个节点的节点数、标签节点数、边数和特征维数。

4.1. Self-Supervision Helps Generalizability

通过各种计划将自我监督纳入GCNS。我们首先研究了三个将自我监督纳入GCN培训的方案(第3.2节):预训练和微调、自训练(M3S)和多任务学习。M3S的超参数设置为默认值(Sun等人,2019年)。表5使用目标性能(节点分类的准确性)总结了三种方案与各种自监督任务相结合对三个数据集的不同效果。对于每个具有不同随机种子的数据集,每个自监督方案和任务的组合运行50次,以便报告其性能的平均值和标准差。

表5:通过各种方案将三个自我监督任务(节点聚类、图划分和图完成)整合到GCNS中时的节点分类性能(准确率;单位:%):预训练和精调(简写为:P&T)、自我训练M3S和多任务学习(简写为。MTL)。红色数字表示平均改善至少0.8(其中0.8表示与观察到的标准偏差相当或小于观察到的标准偏差)的最佳两个性能。在没有自我监督的GCN的情况下,灰色数字表示发表的结果。

表5中的结果首先显示,在将自我监督纳入GCNS的三个方案中,预训练和微调为小型数据集CORA提供了一些性能改进,但对于较大型的数据集Citeseer和PubMed不会这样做。无论选择哪种具体的自我监督任务,这一结论都是有效的。适度的性能提升呼应了我们之前的猜测:虽然关于图结构和特征的信息首先是在预训练阶段通过自我监督(Lssas in(3))学习的,但这些信息可能会在仅针对目标监督损失Lsup(2)的精调过程中大量丢失L_{sup} (2)的精调过程中大量丢失Lsup​(2)的精调过程中大量丢失L_{sup} (2)。在GCNS中特别观察到这种信息丢失的原因可能是,在精调中从一个目标函数切换到另一个目标函数时,在transductive半监督设置中使用的浅GCNS可以更容易地被“重写”。

通过剩下的两个方案,与没有自我监督的GCN相比,加入自我监督的GCNS可以在目标任务(节点分类)上看到更显著的改善。与(3)中在自我监督后切换目标函数并在(2)中解决新的优化问题的预训练和精调相比,自训练和多任务学习都通过一个优化问题将自我监督结合到GCNS中,并且都在(2)中的原始公式的基础上引入了额外的自我监督损失。

它们的不同之处在于使用了什么伪标签,以及如何为未标记的节点生成伪标签。在自训练的情况下,伪标签与目标任务标签相同,并且基于图嵌入中未标记节点与已标记节点的邻近度,将这种“虚拟”标签分配给未标记节点。在多任务学习的情况下,伪标签不再局限于目标任务标签,可以通过利用图的结构和节点特征而不需要标签数据来分配给所有未标签的节点。以及多任务学习仍通过通用图嵌入进行耦合。中的目标监督和自我监督。所以与自我训练相比,多任务学习可以更通用(在伪标签中),并且可以在图形数据中利用更多(通过正则化)。

Sotas上的多任务自我监督。
多任务自我监督对SOTA GCNS有帮助吗?既然我们已经建立了多任务学习作为将自我监督纳入GCNS的有效机制,我们就着手探索通过多任务学习来增加各种自我监督任务对SOTAS的好处。表6显示了不同的自监督任务可能会在不同的数据集上为不同的网络架构带来不同程度的好处。

表6:在SOTAS(GCN、GAT、GIN、GMNN和GraphMix)上进行的多任务自我监督实验。红色数字表示每个SOTA的最佳两个性能。

多任务自我监督何时能帮助SOTAS,为什么?我们注意到,图划分通常对所有三个数据集上的所有三个SOTA(网络体系结构)都是有利的,而节点聚类不会使PubMed上的SOTA受益。正如3.2节及以上讨论的那样,多任务学习将自我监督任务引入(4)中的优化问题,作为数据驱动的正则化,这些任务代表各种先验(见3.3节)。

(1)基于特征的节点聚类假设特征相似度隐含着目标-标签相似度,可以将具有相似特征的远距离节点分组在一起。当数据集较大且特征维数相对较低时(如PubMed),基于特征的聚类在提供信息性伪标签方面可能会受到挑战。

(2)基于拓扑的图划分假设拓扑中的连接蕴含着标签中的相似性,这对于都是引文网络的三个数据集是安全的。此外,作为分类任务的图划分不会强加过强的假设。因此,图划分所表示的先验知识对于GCNS(至少对于所考虑的目标任务和数据集的类型)是通用和有效的。

(3)拓扑和基于特征的图补全假设图的小邻域内的特征相似性或光滑性。这种基于上下文的特征表示可以极大地提高目标性能,特别是当邻域较小时(例如Citeseer在所有三个数据集中具有最小的平均度)。然而,面对更密集的具有更大邻域的图和更困难的完成任务(例如,需要完成具有连续功能的更大、更密集的PubMed),回归任务可能会面临挑战。也就是说,来自图完成的潜在信息先验可以极大地帮助其他任务,稍后将对此进行验证(第4.2节)。
S
GNN架构是否影响多任务自我监督?对于每个GNN架构/模型,所有三个自监督任务都可以提高某些数据集的性能(PubMed上的GMNN除外)。GCN、GAT和GIN的改进更为显著。我们推测,通过不同的先验进行数据正则化可以使这三种先验较弱的体系结构(尤其是GCN)从一开始就受益。相比之下,GMNN在图形完成方面几乎没有什么改进。GMNN将统计关系学习(SRL)引入到体系结构中,对顶点与其邻域之间的依赖关系进行建模。考虑到图完成有助于基于上下文的表示,并且充当与SRL有点相似的角色,因此自监督和体系结构优先级可能是相似的,它们的组合可能没有帮助。类似地,GraphMix在体系结构中引入了数据增强方法Mixup来改进特征嵌入,这再次降低了目标重叠的图完成的能力。

我们还在附录B中报告了归纳全监督节点分类的结果。在这种情况下,自我监督会带来适度的成绩提高,在半监督或少机会的学习中似乎更有好处。

4.2.自我监督增强对抗鲁棒性

除了提高图嵌入的通用性(4.1节)之外,多任务自我监督还能给GCNS带来什么额外的好处?此外,我们还在GCN上对Nettack进行了多任务自我监督的对抗性实验以检验其在鲁棒性方面的潜在好处。

我们首先生成与对抗性训练中相同的扰动强度(nperturb=2n_{perturb}=2nperturb​=2,请参见附录A中的详细信息)的攻击,以查看鲁棒性的泛化。对于每个自监督任务,超级参数的设置如表6所示,每次实验重复5次,因为对测试节点的攻击过程非常耗时。

哪些自我监督任务有助于防御哪些类型的图攻击?为什么?在表7和表8中,我们发现在对抗性训练中引入自我监督可以提高GCN的对抗性防御。(1)节点分类和图划分分别对特征攻击和链接攻击更有效。在对抗性训练过程中,节点聚类优先提供扰动特征,图划分优先扰动GCN的链接,分别提高了GCN抵抗特征攻击和链路攻击的能力。(2)对于CORA上的链接攻击和特征链接攻击,图补全显著地提高了约4.5(%)的对抗准确率和8.0(%)以上的对抗准确率。对于Citeseer上的链接攻击和链接和功能攻击,它也是最好的自我监督任务之一,尽管改进幅度较小(约为1%)。与我们在4.1节中的猜想一致,基于拓扑和特征的图完成在链接和特征上构造(联合)扰动,这有利于GCN抵抗链接或链接和特征攻击。

此外,我们产生了不同扰动强度(nperturb∈{1,2,3,4})的攻击来检验我们结论的普适性。附录C中的结果表明,在对抗性训练中引入自我监督后,GCN仍然可以提高其对不同强度的各种攻击的鲁棒性。

4.3. Result Summary

我们简要地总结了以下结果。

首先,在三种将自我监督纳入GCNS的方案中,多任务学习起到了正则化的作用,并通过适当的自我监督任务使GCNS在可概括的标准表现上始终受益。预训练&微调将目标函数从自我监督转换为目标监督损失,容易“覆盖”浅层的GCNS,并获得有限的性能增益。自训练在分配什么伪标签和使用什么数据来分配伪标签方面受到限制。而且它的性能增益在少镜头学习中更为明显,并且可能会随着标签率的略微增加而减小。

第二,通过多任务学习,自我监督任务提供了信息先验,这有助于GCN在概括目标绩效方面的优势。节点聚类和图划分分别提供节点特征和图结构的先验信息,而具有(联合)先验信息的图完成在基于上下文的特征表示中帮助GCN。自我监督任务是否有助于SOTA GCN达到标准目标性能取决于数据集是否允许对应于该任务的质量伪标签,以及自我监督先验是否补充了现有的体系结构设定的先验。

最后,对抗性训练中的多任务自我监督提高了GCN对各种图攻击的鲁棒性。节点聚类和图划分提供了特征和链接的优先级,因此可以更好地防御特征攻击和链接攻击。图补全在特征和链接上都有(联合)扰动先验,对于最具破坏性的特征&链接攻击,它一致地提高了健壮性,有时甚至大大提高了健壮性。

表7:在CORA上使用对抗性训练的对抗性防御表现(简写。Advt)在没有或有图自我监督的情况下。攻击包括对链接、特征的攻击(缩写。Feats),两者兼而有之。红色数字表示每种攻击场景下最好的两个性能(节点分类准确率,单位:%)。

5.结论

本文对图卷积网络(GCNS)引入自监督的标准性和对抗性进行了系统的研究。本文首先阐述了自我监督纳入GCNS的三种机制,并从优化的角度对其对标准绩效的影响进行了合理化。然后针对多任务学习,设计了三个新颖的自监督学习任务。并从数据驱动正则化的角度,对它们在各种数据集上的泛化标准性能上的优势进行了合理化。最后,我们将多任务自我监督集成到图的对抗性训练中,并证明了它们提高了GCNS对对抗性攻击的鲁棒性。结果表明,在合理设计任务形式和合并机制的情况下,自我监督有利于GCNS的泛化和鲁棒性。我们的结果还为设计这样的任务形式和合并任务提供了合理的视角,这些任务包括数据特征、目标任务和神经网络结构。

When Does Self-Supervision Help Graph Convolutional Networks?相关推荐

  1. 图融合GCN(Graph Convolutional Networks)

    图融合GCN(Graph Convolutional Networks) 数据其实是图(graph),图在生活中无处不在,如社交网络,知识图谱,蛋白质结构等.本文介绍GNN(Graph Neural ...

  2. Semi-Supervised Classification with Graph Convolutional Networks

    Kipf, Thomas N., and Max Welling. "Semi-supervised classification with graph convolutional netw ...

  3. 论文笔记:Semi-Supervised Classification with Graph Convolutional Networks

    Semi-Supervised Classification with Graph Convolutional Networks 1.四个问题 要解决什么问题? 半监督任务.给定一个图,其中一部节点已 ...

  4. 知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks

    题目: Multi-behavior Recommendation with Graph Convolutional Networks 论文地址: 论文代码: 想法 将相同行为的交互方式进行了聚合来计 ...

  5. 知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender

    题目: KGCN 论文链接: 代码链接:https://github.com/hwwang55/KGCN 想法 高阶的意思就是multi-hop的意思 注意是从外向里聚合的,第h-1跳是外侧,第h跳是 ...

  6. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)

    文章目录 abstract 1.introduction 1.1 dense connection+GCN 1.2 效果突出 1.3 contribution 2.Attention Guided G ...

  7. 【论文笔记】Factorizable Graph Convolutional Networks

    文章目录 1. Abstract 2. Method 2.1 Disentangling Step 2.2 Aggregation Step 2.3 Merging Step 3. 总体架构 4. 超 ...

  8. [GCN] 代码解析 of GitHub:Semi-supervised classification with graph convolutional networks

    本文解析的代码是论文Semi-Supervised Classification with Graph Convolutional Networks作者提供的实现代码. 原GitHub:Graph C ...

  9. paper reading:[renormalization]Semi-supervised Classification with Graph Convolutional Networks

    paper reading:[Renormalization Trick] Semi-supervised classification with graph convolutional networ ...

  10. [GCN] 增加可视化+代码注释 of GitHub项目:Graph Convolutional Networks in PyTorch

    增加可视化+代码注释 of GitHub项目:Graph Convolutional Networks in PyTorch 更详细的,强烈推荐另一篇博客:[GCN] 代码解析 of GitHub:G ...

最新文章

  1. 数字图像处理——第四章 频率域滤波
  2. Zebra ZE500打印机常见问题指南
  3. 【400】numpy.pad 为数组加垫(迷宫类题目)
  4. 关于Task类处理多线程简单示例
  5. 【推荐】Google告诉你如何做移动搜索的
  6. C++基本入门资料搜集
  7. vue页面跳转后返回原页面初始位置
  8. linux下时间同步的两种方法分享
  9. 【LeetCode - 123】买卖股票的最佳时机 III
  10. 谈谈JS里的{ }大括号和[ ]中括号的用法
  11. python装饰器详解-如何更通俗地讲解Python的装饰器?
  12. A*算法 带cocos2d-x例子 a*寻路算法
  13. (转)比特币该如何扩容
  14. 最大速度、加速度时间,加速度、加加速度、加加速度时间
  15. iOS打包ipa安装包的流程
  16. Word2010编号、多级列表、样式、图注的综合设置
  17. 体验为王-2021友盟+移动性能优化比赛第一名作品
  18. 基于Patachmatch的stereo matching笔记(二):《DeepPruner》
  19. 想不想修真鸿蒙之礼奖励,想不想修真论道之礼额外奖励获取攻略
  20. Spring-@Bean

热门文章

  1. PPT个人学习笔记(三)——模版背景的设计
  2. python winrar 密码_python+winrar 指令压缩文件
  3. OSS对象存储是什么?
  4. 电脑里删除的文件怎么恢复,数据恢复方法大全
  5. 100%解决GitHub打不开或者打开慢
  6. matlab打开dat形式文件_将matlab中数据保存为txt或dat格式
  7. 时序分析28 - 时序预测 格兰杰因果关系(中) python实践1
  8. Liang-Barsky 裁剪算法
  9. Email,电子邮箱免费注册流程
  10. exchange虚拟服务器,exchange服务器之为Exchange服务重建IIS虚拟目录