Skip to content

AutoGCL

AutoGCL: Automated Graph Contrastive Learning via Learnable View Generators

  1. motivation: 目前大部分图对比学习的方法只能基于固定方法产生的view进行学习,无法针对不同的图数据自适应的产生view,因此作者提出了自动对比view生成方法 AutoGCL。该方法为每种图增广方法设计了一个视图生成学习器,来学习针对特定图数据的图数据增强手段的分布

  2. 主要增强方法: 构造 graph view,在 view 的视角上实现 node dropping

  3. 可学习的graph view generator: 作者首先将原图输入到一个GNN(作者采用的是GIN)得到一个embedding,然后对这个embedding进行概率预测,选择三种手段:drop掉该节点、mask掉节点特征、还是保留该节点;之后使用gumbel-softmax对这些概率进行采样,为每个节点选取一个数据增强的手段 AutoGCL_view_generator
  4. 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) \]
  5. 训练策略

    • 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}\) AutoGCL
  6. 方法评价: 提出了好的 graph view generator 的性质,且契合data-centric的理念

    • 拓扑级和特征级都要增强

    • 保持标签,即维护原图的语义信息

    • 适应性强,可扩展到不同的数据分布以及大图

    • 为对比多视角预训练提供足够的方差

    • 有效性:端到端可微,可以通过反向传播进行快读梯度计算