论文解读(IGSD)《Iterative Graph Self-Distillation》
论文信息
论文标题:Iterative Graph Self-Distillation
论文作者:Hanlin Zhang, Shuai Lin, Weiyang Liu, Pan Zhou, Jian Tang, Xiaodan Liang, Eric P. Xing
论文来源:2021, ICLR
论文地址:download
论文代码:download
1 Introduction
创新点:图级对比。
2 Method
整体框架如下:

2.1 Iterative Graph Self-Distillation Framework
在 IGSD 中,引入了一个结构相似的两个网络,由 encoder $f_{\theta}$、projector $g_{\theta}$ 和 predictor $h_{\theta}$ 组成。我们将教师网络和学生网络的组成部分分别表示为 $f_{\theta^{\prime}}$、$g_{\theta^{\prime}}$ 和 $f_{\theta}$、$g_{\theta}$、$h_{\theta}$
IGSD 过程描述如下:
- 首先对原始输入图 $G_{j}$ 进行扩充,以获得增广视图 $G_{j}^{\prime}$。然后将 $G_{j}^{\prime}$ 和不同的图实例 $G_{i}$ 分别输入到两个编码器 $f_{\theta}$、$f_{\theta^{\prime}}$ 中,用于提取图表示 $\boldsymbol{h}, \boldsymbol{h}^{\prime}=f_{\theta}\left(G_{i}\right), f_{\theta^{\prime}}\left(G_{j}^{\prime}\right) $;
- 其次,投影头 $g_{\theta}$,$g_{\theta^{\prime}}$ 通过 $z=g_{\theta}(\boldsymbol{h})=W^{(2)} \sigma\left(W^{(1)} \boldsymbol{h}\right)$ 和 $z^{\prime}=g_{\theta^{\prime}}\left(\boldsymbol{h}^{\prime}\right)=W^{\prime(2)} \sigma\left(W^{\prime(1)} \boldsymbol{h}^{\prime}\right) $ 转换图表示 $\boldsymbol{h}, \boldsymbol{h}^{\prime}$ 到投影 $z$,$z^{\prime}$,其中 $\sigma$ 表示ReLU非线性;
- 最后,为防止崩溃为一个平凡的解,在学生网络中使用预测头来获得投影 $z$ 的预测 $h_{\theta}(z)=W_{h}^{(2)} \sigma\left(W_{h}^{(1)} z\right) $;
通过对称传递两个图实列 $G_{i}$ 和 $G_{j}$,可以得到总体一致性损失:
$\mathcal{L}^{\text {con }}\left(G_{i}, G_{j}\right)=\left\|h_{\theta}\left(z_{i}\right)-z_{j}^{\prime}\right\|_{2}^{2}+\left\|h_{\theta}\left(z_{i}^{\prime}\right)-z_{j}\right\|_{2}^{2}\quad\quad\quad(2)$
在一致性损失的情况下,teacher network 提供了一个回归目标来训练 student network,在通过梯度下降更新 student network 的权值后,将其参数 $\theta^{\prime}$ 更新为学生参数 $\theta$ 的指数移动平均值(EMA):
$\theta_{t}^{\prime} \leftarrow \tau \theta_{t-1}^{\prime}+(1-\tau) \theta_{t}\quad\quad\quad(3)$
2.2 Self-supervised Learning with IGSD
给定一组无标记图 $\mathcal{G}=\left\{G_{i}\right\}_{i=1}^{N}$,我们的目标是学习每个图 $G_{i} \in \mathcal{G}$ 的低维表示,有利于下游任务,如图分类。
在 IGSD 中,为了对比锚定 $G_{i}$ 与其他图实例$G_{j}$(即负样本),使用以下自监督的 InfoNCE 目标:
${\large \mathcal{L}^{\text {self-sup }}=-\mathbb{E}_{G_{i} \sim \mathcal{G}}\left[\log \frac{\exp \left(-\mathcal{L}_{i, i}^{\mathrm{con}}\right)}{\exp \left(-\mathcal{L}_{i, i}^{\mathrm{con}}\right)+\sum_{j=1}^{N-1} \mathbb{I}_{i \neq j} \cdot \exp \left(-\mathcal{L}_{i, j}^{\mathrm{con}}\right)}\right]} $
其中,$\mathcal{L}_{i, j}^{\text {con }}=\mathcal{L}^{\text {con }}\left(G_{i}, G_{j}\right)$ 。
我们通过用混合函数 $\operatorname{Mix}_{\lambda}(a, b)=\lambda \cdot a+(1-\lambda) \cdot b$:融合潜在表示 $\boldsymbol{h}=f_{\theta}(G) $ 和 $\boldsymbol{h}^{\prime}=f_{\theta^{\prime}}(G)$,得到图表示 $\tilde{\boldsymbol{h}}$ :
$\tilde{\boldsymbol{h}}=\operatorname{Mix}_{\lambda}\left(\boldsymbol{h}, \boldsymbol{h}^{\prime}\right)$
2.3 Semi-supervised Learning with IGSD
考虑一个整个数据集 $\mathcal{G}=\mathcal{G}_{L} \cup \mathcal{G}_{U}$ 由标记数据 $\mathcal{G}_{L}= \left\{\left(G_{i}, y_{i}\right)\right\}_{i=1}^{l}$ 和未标记数据 $G_{U}=\left\{G_{i}\right\}_{i=l+1}^{l+u} $(通常 $u \gg l$ ),我们的目标是学习一个模型,可以对不可见图的图标签进行预测。生成 $K$ 个增强视图,我们得到了 $ \mathcal{G}_{L}^{\prime}= \left\{\left(G_{k}^{\prime}, y_{k}^{\prime}\right)\right\}_{k=1}^{K l} $ 和 $\mathcal{G}_{U}^{\prime}=\left\{G_{k}^{\prime}\right\}_{k=l+1}^{K(l+u)} $ 作为我们的训练数据。
为了弥合自监督的预训练和下游任务之间的差距,我们将我们的模型扩展到半监督设置。在这种情况下,可以直接插入自监督损失作为表示学习的正则化器。然而,局限于标准监督学习的实例性监督可能会导致有偏的负抽样问题。为解决这一问题,我们可以使用少量的标记数据来进一步推广相似性损失,以处理属于同一类的任意数量的正样本:
$\mathcal{L}^{\text {supcon }}=\sum\limits_{i=1}^{K l} \frac{1}{K N_{y_{i}^{\prime}}} \sum\limits_{j=1}^{K l} \mathbb{I}_{i \neq j} \cdot \mathbb{I}_{y_{i}^{\prime}=y_{j}^{\prime}} \cdot \mathcal{L}^{\text {con }}\left(G_{i}, G_{j}\right)\quad\quad\quad(5)$
其中,$N_{y_{i}^{\prime}}$ 表示训练集中与锚点 $i$ 具有相同标签 $y_{i}^{\prime}$ 的样本总数。由于IGSD的图级对比性质,我们能够缓解带有监督对比损失的有偏负抽样问题,这是至关重要的,但在大多数 context-instance 对比学习模型中无法实现,因为子图通常很难给其分配标签。此外,有了这种损失,我们就能够使用自我训练来有效地调整我们的模型,其中伪标签被迭代地分配给未标记的数据。
对于交叉熵或均方误差 $\mathcal{L}\left(\mathcal{G}_{L}, \theta\right) $,总体目标可以总结为:
$\mathcal{L}^{\text {semi }}=\mathcal{L}\left(G_{L}, \theta\right)+w \mathcal{L}^{\text {self-sup }}\left(\mathcal{G}_{L} \cup \mathcal{G}_{U}, \theta\right)+w^{\prime} \mathcal{L}^{\text {supcon }}\left(\mathcal{G}_{L}, \theta\right)\quad\quad\quad(6)$
3 Experiments
节点分类


