CaT阅读笔记

21 篇文章 0 订阅
21 篇文章 0 订阅

CaT: Balanced Continual Graph Learning with Graph Condensation

CaT:通过图压缩实现平衡的持续图学习

Abstract

持续图学习(CGL)的目的是通过以流方式输入图数据来持续更新图模型。由于模型在使用新数据进行训练时很容易忘记以前学到的知识,因此灾难性遗忘问题一直是 CGL 的主要关注点。最近的基于重放的方法旨在通过使用(1)整个新出现的数据和(2)基于采样的内存库来更新模型来解决这个问题,该内存库存储重放的图以近似历史数据的分布。更新模型后,从传入图形中采样的新重放图形将被添加到现有的内存库中。尽管这些方法对于 CGL 来说直观且有效,但本文还是指出了两个问题。首先,当存储预算紧张时,大多数基于采样的方法都难以完全捕获历史分布。其次,复杂的新图数据规模和轻量级存储库存在显着的数据不平衡,导致训练不平衡。为了解决这些问题,本文提出了压缩和训练(CaT)框架。在每次模型更新之前,新出现的图都会压缩为一个小而信息丰富的合成重放图,然后将其与历史重放图一起存储在压缩图形存储器中。在持续学习阶段,使用内存训练方案直接使用压缩图内存而不是整个新出现的图来更新模型,从而缓解了数据不平衡问题。在四个基准数据集上进行的广泛实验成功地证明了所提出的 CaT 框架在有效性和效率方面的卓越性能。

I. INTRODUCTION

持续图学习问题最大的挑战是解决灾难性的遗忘问题,即模型容易忘记从历史图数据中学习的知识,同时过分强调传入的数据。已有方法:利用正则化惩罚,架构重新设计和重播图。基于重放的CGL模型通过采样方法将重放的图存储在记忆库中,以保持历史分布,解决灾难性遗忘问题,从而提高了性能和可塑性。

基于重放的方法主要问题:(1)通常需要较大的空间来存储尽可能多的历史信息,以获得具有竞争力的性能。(2)很难在传入和重放的图上平衡模型更新训练,因为传入的图通常在规模上比重放的图大得多。

提出了一个基于重放的压缩和训练 (CaT) 框架。在持续学习过程中,它维护一个小而有效的压缩图存储器(CGM),该存储器随着模型更新之前从输入图压缩的合成重放图进行扩展。在模型更新阶段,所提出的框架使用的训练策略是内存训练(TiM),其中模型仅使用内存库进行更新。 TiM 确保压缩合成图具有与重放图相似的大小,从而缓解不平衡问题。贡献如下:

  • 对于CGL问题,提出了一种新颖的框架CaT,其中包含CGM模块以减少重放图的大小和TiM方案以平衡连续训练。
  • CGM 是通过使用分布匹配对大型传入图执行图压缩而得出的。
  • TiM 的开发是为了平衡使用大输入图和小内存库的训练。
  • 在四个基准数据集上进行的大量实验验证了CaT 的最先进性能。

II. RELATED WORK

A. Graph Neural Networks

B. Graph Continual Learning

图持续学习是处理流图数据的任务。在图领域,CGL方法可以分为三个分支:正则化、重播和基于架构的方法。

C. Graph Condensation

数据集压缩生成一个小型合成数据集来替换原始数据集并训练具有相似性能的模型。

III. PRELIMINARY

A. Graph

对于节点分类问题,图表示为$ \mathcal G = {\mathbf A,\mathbf X,\mathbf Y}$,其中 $\mathbf X \in \mathbb R^{n×d} $是 n n n 个节点的 d d d 维特征矩阵,邻接矩阵 A ∈ R n × n \mathbf A \in \mathbb R^{n×n} ARn×n 表示图结构,该图是无向且未加权的。$ \mathbf Y \in \mathbb R^{n×1}$ 包括来自类集 C 的节点标签。

B. Graph Neural Networks

图神经网络 (GNN) 是节点分类问题中表示学习的工具。 GNN 中的节点表示是通过聚合来自相邻节点的消息来计算的。 GNN 可以表示为一个函数:

E = G N N θ ( A , X ) \mathbf E=\mathrm{GNN}_\theta(\mathbf A,\mathbf X) E=GNNθ(A,X)

其中 θ \theta θ是模型参数, E ∈ R n × d ′ E \in \mathbb R^{n×d\prime} ERn×d 表示 d ′ d' d- 维节点嵌入。

