【博士每天一篇文献-算法】连续学习算法之HNet:Continual learning with hypernetworks

简介: 本文提出了一种基于任务条件超网络(Hypernetworks)的持续学习模型,通过超网络生成目标网络权重并结合正则化技术减少灾难性遗忘,实现有效的任务顺序学习与长期记忆保持。

阅读时间:2023-12-26

1 介绍

年份:2019
作者:Johannes von Oswald,Google Research;Christian Henning,EthonAI AG;Benjamin F. Grewe,苏黎世联邦理工学院神经信息学研究所
期刊: 未发表
引用量:379
Von Oswald J, Henning C, Grewe B F, et al. Continual learning with hypernetworks[J]. arXiv preprint arXiv:1906.00695, 2019.
本文提出了任务条件的超网络(元模型网络)作为一种适用于持续学习的神经网络模型,它通过使用使用一个较小的超网络来生成目标网络的权重,然后再结合限制权重更新的正则化方法(如EWC、SI、MAS)来实现连续学习。超网络是基于任务身份来生成权重,在这种学习模式下,任务是顺序呈现的,目标是在学习新任务的同时,保留或提升在先前任务上的性能,同时利用已获得的知识。然后加上连续学习中权重更新的正则化技术,使得超网络在生成权重时能够保留之前任务的学习成果。实验结果表明,这种方法在压缩模式下,超网络能够有效地用相对较少的参数来生成一个更大的目标网络的参数,也能实现长期记忆的保持。论文还探讨了任务嵌入空间的结构,并展示了任务条件超网络能够展示迁移学习的能力。
image.png
image.png
image.png

2 创新点

  1. 任务条件超网络:提出了一种新型的超网络,它能够根据任务身份生成目标网络的权重,从而实现对不同任务的适应。
  2. 任务嵌入学习:任务嵌入作为可学习的参数,使得超网络能够为每个任务生成独特的权重配置,增强了模型对任务之间差异的适应性。
  3. 持续学习中的灾难性遗忘解决方案:可以通过加入正则化机制,有效地解决灾难性遗忘问题。
  4. 模型压缩:利用分块超网络实现了模型压缩,使得超网络的参数数量可以少于目标网络的参数数量,从而减少了存储和计算资源的需求。
  5. 上下文无关推理:提出了在任务身份未知的情况下进行推理的策略,包括基于预测不确定性的任务推断和使用生成模型进行合成数据重放。

3 算法步骤

image.png

  1. 初始化超网络
    • 超网络是一个元模型(metamodel),其参数为 $ \Theta_h $​,用于生成目标网络的权重 $ \Theta_{trgt} $​。
  2. 学习任务嵌入
    • 对于每个任务,学习一个任务嵌入向量 e(t),该向量为超网络提供任务特定的上下文。
  3. 目标网络权重生成
    • 使用超网络和任务嵌入向量,生成目标网络的权重配置 $ \Theta_{trgt} = f_h(e, \Theta_h) $。
  4. 正向传播与任务学习
    • 利用生成的权重 $ \Theta_{trgt} $和当前任务的数据 (X(t),Y(t))进行正向传播,并通过反向传播更新超网络参数 $ \Theta_h $​。
  5. 权重更新正则化
    • 为了防止灾难性遗忘,使用一个正则化项来惩罚那些改变先前任务学习到的权重配置的参数更新。正则化项 $ L_{output} $​确保了在训练新任务时,先前任务的权重配置 $ \Theta_h^* $​保持稳定。
  6. 计算总损失
    • 总损失 $ L_{total} $​由当前任务的损失 $ L_{task} $​和输出正则化项 $ L_{output} $​组成。
  7. 更新超网络参数
    • 使用优化算法(Adam)根据总损失 $ L_{total} $​更新超网络的参数 $ \Theta_h $​。
  8. 记忆保持
    • 在学习新任务时,通过正则化项保持对先前任务的记忆,而不需要存储大量的数据。
  9. 任务条件超网络的压缩
    • 通过分块(chunking)策略,超网络可以迭代地生成目标网络的一部分权重,从而实现模型压缩。
  10. 上下文无关推理
  • 在某些情况下,任务身份在推理时可能不明确。本文提出了策略来推断任务身份,例如基于预测不确定性的方法或使用生成模型进行合成数据重放。
  • 预测不确定性的方法:给定一个输入样本,网络需要推断它属于哪个任务。使用超网络为所有已知任务生成权重配置,并使用这些权重在目标网络上进行前向传播。对于每个任务,计算网络输出的熵(或不确定性),低熵意味着高确定性。选择预测不确定性最低的任务作为输入样本的任务标签。
  • **任务推断网络:**训练一个辅助网络来预测输入样本的任务身份。使用超网络保护的合成数据和真实数据训练一个任务推断网络。根据任务推断网络的输出,选择相应的任务嵌入向量,并使用超网络生成目标网络的权重。
  • 生成重放:重放方法不需要考虑任务身份,统一输入模型预测。首先使用超网络生成的参数训练一个生成模型,在训练新任务时,从生成模型中合成先前任务的数据。将合成数据与当前任务的真实数据混合,用于训练目标模型。可以使用额外的任务推断网络来确定输入样本的任务身份。
  • 经验重放:重放方法不需要考虑任务身份,统一输入模型预测。在训练新任务时,将重放数据与当前任务的真实数据结合。在推理时,不依赖于任务上下文,直接使用训练过程中学到的权重进行前向传播。

4 实验分析