3 Conclusions
在本文中,我们提出了一种新的基于自蒸馏的图级表示学习框架IGSD。我们的框架通过对图实例的增强视图的实例识别,迭代地执行师生精馏。在自监督和半监督设置下的实验结果表明,IGSD不仅能够学习与最先进的模型竞争的表达性图表示,而且对不同的编码器和增强策略的选择也有效。在未来,我们计划将我们的框架应用到其他的图形学习任务中,并研究视图生成器的设计,以自动生成有效的视图。
论文解读(IGSD)《Iterative Graph Self-Distillation》的更多相关文章
- 论文解读《Bilinear Graph Neural Network with Neighbor Interactions》
论文信息 论文标题:Bilinear Graph Neural Network with Neighbor Interactions论文作者:Hongmin Zhu, Fuli Feng, Xiang ...
- 论文解读《Cauchy Graph Embedding》
Paper Information Title:Cauchy Graph EmbeddingAuthors:Dijun Luo, C. Ding, F. Nie, Heng HuangSources: ...
- 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》
论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...
- 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》
论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...
- 论文解读(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》
论文信息 论文标题:Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data论文作者:Qi Zhu, ...
- 论文解读(LG2AR)《Learning Graph Augmentations to Learn Graph Representations》
论文信息 论文标题:Learning Graph Augmentations to Learn Graph Representations论文作者:Kaveh Hassani, Amir Hosein ...
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...
- 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》
论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...
- 论文解读(DGI)《DEEP GRAPH INFOMAX》
论文标题:DEEP GRAPH INFOMAX 论文方向:图像领域 论文来源:2019 ICLR 论文链接:https://arxiv.org/abs/1809.10341 论文代码:https:// ...
随机推荐
- 微服务部署 docker-compose
1.docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很 ...
- synchronized和 synchronized 了解偏向锁、轻量级锁、重量级锁的概念以及升级机制、以及和ReentrantLock的区别。
并发 synchronized 了解偏向锁.轻量级锁.重量级锁的概念以及升级机制.以及和ReentrantLock的区别. https://www.cnblogs.com/deltadeb ...
- BTree和B+Tree 简单区别
本篇作用于各种树之间的区别,非算法详细介绍,只是给我们这种非科班出身的一种大概的印象,现在网上更多是讲各种树的怎么实现的细节问题,本篇不涉及那么高深,如果详细了解可以查阅他人的资料,很多大神已经说的很 ...
- Java 枚举和单例模式?
编写 Java 程序时, 如何在 Java 中创建死锁并修复它?经典但核心Java面试问题之一.如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败.如何避免 Java 线程死锁?如何避 ...
- java中会存在内存泄漏吗,请简单描述?
所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中.java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉.由于Jav ...
- Java中如何声明方法?JavaScript中如何声明函数?
public void method(){ } //实例方法 Function Declaration 可以定义命名的函数变量,而无需给变量赋值.Function Declaration 是一种独立的 ...
- memcached 最大能存储多大的单个 item?
1MB.如果你的数据大于 1MB,可以考虑在客户端压缩或拆分到多个 key 中. 为什么单个 item 的大小被限制在 1M byte 之内? 简单的回答:因为内存分配器的算法就是这样的. 详细的回答 ...
- WebSQL是什么?
WebSQL是客户浏览器端的结构化的关系数据库.这是浏览器内部的本地RDBMS,你可以在这个本地RDBMS上执行SQL查询.
- spring event
昨天看到了一遍关于spring event的帖子,觉得很好,就照着敲了一份代码,感觉对spring event有了进一步的认识.帖子链接:https://segmentfault.com/a/1190 ...
- 体验js之美第八课-面向对象创建和继承终结篇
概述 到这里我们讲说js面向对象的系列部分的最后一个课程,面向对象必须掌握两个东西一个是对象的创建一个是继承.这节课我们重点说说这两个问题最后我们说下在ES6里面面向对象怎么玩. 1对象的创建 我们第 ...