图神经网络自监督学习工具箱 - AutoGCL

文章名称

【AAAI-2022】AutoGCL: Automated Graph Contrastive Learning via Learnable View Generators

核心要点

文章旨在解决现有图神经网络对比学习方法,只能基于预定义的对比视图进行学习,无法针对不同的图输入数据自适应的产生对比视图的问题,提出了自动对比视图生成方法AutoGCL。该方法为每种图增广方法设计了一个视图生成学习器,来学习针对特定图数据的,图增广方法概率分布。此外,AutoGCL采用Joint Optimization的策略来端到端的学习对比视图生成器,图编码器和分类器,可以适应不同的拓扑和语义结构。

研究背景

图神经网络已经成为图表示学习的主流学习器,通过不断汇聚邻居节点的信息,GNN能够在有监督的情况下学习(下游任务)性能优异的节点表示。然而,标注数据缺失是整个机器学习界面临的根本难题(notoriously)。GAE,GraphSage等naive的表示学习方法仅仅是重建邻接矩阵,不能充分学习结构和属性信息。

对比学习利用不同的对比视图,获得正样本(同输入的不同视图下的表示)和负样本(不同输入的,不同或相同视图下的表示)。并基于对比损失拉进正样本表示,推远负样本表示来学习的节点表示。

选取合适的对比视图(Contrastive View)是基于对比的图神经网络自监督学习方法的核心。大多数现有的对比图神经网络学习方法采用预定义的对比视图,例如node drop或者edge perturbation。此类方法通常无法适用于新的输入或良好的保持原图数据的结构(因为图数据的异质性无法很好地迁移这些预定义的任务)。并且不同于图像的增广方法,图增广方法不一定能保证底层语义的稳定性(删除了一些属性可能图的语义,比如分子图,就发生了变化)。

InfoMin (Tian et al. 2020)提出利用基于流行的生成模型,为特定输入数据学习不同对比视图的分布。基于InfoMin的思想,作者提出AutoGCL学习节点级图增广方法的概率分布。

方法细节

AutoGCL的目标是设计一个可学习的图数据对比视图生成器,以(输入)数据驱动对比视图生成。与JOAO(You et al. 2021)从现有的图增广方法中进行组合不同(感兴趣的同学可以参考的解读),AutoGCL是对每个图生成不同的视图。作者认为,好的对比视图应该具有如下特性,

  • 能够在图的拓扑结构和节点特征级别都进行增广。
  • 能够保持原始图数据中的语义信息,例如节点的类别标签等。
  • 能够适应不同的数据分布,并且可以扩展到大规模图数据上。
  • 能够为对比多视图预训练任务提供了足够的方差(个人理解,没方差学不出东西,就比如常数特征)。
  • 能够快速求解,例如通过反向传播,端到端进行可微计算。

通过分析现有方法的图增广策略和参数选择,AutoGCL选择node dropping和attribute masking两种增广策略。不同的是,AutoGCL的增广策略是在节点级别应用端,也就是说每个节点都可能采用不同的增广参数(文章称“aug ratio”)来同时进行node dropping和attribute masking。(个人感觉,片面的讲,就是预设增广方式的自动超参数调节) 作者强调之所以没有采用edge perturbation,是由于边生成方法需要预测整个邻接矩阵,因此计算效率不高(个人感觉,可能会少一些拓扑逻辑学习的能力)。

Learnable Graph View Generator

AutoGCL的整体框架如下图所示,GIN被用来学习节点表示。基于该表示,AutoGCL利用 gumbel-softamx (Jang, Gu, and Poole 2016)来选择删除、保留或者遮盖该节点。注意,mask节点是指用\vec{0}替换节点属性的向量,而drop意味着去掉该节点以及与其相连的所有边。

framework of AutoGCL

具体的做法可以形式化为如下图所示,其中,{h}^{(\cdot)}_{v}, {a}^{(\cdot)}_{v}, {f}^{}_{v}, {x}^{}_{v}分别表示节点的隐向量表示,增广采样概率向量(从中采样增广方法),采样得到的增广方法one-hot向量以及节点特征向量。

the formulation of AutoGCL

经过k层GNN,得到节点表示后,可以利用聚合函数得到不同增广方法的概率分布{a}^{(k)}_{v}(也就是说{a}^{(k)}_{v}的维度和增广方法的数量相同,这里是3)。经过GumbelSoftmax可以one-hot向量。{Aug}({f}^{}_{v}, {x}^{}_{v})表示把增广方法应用到节点特征向量上,文章采用元素相乘等可以微分的运算符,保证可以端到端的训练。值得注意的是,邻接矩阵同样使用{f}^{}_{v}进行增广(其实只有节点删除的时候会更新邻接矩阵)

Contrastive Pre-training Strategy

