AutoGCL¶
AutoGCL: Automated Graph Contrastive Learning via Learnable View Generators
-
motivation: 目前大部分图对比学习的方法只能基于固定方法产生的view进行学习,无法针对不同的图数据自适应的产生view,因此作者提出了自动对比view生成方法 AutoGCL。该方法为每种图增广方法设计了一个视图生成学习器,来学习针对特定图数据的图数据增强手段的分布
-
主要增强方法: 构造 graph view,在 view 的视角上实现 node dropping
- 可学习的graph view generator: 作者首先将原图输入到一个GNN(作者采用的是GIN)得到一个embedding,然后对这个embedding进行概率预测,选择三种手段:drop掉该节点、mask掉节点特征、还是保留该节点;之后使用gumbel-softmax对这些概率进行采样,为每个节点选取一个数据增强的手段
-
loss
-
contrastive loss
\[ \text{sim}(z_1, z_2) = \frac{z_1\cdot z_2}{\parallel z_1 \parallel_2\cdot \parallel z_2 \parallel_2} \\ \ell_{(i, j)} = -\log\frac{\exp(\text{sim}(z_i, z_j) / \tau)}{\sum_{k=1}^{2N}\mathbb{1}_{[k\ne i]}\exp(\text{sim}(z_i, z_k) / \tau)} \\ \mathcal{L}_{cl} = \frac{1}{2N}\sum_{k=1}^N[\ell(2k-1, 2k) + \ell(2k, 2k-1)] \] -
similarity loss:尽量让两个增强图不一样,即为了保证生成的视图不要坍缩成一个(也是作者提到的一点:引入足够的方差)
\[ \mathcal{L}_{sim} = \text{sim}(A_1, A_2) \] -
classification loss(可以看到AutoGCL不仅采用两个增强图,也采用原图)
\[ \mathcal{L}_{cls} = \ell_{cls}(F(g), y) + \ell_{cls}(F(g_1), y) + \ell_{cls}(F(g_2), y) \]
-
-
训练策略
- unsupervised learning and transfer learning tasks: 作者采用naive training,即类似于以前的对比学习,先使用无标签数据训练encoder和generator,其中只使用 \(\mathcal{L}_{cl}\) 损失,因为作者认为没有标签引导,\(\mathcal{L}_{sim}\) 只会单纯让两个视图尽量不同,而底层语义信息的完整性(即标签的相关信息)无法保证;之后再利用有标签数据进行正常的分类训练以及 \(\mathcal{L}_{cls}\) 的参数更新
- semi-supervised: 采用联合训练(joint training):不同于上面,而是采用交替无标签和标签的数据,无标签同上;有标签的采用 \(\mathcal{L}_{cls} + \lambda\mathcal{L}_{sim}\)
-
方法评价: 提出了好的 graph view generator 的性质,且契合data-centric的理念
-
拓扑级和特征级都要增强
-
保持标签,即维护原图的语义信息
-
适应性强,可扩展到不同的数据分布以及大图
-
为对比多视角预训练提供足够的方差
-
有效性:端到端可微,可以通过反向传播进行快读梯度计算
-