C. Graph Condensation

图压缩的目的是为大图 G = { A , X , Y } \mathcal G = \{A,X,Y\} G={A,X,Y} 合成一个小图 G ~ = { A ~ , X ~ , Y ~ } \mathcal{\tilde G} = \{ \tilde A, \tilde X, \tilde Y\} G~={A~,X~,Y~}。使用合成图训练的模型预计具有与原始图相似的性能。这个目标是:

min ⁡ G ~ L ( G ; θ ~ ) , s.t.  θ ~ = arg ⁡ min ⁡ θ L ( G ~ ; θ ) , \min_{\tilde{\mathcal{G}}}\mathcal{L}(\mathcal{G};\tilde{\theta}),\quad\text{s.t. }\tilde{\theta}=\underset{\theta}{\operatorname{arg}\operatorname{min}}\mathcal{L}(\tilde{\mathcal{G}};\theta), G~minL(G;θ~),s.t. θ~=θargminL(G~;θ),

其中 L \mathcal L L是与任务相关的损失函数,例如交叉熵, θ \theta θ是GNN的参数。

D. Node Classification in CGL

在CGL的节点分类中,需要一个模型来处理 K K K个任务 { T 1 , T 2 , . . . T K } \{\mathcal{T}_{1},\mathcal{T}_{2},...\mathcal{T}_{K}\} {T1,T2,...TK}。对于第 k k k 个任务 T k \mathcal{T}_{k} Tk,传入图 G k \mathcal G_k Gk 到达,模型需要用 G k \mathcal G_k Gk更新,同时在所有先前图和传入图上进行测试。

CGL问题有两种不同的连续设置,任务增量学习(task-IL)和类增量学习(class-IL)。在task-IL中,模型只需要区分同一任务中的节点。在 class-IL中,模型需要对所有任务中的节点进行分类。

E. Imbalanced learning in replay-based CGL methods

ER-GNN通过图大小计算权重:
ℓ E R − G N N = n 1 : k − 1 n k + n 1 : k − 1 L ( G k ; θ k ) + n k n k + n 1 : k − 1 L ( M k − 1 ; θ k ) , \ell_{\mathrm{ER-GNN}} =\frac{n_{1:k-1}}{n_{k}+n_{1:k-1}}\mathcal{L}(\mathcal{G}_{k};\theta_{k}) +\frac{n_{k}}{n_{k}+n_{1:k-1}}\mathcal{L}(\mathcal{M}_{k-1};\theta_{k}), ERGNN=nk+n1:k1n1:k1L(Gk;θk)+nk+n1:k1nkL(Mk1;θk),

其中 n k n_k nk n 1 : k − 1 n_{1:k−1} n1:k1分别是输入图 G k \mathcal G_k Gk和存储体中的图的节点数。当 n 1 : k − 1 < n k n_{1:k−1} < n_k n1:k1<nk时, L ( M k − 1 ; θ k ) \mathcal L(\mathcal M_{k−1}; θ_k) L(Mk1;θk)被赋予更大的比例因子。学习的重点是记忆库。

SSM平衡了每个类的大小:
ℓ S S M = ∑ c ∈ C k 1 n c L c ( G k ; θ k ) + ∑ c ∈ C 0 : k − 1 1 n c L c ( M k − 1 ; θ k ) \ell_{\mathrm{SSM}}=\sum_{c\in\mathcal{C}_{k}}\frac{1}{n_{c}}\mathcal{L}_{c}(\mathcal{G}_{k};\theta_{k})+\sum_{c\in\mathcal{C}_{0:k-1}}\frac{1}{n_{c}}\mathcal{L}_{c}(\mathcal{M}_{k-1};\theta_{k}) SSM=cCknc1Lc(Gk;θk)+cC0:k1nc1Lc(Mk1;θk)

其中 n c n_c nc是属于类别 c c c的节点的数量,并且学习将集中于具有较少节点的图。

IV. METHODOLOGY

CaT 和现有的基于重放的 CGL 方法之间的比较:现有的基于重放的 CGL方法直接利用传入图来更新和存储存储体中传入图的采样。 CaT 首先压缩传入的图,并使用压缩的图而不是整个传入的图更新模型。

image-20240509151827247

A. Condensed Graph Memory 压缩图形存储器

