代码地址: https://github.com/Shen-Lab/SS-GCNs 论文地址:
https://arxiv.org/abs/2006.09136
0 Abstract
我们首先阐述了将自我监督纳入 GCN 的三种机制,分析了预训练和微调以及自我训练的局限性,并继续关注多任务学习。
此外,我们建议通过理论依据和数值比较来研究GCN的三个新的自监督学习任务
最后,我们进一步将多任务自监督集成到图对抗训练中。
1 Introduction
CNN中的pretext task:rotation、exemplar、jigsaw、relative patch location prediction
自监督学习能否在 GCN 中发挥类似的作用以提高其泛化性和鲁棒性?
本文提出了第一个关于如何在GCN中加入自我监督的系统研究,并通过解决三个具体问题进行了阐述:
- GCN 能否在分类性能方面受益于自监督学习?如果是,如何将其纳入GCN中以使收益最大化?
- pretext task的设计重要吗?GCN有那些有用的自监督pretext task?
- 自我监督也会影响 GCN 的对抗性鲁棒性吗?如果是,如何设计pretext task?
针对以上问题,本文的贡献:
- 我们证明了通过多任务学习将自监督学习纳入 GCN 的有效性,即作为 GCN 训练中的正则化项。与作为预训练或通过自我训练的自我监督相比,它更有优势
- 我们研究了基于图属性的三个自监督任务:节点聚类、图划分、图补全
- 我们进一步将上述发现推广到对抗训练环境中。我们提供了大量的结果来表明自我监督还提高了 GCN 在各种攻击下的鲁棒性,而无需更大的模型或额外的数据。
2 Related Work
Graph-based semi-supervised learning
基于半监督图的学习的关键假设是与较大权重的边相连的节点更有可能具有相同的标签
Self-supervised learning
到目前为止,CNN中自我监督的使用主要分为两类:预训练和微调,或多任务学习。
Adversarial attack and defense on graphs
3 Method
3.1 Graph Convolutional Networks
两层半监督分类的GCN模型表示为:
Z = A ^ R e L U ( A ^ X W 0 ) W 1 Z = \hat{A} ReLU(\hat{A}XW_0)W_1 Z=A^ReLU(A^XW0)W1
GCNs中的模型参数通过最小化已标记节点的输出与真实标签之间计算的监督损失来学习,可表示为:
Z = f θ ( X , A ^ ) Θ Z = f_{\theta}(X,\hat{A}) \Theta Z=fθ(X,A^)Θ
θ ∗ , Θ ∗ = a r g min θ , Θ L s u p ( θ , Θ ) = a r g min θ , Θ 1 ∣ V l a b e l ∣ ∑ v n ∈ V l a b e l L ( z n , y n ) \begin{aligned} \theta^*, \Theta^* &= arg \min_{\theta,\Theta} \mathcal{L}_{sup}(\theta,\Theta) \\ &= arg \min_{\theta,\Theta} \frac {1} {| \mathcal{V}_{label} |} \sum_{v_n \in \mathcal{V}_{label}} L(z_n,y_n) \end{aligned} θ∗,Θ∗=argθ,ΘminLsup(θ,Θ)=argθ,Θmin∣Vlabel∣1vn∈Vlabel∑L(zn,yn)
3.2 Three Schemes: Self-Supervision Meets GCNs
预训练 & 微调
在预训练过程中,使用如下自我监督任务对网络进行训练
Z s s = f θ ( X s s , A s s ^ ) Θ s s Z_{ss} = f_{\theta}(X_{ss},\hat{A_{ss}}) \Theta_{ss} Zss=fθ(Xss,Ass^)Θss
θ s s ∗ , Θ s s ∗ = a r g min θ , Θ s s L s s ( θ , Θ s s ) = a r g min θ , Θ 1 ∣ V s s ∣ ∑ v n ∈ V s s L ( z s s , n , y s s , n ) \begin{aligned} \theta^*_{ss}, \Theta^*_{ss} &= arg \min_{\theta,\Theta_{ss}} \mathcal{L}_{ss}(\theta,\Theta_{ss}) \\ &= arg \min_{\theta,\Theta} \frac {1} {| \mathcal{V}_{ss} |} \sum_{v_n \in \mathcal{V}_{ss}} L(z_{ss,n},y_{ss,n}) \end{aligned} θss∗,Θss∗=argθ,