InfoMin(Tian et al. 2020)表明对比学习中,效果较好的正样本对比视图应该最大化视图之间的标签相关信息以及最小化它们的互信息(如similarity)。值得注意的是,这里的互信息和标签相关性是性对视图而言的,而不是样本对。最大化标签相关性,其实就是两个视图生成的语义要是一样的。最小化视图之间的similarity是指不要让生成的两个视图长成一样的,那就不需要对比了,天然就是一会事儿。并且因此,作者采用两个独立的对比视图生成器,并设计了3个损失函数,

  • 对比损失。该损失采用NT-XEnt(Sohn 2016)的normalized temperature-scaled cross entropy loss(sampled softmax?),结合In batch negative sampling的方法,进行对比学习。具体的计算公式如下图所示。

    similarity

    contrastive loss

    其中,{z}^{}_{\cdot}表示增广后的节点向量,\mathbb{1}_{[k \neq i]}表示指示函数,{\tau}^{}_{}是temperature参数。{N}^{}_{}时batch的大小,由于有两个对比视图来增广输入数据,因此会得到{2N}^{}_{}个样本,其中,同一个输入v生成的两个向量{z}^{}_{i}, {z}^{}_{j}为正样本对(也就是损失里所谓的2k-1, 2k)。

  • (增广视图)相似度损失。如前所述,为了保证生成的视图不要坍缩成一个,作者引入了增广矩阵的相似性损失,通过最小化形似,生成不同的视图。其中,增广视图利用Figure 1中的策略采样矩阵S(就是图中标着"Sample"字样的那步得到的矩阵)表示,两个不同的视图分别标记为{A}^{}_{1}, {A}^{}_{2}

    view similarity loss

  • 分类损失。最后在半监督的情况下,可以如下图所示的分类损失,促使生成的对比视图保证节点label不变。


    label loss

Training Strategy

针对不同的数据场景,作者引入两种训练方法。

  • Naive Training Strategy。在没有标签的数据上,作者仅仅使用\mathcal{L }_{cl}训练。因为,没有标签数据来计算\mathcal{L}_{cls},仅仅最小化\mathcal{ L}_{sim}只能让对比视图不同,并不能保证不同视图下节点标签比不变。因此,可能导致生成无异议的视图,伤害下游任务性能。同时,为了近似弥补标签相似,作者引入原始图数据(未经增广的),并在向量空间中,拉近原始数据和增广后的节点表示。
  • Joint Training Strategy。在有监督的情况下,作者并没有采取传统的pre-train/fine-tuning的训练策略。因为,作者发现过度的在pre-train阶段利用\mathcal{L }_{cl}训练,很容易导致下游任务过拟合,猜测的原因是过度的拉近节点的表示,导致也需要超强的分类器才能进行有效分类(甚至很难训练出这样的分类器)。因此,作者采用两种训练方式交替进行的策略,
    • 在无监督数据上利用\mathcal{L }_{cl}进行训练(也就是Naive Training Strategy)。
    • 在半监督数据上,同时优化\mathcal{L}_{sim}\mathcal{L}_{cls}

上述两种策略的伪代码参见,代码实现部分。

代码实现

下图是AutoGCL的整个训练过程以及两种训练的伪代码。可以看到,在Naive Training Strategy中,作者采用的是pre-train/fine-tuning的训练策略,并且引入了原始图数据(Algorithm 1的第6行)。在Joint Training Strategy中,作者是交替训练的且不同阶段优化不同的目标。

Training process and pseudo code

心得体会

引入足够的方差

文中提到,不同的对比视图需要引入充足的方差才能保证模型有良好的性能。个人理解,就如同在普通机器学习场景下,需要去掉只有常数值的特征一样。同时,如果没有方差,对比视图就会坍缩。

自动视图生成

如前所述,AutoGCL实际上是做了两方面的自动调节,

  • 增广方法选择。
  • 超参数(增广参数)调节。

可以理解为,利用把整个自监督方法参数化后进行联合训练。其中,参数化的重点是利用了GumbelSoftmax。

训练方式

AutoGCL在半监督和无监督场景都可以使用。不过,在无监督场景下的效果可能弱于半监督场景。

细节

个人感觉,文章中一些细节交代的不是很清楚。例如,

  • 对比损失时用的时哪里的节点向量表示。
  • f_{v}是怎么乘到节点属性上的,如何实现droping和masking?

此外可能有一些笔误(我这里写的笔误可能更多T.T),

  • section 3.3 Joint Training Strategy的最后一段,应该是优化\mathcal{ L }_{sim} + \mathcal{ L }_{sim}
  • Algorithm 1和2 中 第8行,\mathcal{L}_{cls}应该无法优化F?(可能我没有理解,需要看一下源码)。

但是,这些都不影响这是一篇思路独特,方法简洁的文章。

文章引用

Tian, Y.; Sun, C.; Poole, B.; Krishnan, D.; Schmid, C.; and Isola, P. 2020. What makes for good views for contrastive learning. arXiv preprint arXiv:2005.10243.

You, Y.; Chen, T.; Shen, Y.; and Wang, Z. 2021. Graph Contrastive Learning Automated. arXiv preprint arXiv:2106.07594.

Sohn, K. 2016. Improved deep metric learning with multiclass n-pair loss objective. In Proceedings of the 30th International Conference on Neural Information Processing Systems, 1857–1865.

Jang, E.; Gu, S.; and Poole, B. 2016. Categorical reparameterization with gumbel-softmax. arXiv preprint arXiv:1611.01144.

©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容