压缩图存储器(CGM)是一种存储压缩合成图以近似历史数据分布的存储体。旨在保持合成数据与原始数据相似的数据分布。该方法用作重放图生成方法。图压缩的目标函数:
G ~ k ∗ = arg ⁡ min ⁡ G ~ k D i s t ( G k , G ~ k ) \tilde{\mathcal{G}}_{k}^{*}=\arg\min_{\tilde{\mathcal{G}}_{k}}\mathrm{Dist}(\mathcal{G}_{k},\tilde{\mathcal{G}}_{k}) G~k=argG~kminDist(Gk,G~k)
其中 D i s t ( ⋅ , ⋅ ) Dist(\cdot,\cdot) Dist(,) 函数计算两个图之间的距离。使用分布匹配,在嵌入空间中测量两个图之间的距离,其中两个图都由相同的图编码器 G N N θ GNN_\theta GNNθ进行编码:
G ~ k _ = arg ⁡ min ⁡ G ~ k ( G N N θ k ( A k , X k ) , G N N θ k ( A ~ k , X ~ k ) ) = arg ⁡ min ⁡ G ~ k D i s t ( E k , E ~ k ) , \begin{aligned}\tilde{\mathcal{G}}_{k}^{\_}&={\operatorname{arg}\operatorname{min}_{\tilde{\mathcal{G}}_{k}}}(\mathrm{GNN}_{\theta_{k}}(\boldsymbol{A}_{k},\boldsymbol{X}_{k}),\mathrm{GNN}_{\theta_{k}}(\boldsymbol{\tilde{A}}_{k},\boldsymbol{\tilde{X}}_{k})) \\&=\arg\underset{\tilde{\mathcal{G}}_{k}}\min\mathrm{Dist}(\boldsymbol{E}_k,\boldsymbol{\tilde{E}}_k),\end{aligned} G~k_=argminG~k(GNNθk(Ak,Xk),GNNθk(A~k,X~k))=argG~kminDist(Ek,E~k),
其中 G ~ k ∗ = { A ~ k ∗ , X ~ k ∗ , Y ~ k ∗ } \tilde{\mathcal{G}}^*_k=\{\tilde{\boldsymbol{A}}_k^*,\tilde{\boldsymbol{X}}_k^*,\tilde{\boldsymbol{Y}}_k^*\} G~k={A~k,X~k,Y~k}是最佳重播图,其分布接近输入图的分布。最大平均差异(MMD)用于凭经验计算两个图之间的分布距离。目标是找到MMD的最佳 G k \mathcal G_k Gk
\ell_{\mathrm{MMD}}=\sum_{c\in\mathcal{C}{k}}r{c}\cdot||\mathrm{Mean}(\boldsymbol{E}{k,c})-\mathrm{Mean}(\boldsymbol{\tilde{E}}{k,c})||^{2},
$$

其中 C k \mathcal C_k Ck G k \mathcal G_k Gk中节点类别的集合, E c , k \mathbf E_{c,k} Ec,k E ~ c , k \tilde{\mathbf E}_{c,k} E~c,k分别是传入图和压缩图的嵌入矩阵,其中所有节点的标签都是 c k c_k ck,并且 r c , k = ∣ E c , k ∣ ∣ E k ∣ r_{c,k} = \frac{|E_{c,k}|}{|E_{k}|} rc,k=EkEc,k c k c_k ck类的类比。 ∣ ⋅ ∣ |\cdot| 是矩阵中的行数。 M e a n ( ⋅ ) Mean(\cdot) Mean() 是节点嵌入的平均向量。

为了有效地运行压缩过程,这里使用随机 GNN 编码器,而不需要训练 GNN。分布匹配的目标是最小化具有随机参数 θ p \theta_p θp 的 GNN 给出的不同嵌入空间中的嵌入距离:
min ⁡ G ~ k ∑ θ p ∼ Θ ℓ M M D , θ p , \operatorname{min}{\tilde{\mathcal{G}}_{k}}\sum_{\theta_{p}\sim\Theta}\ell_{\mathrm{MMD},\theta_{p}}, minG~kθpΘMMD,θp,
其中 Θ \Theta Θ 表示整个参数空间。

CGM的总体流程:

image-20240509153355811

在预算限制为 b 的情况下,压缩图的节点标签$ \tilde{\mathbf Y} \in\mathcal C_b^k $被初始化并保持与原始图相同的类比(即对于任何类 c k , r k , c ≈ r ~ k , c c_k, r_{k,c} \approx \tilde r_{k,c} ck,rk,cr~k,c)。使用来自输入图的随机采样来根据分配的标签在开始时初始化压缩节点特征 X ~ k ∈ R b × d \tilde{\mathbf X}_k \in \mathbb R^{b\times d} X~kRb×d。初始化也可以作为随机噪声来实现。

