论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)

论文标题

CCGL: Contrastive Cascade Graph Learning

论文作者、链接

作者:Xu, Xovee and Zhou, Fan and Zhang, Kunpeng and Liu, Siyuan

链接:CCGL: Contrastive Cascade Graph Learning | IEEE Journals & Magazine | IEEE Xplore


Introduction逻辑

论文动机&现有工作存在的问题

(1)如何以对比、自我监督和任务无关的方式学习图级联的通用知识,特别是如何利用大量未标记的级联数据

(2)如何在对比学习框架中构建正、负样本对,同时捕捉数据的变化和级联的动态扩散特性

(3)如何以半监督和任务特定的方式对下游级联预测任务的预训练模型进行微调

(4)如何对模型进行知识蒸馏

论文核心创新点

(1)设计了一种数据增强策略,通过模拟图中的信息扩散来捕捉变化和不确定性

(2)自监督对比学习图级联任务

(3)使用有标签的数据,微调模型,来学习特定于任务的级联模型

(4)使用teacher-student架构进行知识蒸馏,进一步增强了模型


相关工作

级联信息建模

主要分三类:(1)基于特征的模型,在不同的人工设计的特征上进行特征信息级联

(2)时间模型,主要研究时间序列数据,并加入额外的全局信息。

(3)基于深度学习的模型,用深度神经网络去学习级联特征表达,缺点是监督学习需要大量标签

自监督学习

利用数据本身作为监督,利用大量未标记数据来改善表征学习和下游任务。

主要通过(1)代理任务;(2)对比学习

针对图的数据增广

数据增广在自监督学习中非常重要。与文本和图像不同,图谱数据通常是非欧氏的、稀疏的和复杂的。

最简单的图增广方法就是增加\减去节点\边,但如何选择点\边,如何选择增\减,如何给新的图打上标签等等都是存在的阻碍。现有的方法:随机移除边并且覆盖节点;基于模型预测,增加\删除两点之间的边;使用图自编码器作为一个边预测器去增\减边。GCC设计了一种子图的实例区分代理任务。

本文设计了一种针对图级联的数据增强方式,同时移除边和节点,不学习节点\图谱的分类

图的预训练和迁移学习


预备知识

Definition1 信息级联图

给定一个信息项I,比如一个推特或是一篇论文,在t_0时刻发布,在经过一段时间后,收到M个引用或转发,然后这些序列组成一个信息级联C_{I}(t)=\left\{\left(u_{j}, t_{j}\right) \mid j \in[1, M], t_{j}<\right.$ $t\},其中用户u_jt_j时刻收纳了I项。级联图可以定义为扩散树\mathcal{G}(t)=\{\mathcal{V}, \mathcal{E}\},其中\mathcal{V}代表一组在C_I(t)中的用户,\mathcal{E}\代表用户之间吸收的关系。本文中关注信息级联的时间-结构建模,即给定一个级联图序列,在学习下游级联应用中学习级联图的有效表示。

Definition2 信息级联流行度预测

给一个在t_0时刻观察到的级联图\mathcal{G}_i(t_0),流行度预测目的是预测该级联(图)在预测时间t_p到时的未来流行度(或大小) t_p\gg t_o

为了探索和理解无监督学习框架的哪些部分可以有利于级联表示的学习,本文集中回答以下三个问题。

问题1:未标记数据会改善级联图表示和预测的学习吗?

传统的预测模型中,这些图都是简单的从训练和评估过程中过滤出来。自监督学习强调了从大量无标签的数据中学习有效的特征表达的重要性。

问题2:数据增强能改善级联预测吗?如果可以,我们如何设计级联图的增广策略?

图谱结构与图片和文本不同,是非欧式的结构。前人的图谱数据增广往往是聚焦于图神经网络以及节点\图谱分类,它们中的大多数只考虑边缘和特征操作,而忽略节点处理。

本文提出了一个级联图谱的增广操作:我们模拟社交网络(或其他类似的网络,如新闻和学术)中的信息扩散机制,首先采用时间顺序遍历图中每个节点,然后计算每个节点的吸引力概率。根据它们在级联图中的优先级,当前节点可以吸引新的吸引者(?大概意思是有新的关注),也可以失去现有的追随者。

问题3:对比式自监督学习框架能否改善级联学习和预测?

目前暂未有将对比学习应用于级联模型学习的。本文提出了CCGL,其中级联图形编码器的主干网络是可以随意选择的。任何图表示学习模型和图神经网络,或其他专门设计的级联学习模型都可以用作级联图编码器。


论文方法

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第1张图片

CCGL主要由3个部分组成:

(1)级联图谱数据增广

(2)自监督预训练

(3)模型精调和数据蒸馏

利用无标签的级联图谱

在典型的信息级联预测中,无标签的数据往往都被排除在外。未标记的级联也应该被考虑,并以无监督的方式学习标记级联和未标记级联的表示。

增广信息级联图谱

现有的数据增广方法无法直接应用于级联学习,原因如下:

(1)针对文字\图像的数据增广手法无法直接应用在图谱上

(2)一个树形结构的级联图从一个根节点(例如,一篇新发表的文章或论文)开始,然后扩散并动态演化到更大的受众(例如,转发或引用)。以任意方式添加/删除节点或边可能会极大地改变级联图的结构。级联图中的节点具有时间特征,即节点的采用时刻对级联图建模至关重要,因为节点数量相近甚至结构相同的级联图,可能在不同时刻有不同的表现。

本文提出了一个新的级联图谱增广方法:AugSIM

AugSIM: Augmenting cascade graphs by SIMulating an information diffusion process.通过模拟信息扩散过程增强级联图