(1)不同方法的回归拟合表现
image.png
虚线表示真实函数,而标记点则展示了模型预测的结果。超网络能够顺序地学习一系列逐渐增加次数的多项式函数,并且能够很好地拟合每个任务的函数,即使在顺序学习的过程中也是如此。微调方法虽然在新任务上可能表现良好,但会牺牲对旧任务的记忆,导致先前任务的性能下降。
(2)Permuted MNIST基准测试上的实验结果
image.png
超网络在模型参数数量较少的情况下实现有效的持续学习,即使在压缩比低于1的情况下也能保持较高的准确率。
(4)Permuted MNIST和Split MNIST实验中不同持续学习方法的平均测试准确率
image.png

  • EWC:在线弹性权重固化(online Elastic Weight Consolidation)。
  • SI:突触智能(Synaptic Intelligence)。
  • DGR:深度生成性重放(Deep Generative Replay),具体为DGR+distill。
  • HNET+ENT:基于超网络的方法,使用预测分布的熵来推断任务身份(仅在CL1中使用HNET)。
  • HNET+TIR:使用超网络保护的识别-重放网络(基于变分自编码器VAE)来从输入模式中推断任务。
  • HNET+R:主分类器通过混合当前任务数据和由超网络保护的VAE生成的合成数据进行训练。

任务条件超网络(HNET)在持续学习环境中,尤其是在需要顺序学习并记忆多个任务的场景中,具有显著的性能优势。这些方法能够有效地解决灾难性遗忘问题,并在不同任务之间实现有效的知识迁移。
(5)Split MNIST基准测试中任务嵌入空间的二维可视化
image.png
图a中在低维(二维)嵌入空间中,模型也能够实现高分类性能,并且几乎没有遗忘。
图b中最后一个任务占据了一个有限的高性能区域,当远离该嵌入向量时,性能逐渐下降,但下降是平滑的。这表明即使在有限的嵌入空间内,模型也能够为每个任务找到一个相对独立的区域,以保持其性能。
(4)持续学习基准测试
image.png
使用超网络保护的ResNet-32模型显示出几乎没有任何遗忘的现象。最终的平均性能(红色)与每个任务训练结束后立即测试的性能(蓝色)相匹配,这表明模型在学习新任务时能够保留对先前任务的记忆。从红色线高于紫色线看出,表明利用先前学习的知识比从头开始训练每个任务的性能更好。当禁用超网络的正则化项时(黄色),模型表现出强烈的遗忘现象。这表明正则化项在防止灾难性遗忘中起着关键作用。

5 思考

(1)使用分块超网络(Chunked Hypernetworks)的主要动机和优势是什么?

  1. 模型压缩
    • 在现代深度神经网络中,权重的数量通常非常庞大。分块超网络通过分批次生成目标网络的权重,可以减少所需的存储空间和计算资源。
  2. 参数效率
    • 分块超网络允许使用较少的参数来控制目标网络的权重,这使得模型更加参数高效,尤其是在资源受限的环境中。
  3. 灵活性
    • 分块超网络提供了一种灵活的方式来生成目标网络的权重,可以根据不同任务的需求调整生成的权重块。
  4. 任务特定权重生成
    • 通过为每个任务学习特定的任务嵌入向量,分块超网络可以生成适合特定任务的权重,从而提高任务的性能。
  5. 减少灾难性遗忘
    • 在持续学习场景中,分块超网络可以通过正则化技术保护先前任务的知识,减少在学习新任务时对旧任务知识的遗忘。

如果不使用分块超网络,可能会有以下影响:

  1. 存储需求增加
    • 需要存储整个目标网络的权重,这在权重数量庞大时会占用大量存储空间。
  2. 计算成本增加
    • 在训练和推理过程中,需要处理更多的参数,这会增加计算资源的消耗。
  3. 灾难性遗忘
    • 在持续学习环境中,如果不采取措施保护先前任务的知识,学习新任务时可能会遗忘旧任务的知识,导致性能下降。
  4. 泛化能力受限
    • 没有分块超网络的灵活性,可能难以为不同的任务生成最优的权重配置,从而影响模型在新任务上的泛化能力。
  5. 训练难度增加
    • 直接在目标网络上进行训练可能会使得模型更难收敛,尤其是在任务之间存在显著差异的情况下。
  6. 资源分配不均
    • 在没有模型压缩的情况下,可能无法有效地利用有限的计算和存储资源,导致资源分配不均。

(2)只有在分块的超网络结构中借鉴了PNN架构。

目录
相关文章
|
11天前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
24 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
8天前
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
28 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
8天前
|
算法
动态规划算法学习三:0-1背包问题
这篇文章是关于0-1背包问题的动态规划算法详解,包括问题描述、解决步骤、最优子结构性质、状态表示和递推方程、算法设计与分析、计算最优值、算法实现以及对算法缺点的思考。
31 2
动态规划算法学习三:0-1背包问题
|
8天前
|
算法
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
这篇文章介绍了动态规划算法中解决最大上升子序列问题(LIS)的方法,包括问题的描述、动态规划的步骤、状态表示、递推方程、计算最优值以及优化方法,如非动态规划的二分法。
36 0
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
|
8天前
|
算法
动态规划算法学习二:最长公共子序列
这篇文章介绍了如何使用动态规划算法解决最长公共子序列(LCS)问题,包括问题描述、最优子结构性质、状态表示、状态递归方程、计算最优值的方法,以及具体的代码实现。
40 0
动态规划算法学习二:最长公共子序列
|
8天前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
17 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
8天前
|
存储 算法
动态规划算法学习一:DP的重要知识点、矩阵连乘算法
这篇文章是关于动态规划算法中矩阵连乘问题的详解,包括问题描述、最优子结构、重叠子问题、递归方法、备忘录方法和动态规划算法设计的步骤。
40 0
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
1天前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
4天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。

热门文章

最新文章