B. Train in Memory 记忆训练

在持续学习中,基于重放的普通 CGL 方法面临着不平衡的学习问题。当输入图的大小明显大于重放图的大小时,模型很难平衡历史图和输入图的知识学习。之前的平衡尝试是基于损失缩放。一般形式可以表示为:
ℓ replay = α L ( G k ; θ k ) + β L ( M k − 1 ; θ k ) , \ell_{\text{replay}}=\alpha\mathcal{L}(\mathcal{G}_k;\theta_k)+\beta\mathcal{L}(\mathcal{M}_{k-1};\theta_k), replay=αL(Gk;θk)+βL(Mk1;θk),
其中,根据不平衡尺度,大部分工作都致力于 α \alpha α β \beta β,这不可避免地损害了性能。

在CaT中,由于CGM能够在不影响性能的情况下压缩图,因此通过使用压缩的输入图而不是整个输入图来解决不平衡问题是合理的。为了将压缩图的这一有益特性融入到平衡训练的持续学习中,当输入图 G k \mathcal G_k Gk 到达时,首先生成压缩图 G ~ k \tilde{\mathcal G}_k G~k,然后用它来更新先前的记忆 M k − 1 \mathcal M_{k−1} Mk1
M k = M k − 1 ∪ G ~ k . \mathcal{M}_k=\mathcal{M}_{k-1}\cup\tilde{\mathcal{G}}_k. Mk=Mk1G~k.

CaT 将基于 M k \mathcal M_k Mk 更新模型,而不是使用 M k − 1 \mathcal M_{k−1} Mk1 G k \mathcal G_k Gk 进行训练来处理不平衡问题:
ℓ C a T = L ( M k ; θ k ) = L ( G ~ k ; θ k ) + L ( M k − 1 ; θ k ) . \begin{aligned} \ell_{\mathrm{CaT}}& =\mathcal{L}(\mathcal{M}_{k};\theta_ {k}) \\ &=\mathcal{L}(\tilde{\mathcal{G}}_{k};\theta_{k})+\mathcal{L}(\mathcal{M}_{k-1};\theta_{k}). \end{aligned} CaT=L(Mk;θk)=L(G~k;θk)+L(Mk1;θk).

这个过程被称为内存训练(TiM),因为该模型仅使用内存库中重放的图进行训练。

综上所述,所提出的CaT框架使用图压缩来生成小而有效的重放图,并应用TiM方案来解决CGL中的不平衡学习问题。 CaT 的总体流程如算法 2 所示。

image-20240509155752263

V. EXPERIMENTS

A. Setup

a) 数据集:CoraFull、Arxiv、Reddit 和 Products( 60% 训练,20% 验证,20% 测试)。在task-IL设置中,模型的输出维度始终设置为2。在class-IL设置中,由于未给出总类数,因此随着新任务的到来,输出维度是增量的。

b) 基线:Finetuning、Joint、EWC 、MAS 、GEM、TWP、LwF、HPNs 、ER-GNN、SSM

c) 评估指标:

平均性能: AP k = 1 k ∑ i = 1 k m k , i . \text{AP}_{k}=\frac{1}{k}\sum_{i=1}^{k}m_{k,i}. APk=k1i=1kmk,i.

平均性能均值: A P ‾ = 1 k ∑ i = 1 k A P i . \overline{\mathrm{AP}}=\frac{1}{k}\sum_{i=1}^{k}\mathrm{AP}_{i}. AP=k1i=1kAPi.

反向迁移(BWT)(也称为平均遗忘(AF))表明当前任务的训练过程如何影响先前的任务。较大的数字意味着训练当前任务将对历史任务产生更大的影响。负数或正数分别表示负面或正面影响: BWT k = 1 k − 1 ∑ i = 1 k − 1 ( m k , i − m i , i ) . \text{BWT}_k=\frac{1}{k-1}\sum_{i=1}^{k-1}(m_{k,i}-m_{i,i}). BWTk=k11i=1k1(mk,imi,i).

d) 执行:预算比率表示整个训练集中内存库与节点总数的比例,每个任务的预算都是均匀分配的。

B. Overall Results

class-IL CGL 设置中所有基线和 CatT 的整体性能:

image-20240509161718317

CaT 实现了最先进的性能,具有较小的BWT,这意味着CaT不仅可以保留模型的历史知识,还可以在训练当前任务的同时减少对先前任务的负面影响,从而缓解灾难性遗忘问题。