在获取图拓扑或节点/边缘特征具有一定相似性的基础上,提出了一种简单而有效的基于用户影响和采用时间的增强方法。在级联图谱\mathcal{G}_i中的每一个用户u^i_j,计算其吸引概率a^i_j去控制结点增加的过程,计算公式为

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第2张图片

其中, 增广强度\eta_i代表了级联的超参,用来控制增加的结点数目。其实就是结点的度最高的最容易被增加。新增的结点u^i_{new}u^i_j相连,应该以分配一个采用时间t^i_{new} \in [t^i_j,t_o]作为一个结点的特征。一个项的采用时间t^i_j可以看作是人类反应时间的一个例子(类似于做出反映的时间)。本文同时计算一个局部的采用时间t^i_{local}和一个全局的采用时间t_{global},新增节点的采用时间计算公式为:

其中,\theta _t是平衡两个采用时间的权重参数,t^i_{local}是级联C_i平均采用时间,t_{global}是从指数分布中获得的全局采用时间,指数分布如下:

其中,\lambda是一个速率参数,它可以从数据集的所有采用次数中经验拟合。

在遍历级联图中的所有结点之后,我们添加一组新的结点

 以及结点特征,以及边\mathcal{E}^{new}_i,添加进图谱\mathcal{G}_i,并且每一个结点都与其父母结点相连。在\mathcal{V}^{new}_i中增加的预期节点数由\eta _i控制,\eta _i的计算公式为

相应地,增加的边数与增加的节点数相同。相似的,我们遍历增广过后的结点集合\mathcal{V}_i\cup \mathcal{V}_i^{new}中的每一个叶结点。对每一个叶结点u^i_j \in \mathcal{V}^{leaf}_i,计算其的删除概率r^i_j,公式如下

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第3张图片

其中, v^i_ju^i_j\in\mathcal{V}^{leaf}_i的父母结点。其实就是父母结点的度最高的最容易被删除。对于删除结点\边的数目为论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第4张图片。为了简化流程,结点删除过程只在叶子结点上执行,使得图谱的主要级联结构可以保持。

然而,可以使用其他更复杂的策略来模拟信息扩散,例如:

(1)新增结点对新的结点吸引力更大

(2)不仅移除叶子结点还移除他们的父母结点

(3)考虑更多的特征

(4)采用泊松过程、Hawkes自激励过程等随机点过程

本文使用节点度和采用时间来增强级联图,创建不同但相似的图视图,以便稍后进行对比建模。AugSIM策略可以看作是信息在网络中再扩散的一个实例,它保留了扩散的基本模式,并引入了一些变化和不确定性。

通过对比自监督学习方法学习级联图表示

数据增广:首先用数据增广来构建视图。对一个给定的\mathcal{G}_i,对图谱增广两次得到两个不同但相似的视图,记作\tilde{\mathcal{G}}^1_i\tilde{\mathcal{G}}^2_i,这两个视图构建一个正例对。

级联图谱编码:对级联图进行编码,将其表示为矢量,同时在图中捕捉时间和结构信息。本文使用级联预测模型VaCas,主要含有两个部分:(1)基于谱图小波的图嵌入和(2)双向的基于GRU的网络,以学习级联数据中的情境化用户行为。这两个部分将级联图谱\mathcal{G}_i映射到一个定长特征表示h_i\in\mathbb{R}^{d_h}。为了进一步了解潜在因素之间的关系,避免表征中可能出现的噪声,添加了一个MLP作为预测头,将h_i映射到z_i\in\mathbb{R}^{d_z}

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第5张图片

对比损失:衡量正样本对\tilde{\mathcal{G}}^1_i\tilde{\mathcal{G}}^2_i的相似性,常见的对比损失计算公式。

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第6张图片

针对下游任务的级联预测的CCGL微调和知识蒸馏

精调:根据具体的任务对模型进行精调。给级联图谱添加标签精调模型,对比学习的映射头可以完全抛弃了,只对级联图谱编码器进行精调,使用均方误差计算损失

其中,\tilde{P}_i(t_p)P_i(t_p)分布代表预测的概率和真实的概率。

知识蒸馏:使用老师-学生网络对模型进行知识蒸馏。老师网络复制了经过微调的预测器,学生网络则从零开始。强行使得学生网络的预测尽可能的与老师网络的预测一致,通过下列损失函数

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第7张图片

 其中,N表示有标签样本的数目,\hat{P}^T_i(t_p)\hat{P}^S_i(t_p)分别是老师网络和学生网络的预测结果。老师网络的参数是固定的,学生网络的参数根据\mathcal{L}^{semi}更新

互信息最大化:理论上来说,学习级联图谱特征表示的过程就是一个互信息最大化的过程。用公式可以表示为,其中\phi (\cdot)表示神经网络。神经网络由一个将级联图谱\mathcal{G}_i映射到h_i的图编码器,以及一个将h_i映射到z_iMLP投影头构成。模型需要学习区分正对p(z^1_i,z^2_i)以及边缘概率分布p(z^1_i)p(z^2_i)构成的负对,公式为:

论文阅读“CCGL: Contrastive Cascade Graph Learning”(TKDE2022)_第8张图片


消融实验设计

投影头深度对模型效果的影响

模型大小和预训练轮次的影响

带有标签和无标签的级联模型蒸馏比微调模型带来了额外的改进

超参敏感度


一句话总结

个人觉得最核心的创新点是对图谱的增广手法,精调模型和知识蒸馏真的能算入这个模型中吗?

你可能感兴趣的:(论文阅读,深度学习,知识图谱)