论文阅读:《Self-Supervised Continual Graph Learning in Adaptive Riemannian Spaces》
研究背景
- 图学习任务大多在欧几里得空间进行学习,而实际上不同图的“弯曲程度”不一样,都使用统一、固定的空间学习效果不佳。
- 目前,针对图持续学习的研究都需要大量标签,而现实任务中标签的代价很高,而且,以往图学习模型对待持续学习图样本的效果并不好,可能会导致“灾难性遗忘”的问题。
--------------------
Continual Graph Learning:持续图学习,指的是模型能够从依次出现的图序列(每个图对应一个任务)中逐步学习新知识。
创新点
针对以上两方面的研究问题,作者分别进行了处理:
- 固定空间学习效果不佳:提出自适应黎曼空间,设计了一个AdaRGCN模块,自动分析图结构并判断当前应该使用哪种曲率空间
- 标签昂贵且容易“遗忘”:提出无标签洛伦兹蒸馏,一种无监督学习方法,针对图序列,构建 “教师 - 学生” 双 AdaRGCN 架构。其中,“学生网络” 会先后执行两种蒸馏过程:一是 “内部蒸馏”,即从自身网络中提取知识,以掌握当前图的特征规律;二是 “跨网络蒸馏”,即从 “教师网络” 中学习知识,以保留过往任务的经验。通过这两种蒸馏,模型能在巩固新知识的同时,避免 “灾难性遗忘”(即学了新任务就忘记旧任务的问题)。然而,学生网络与教师网络所处空间可能有所不同,因此设计了一种广义洛伦兹投影方法(GLP),从而使学生网络可以学到教师网络,不会出现“语言障碍”的问题
核心框架
这是整个模型的框架图,接下来我们通过两个部分来看这张图,分为Inter-distillation和Intra-distillation两个部分。
模型依次输入一张图,每一张图代表一个任务(有可能前一张图是社交网络预测,后一张是论文引用网)。
Inter-distillation
当前输入的图样本被送入这一部分后会分别被送入两个AdaRGCN网络中。
之前简单说过这个“教师-学生”双AdaRGCN结构,其主要目的就是“记忆”,类似于RNN网络,教师部分(也就是Teacher AdaRGCN)主要承担的就是记住旧知识。
每次经过训练的“学生”会变成新的“老师”。换句话说,每次经过新样本训练得到的“学生”网络的参数,会被复制到“老师”网络中去,作为过去的“记忆”。
当前新的输入样本,则会同时送入“老师”网络和“学生”网络之中,由两个网络自行计算得到深层输出特征,进行比较,计算损失,根据损失优化学生网络参数直到达到要求,就ok了。
但问题是,我们所研究的每一张图所处于的空间都有可能是不一样的,也就是说,由“老师”网络和“学生”网络得到的两个特征输出虽然是对同一张图进行的,但可能出现“语言不通”的情况,无法直接进行比较。
为此,作者添加了一个Generalized Lorentz Projection模块(GLP),用来解决“语言不通”的问题,通过将“老师”网络的输出映射到和“学生”网络相同的维度上,最终就可以成功计算损失了!
Intra-distillation
作者不仅仅通过“老师”与“学生”之间的对比来优化网络,同时还进行自我对比,Student AdaRGCN会输出两个特征,一个是刚刚在上个模块用过的深层输出特征,另一个是浅层输出特征。
浅层输出,比如只看节点的基础属性,像论文的标题关键词
深层输出,比如结合邻居信息的深度理解,像论文的研究方向
下面的算法就是完整的模型训练流程了:
AdaRGCN的网络构成
不论是“老师”网络还是“学生”网络,都是由同样的网络框架构成的。其中包含CurvNet和Unified GCN两个部分。
其中,CurvNet的主要作用是识别分析每个输入的图数据的结构,并根据结构计算该图所符合的空间曲率。
Unified GCN的主要作用是收集邻居信息(消息聚合),它由两层GCN组成,换句话说,就是在汇聚两跳之内邻居节点的信息。
————————————————————————————————————————
然而,仅仅知到这些是不够的,因为我们对图的卷积不是在原来的欧几里得空间了。先来回顾一下之前在平面空间是如何进行图卷积的:特征变换+邻域聚合
1、特征变换
对于平面空间的特征变换,我们只需要通过乘一个权重矩阵W就可以实现,这在弯曲空间是行不通的,随便相乘可能会导致特征“跑出”这个空间,就像在球面上画直线会画出球面外一样。
为此,作者提出了可以通过弯曲空间->平面空间->弯曲空间这样的步骤实现特征的变换。
- 先用 “对数映射”把弯曲空间里的节点特征 h,拉到一个 “切空间”(可以理解成弯曲空间某点的 “局部平面”,比如球面上某点的切面);
- 在切空间里用权重矩阵 W 正常 “加工” 特征(这时候不会跑出平面,很安全);
- 再用 “指数映射”把加工好的平面特征,塞回原来的弯曲空间里。
2、邻域聚合
在平面里,“汇总邻居特征” 就是算个加权平均(比如给重要邻居更高的权重)。但在弯曲空间里,加权平均也会出问题 —— 比如在球面上,几个点的平均可能不在球面上,不符合空间约束。
研究者借鉴了 “找中心点” 的思路(类似找一群点的 “几何中心”),设计了一个 “安全的汇总方法”:
- 先给每个邻居特征乘上对应的注意力权重(重要邻居权重高),然后加起来;
- 再用一个 “归一化” 操作(除以这个总和的 “弯曲空间范数”,再除以曲率的平方根),把结果 “拉回” 弯曲空间里,确保汇总后的特征还在这个空间里。
————————————————————————————————————————
注意力机制的加入
而在AdaRGCN的实际设计过程中,作者还加入了注意力参数,通过给 “汇总邻居特征” 加 “注意力”,让重要的邻居多说话。
之前说过,图神经网络要 “汇总邻居特征”(比如一个节点要把邻居的信息合起来),但不是所有邻居都一样重要 —— 比如在社交网络里,你亲密好友的动态比陌生好友的更能代表你的兴趣。所以得给邻居 “打分”,重要的邻居权重高,不重要的权重低,这就是 “注意力机制”。
但直接对邻居节点“打分”,在弯曲空间还是做不了的,为此,还是经过一步空间转换(弯曲->平面),再进行注意力参数的添加,最后使用softmax将所有邻居节点的注意力权重压缩至0-1间,保证其所有权重加起来等于1。
CurvNet是怎么工作的?
有个叫 “福尔曼 - 里奇曲率” 的理论,能根据图的边和节点信息算 “弯曲度”:
- 先给每个节点vi算个 “节点权重”wi(用节点的 “度”—— 比如一个节点有 10 个邻居,度就是 10,权重就和这个度相关);
- 再给每条边(vi,vj)算个 “边权重”γij(用两个节点的权重算出来);
- 用公式计算每条边的曲率Fij,再把一个节点周围所有边的Fij取平均,就得到这个节点的曲率(简单说:节点的曲率由它 2 步以内的邻居决定)。
CurvNet 是个 2 层的小图网络,专门学 “从节点权重到节点曲率” 的规律,步骤很简单:
- 输入:把图的 “邻接矩阵”和 “节点度” 结合,得到初始的节点权重特征;
- 加工:用 2 层图卷积网络,逐层汇总每个节点 2 步以内邻居的信息,最后得到每个节点的曲率;
- 输出:把所有节点的曲率取平均,就是整个图该用的曲率κ—— 比如算出来是正的,网络就用超球面空间;是负的,就用双曲空间。
实验
作者围绕三个问题展开对比试验,最后得出的结论是,这个双 AdaRGCN 架构,好用!
三个问题分别如下:
- RQ1:提的 RieGrace 模型到底好不好用?(比如比其他方法准不准、忘不忘事)
- RQ2:模型里的两个关键零件 ——CurvNet(自动算弯曲度)和 GLP(解决弯曲空间对比问题),到底起了多大作用?(比如去掉其中一个,模型会不会变差)
- RQ3:在持续学图的过程中,图对应的 “弯曲度(曲率)” 是怎么变的?(比如前一个图用球面空间,后一个会不会变成马鞍面空间)
用什么数据(Datasets)—— 选了 5 个常用的 “标准图数据”
都是研究界公认的 “benchmark(基准)”,能公平对比不同方法,比如:
- Cora/Citeseer:论文引用网络(论文是节点,引用是边);
- Actor:影视演员合作网络(演员是节点,合作拍戏是边);
- ogbn-arXiv:更大的论文网络;
- Reddit:社交论坛社区网络(用户是节点,互动是边)。
每个数据都按之前研究的标准,拆成 “依次到来的图序列”。
和谁比(Baselines)—— 找了两类 “对手”
要证明 RieGrace 好,得找现有最好的方法当 “参照物”,分两类:
- 平面空间对手(Euclidean Baseline):之前在 “平面(欧几里得空间)” 里做持续图学习的好方法,比如 ERGNN、HPN、DyGRAIN 等,还有一个 “理想上限” JOINT(把所有任务放一起学,不会忘事,用来参考最好能做到多好);
- 弯曲空间对手(Riemannian Baseline):之前在 “弯曲空间” 里学图的方法,但它们都是 “一次性学完”,没法持续学 —— 研究者把它们改成 “每次学新任务就微调”,还加了 “-wF” 后缀(比如 HGCNwF),看它们持续学的时候会不会忘事。
特别提一句:之前的方法都需要 “标签”(比如人工标 “这篇论文是 AI 领域”),而 RieGrace 是第一个 “无标签(自监督)” 的持续图学习方法,这也是一个大优势。
怎么衡量好坏(Evaluation Metric)—— 两个关键指标
用两个指标判断模型 “学得好” 且 “不忘事”:
- PM(Performance Mean,平均性能):所有任务学完后,每个任务的准确率平均值 —— 值越高,说明整体学得越好;
- FM(Forgetting Mean,平均遗忘率):学完新任务后,旧任务准确率下降的平均值 —— 负的说明 “忘事了”(比如 FM=-34,就是学新任务后,旧任务准确率掉了 34%),正的说明 “学新任务还帮了旧任务”(知识迁移)。
其他细节:保证实验公平
- 输入统一:所有弯曲空间模型的输入,都先从 “平面特征” 转成 “弯曲空间特征”,避免输入不一样导致不公平;
- 模型设置统一:RieGrace 用 2 层卷积、2 层 CurvNet,权重平衡参数 λ=1,超参数(比如学习率)都用 “网格搜索” 选最优的,保证不是 “调参作弊”。
实验结果:RieGrace 到底怎么样?
1. 回答 RQ1:RieGrace 性能最好(Main Results)
RieGrace 在所有数据上的 PM 和 FM 都是最好的,甚至超过了需要标签的监督方法。
2. 回答 RQ2:CurvNet 和 GLP 都很重要(Ablation Study)
“消融实验” 就是 “去掉某个零件,看模型会不会变差”,用来验证零件的作用。研究者做了 6 个 “残缺版 RieGrace”,结果均表明不去零件时最好。
3. 回答 RQ3:图序列的曲率一直在变(Case Study)
在 ogbn-arXiv 数据上专门看 “曲率怎么变”,用了一个叫 “嵌入失真(D_G,M)” 的指标 —— 值越小,说明 “弯曲空间选得越对”(比如把层级图放进马鞍面空间,失真就小)。