CaT没有达到联合性能有两个潜在原因:(1) CoraFull的0.01预算比率将重播图限制为四个节点,该节点非常小,无法包含足够的信息;(2) CoraFull有35个任务,比其他数据集多,并且难以保留历史知识。

task-IL设置下的整体性能:

image-20240509162246122

所有基线方法都得到合理的结果。Cat 实现了最先进的性能,并且只需 0.01 的预算比即可与联合方法相媲美。

C. Ablation Study 消融研究

CaT框架有两个关键组件:CGM 和 TiM。不带 CGM 的变体表示对存储体使用随机选择,不带TiM 的变体表示使用整个传入图进行训练的典型的基于重放的方案。CGM 对大型数据集的模型几乎没有好处,尤其是在规模不平衡问题占主导地位的产品数据集中。与不带 TiM 的变体相比,带 TiM 的变体显着提高了整体性能,体现了TiM对于不平衡图的有效性。

image-20240509163825801

D. Effectiveness and Efficiency of CGM CGM 的有效性和效率

a) 不同的存储体: CGM 比现有的基于采样的存储体更有效。CGM 更快地收敛到最佳性能。CGM 在所有评估案例中几乎获得了最佳性能。CGM 的标准误差很小,这表明 CGM 对于持续训练来说更加稳健。

image-20240509163836619

b) 预算效率:压缩图的优点是保留原始图的信息,同时显着减小图的大小。CGM 方法在更有限的预算内实现更高的性能方面优于基于采样的方法。

c) 可视化:CGM的嵌入更加多样化,可以覆盖整个分布,使得分类模型能够学习到更准确的决策边界。

image-20240509163903099

E. Balanced Learning with TiM 使用 TiM 平衡学习

a) TiM 的不同方法:TiM 是一种即插即用的训练方案,可以提高所有存储体生成方法的整体平均性能。原因是TiM可以确保CGL模型的训练图具有相似的大小来处理不平衡问题,从而可以解决灾难性遗忘问题。

image-20240509164038019

b) 可视化:使用TiM方案后,性能矩阵显示遗忘过程减慢(即每列的颜色没有太大变化),这表明随着不平衡训练问题的解决,灾难性遗忘问题得到缓解。

F. Parameter Sensitivity 参数灵敏度

a) 不同的图编码器:比较 GCN 和 SGC 作为 CGM 的编码器,GCN 仍将应用于 CGL 的节点分类。表六显示,对于不同的预算比率,SGC 和 GCN 可以作为 CGM 的竞争编码器。

image-20240509164025466

rSzLIH-1716187797667)]

F. Parameter Sensitivity 参数灵敏度

a) 不同的图编码器:比较 GCN 和 SGC 作为 CGM 的编码器,GCN 仍将应用于 CGL 的节点分类。表六显示,对于不同的预算比率,SGC 和 GCN 可以作为 CGM 的竞争编码器。

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用hashcat,您需要了解一些基本的使用方法。hashcat是一个高级密码恢复工具,用于破解密码哈希。以下是几种常见的hashcat使用方法: 1. 使用字典攻击(引用):字典攻击是hashcat的一种常见方法,它使用一个包含可能密码的字典文件。您可以使用以下命令执行字典攻击: hashcat -a 0 [哈希类型 [哈希文件 [字典文件 --force 2. 使用组合攻击(引用):组合攻击是一种使用字符集和长度限制生成密码的方法。您可以使用以下命令执行组合攻击: hashcat -a 3 [哈希类型 [哈希 ?l?l?l?l --force 3. 使用规则攻击(引用):规则攻击是通过应用一系列规则来生成可能密码的方法。您可以使用以下命令执行规则攻击: hashcat -a 0 [哈希类型 [哈希文件 [字典文件 -r [规则文件 --force 4. 破解LM哈希(引用):要破解LM哈希,您可以使用以下命令: hashcat -a 3 -m 3000 [哈希 ?l?l?l?l?l 请注意,这些只是基本的使用方法示例。hashcat还有许多其他参数和选项,您可以根据您的需求进行调整。在使用hashcat之前,建议您阅读官方文档和参考资料以获取更详细的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [hashcat详细使用教程](https://blog.csdn.net/smli_ng/article/details/106111493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【内网学习笔记】20、Hashcat 的使用](https://blog.csdn.net/qq_37683287/article/details/120015790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱达堡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值