【博士每天一篇文献-算法】On tiny episodic memories in continual learning

简介: 本文研究了在连续学习环境中使用小型情节记忆来解决灾难性遗忘问题,通过实证分析发现经验重播(ER)方法在连续学习中的表现优于现有最先进方法,并且重复训练对过去任务的小型记忆可以提升泛化性能。

阅读时间:2023-10-22

1 介绍

在连续学习中,智能体通过利用先前的经验从一系列任务中学习,并将知识传递给未来的任务。为了成功执行先前的任务,学习者需要记住如何执行它们。一种使学习者具备这种能力的方法是通过存储一个小的记忆,称为情节记忆,该记忆存储了来自先前任务的一些示例,并在训练未来任务时重播这些示例。作者通过实证分析了在每个训练样本仅出现一次的连续学习设置中,小型情节记忆的有效性。他们发现一种称为经验重播(ER)的简单基准方法,它在当前任务的示例和存储在情节记忆中的示例上进行训练,明显优于用于连续学习的现有最先进方法,无论是否使用情节记忆。此外,对过去任务的小型记忆进行重复训练不会损害泛化性能,反而会提高泛化性能。

2 创新点

引入了一个小型的情节性记忆,通过将之前的任务的示例存储在这个记忆中,并在训练后续任务时重新播放这些示例,从而解决了连续学习中的灾难性遗忘问题。

3 算法

存储一个称为情节记忆的小型记忆,它存储了来自之前任务的几个示例,并在训练未来任务时重放这些示例。
存储的来自之前任务的几个示例可以通过两种方式进行:

  1. 经验回放-蓄水池采样(Reservoir Sampling): 这种方法在整个数据流中随机选择一些数据点来存储在记忆中。通过这种方法,可以保持对之前任务的一些样本进行回放,以供未来任务的训练使用。经验表明,水塘采样在记忆容量较大时效果最好。
  2. 环形缓冲区(Ring Buffer): 这种方法为每个任务分配了一组FIFO(First-In-First-Out)缓冲区,每个类别有一个缓冲区。缓冲区的大小是预先设定的,它保留了每个类别最近的若干观察样本。与水塘采样不同,环形缓冲区不会在训练过程中更改来自早期任务的样本,这可能导致更强的过拟合。然而,在训练的早期阶段,由于每个类别的缓冲区大小保持不变,存储器不能充分利用。然而,这种简单的抽样策略保证了记忆中所有类别的平等表示,这在记忆很小时特别重要。

4 实验分析和结果

四个常用的基准数据集。Permuted MNIST 、Split CIFAR 、Split miniImageNet、Split CUB。
采用的模型有FINETUN、EWC、A-GEM、MER
在这里插入图片描述

  • FINETUNE是一种模型,它在没有任何正则化和情节记忆的情况下进行持续训练,并且使用上一个任务的参数初始化新任务的参数。
  • EWC是一种基于正则化的方法,通过限制对于过去任务性能至关重要的参数的学习来避免灾难性遗忘。
  • A-GEM是一种使用情节记忆作为优化约束的模型。
  • MER是一种利用情节记忆并使用近似当前任务梯度和先前任务梯度点积的损失来避免遗忘的模型。

根据实验结果,当任务之间相关度较小时,即旋转角度差小于20度时,即使没有记忆,通过在T2上的训练也可以改善对T1的泛化性能。然而,当在D2和M1上进行训练时,无论两个任务之间的相关性如何,T1的泛化性能都优于FINETUNE方法,即仅使用D2进行训练。
实验还比较了不同的记忆更新策略,其中经验表明对于小型情节性记忆,基于样本均衡的采样方法效果最好,而对于更大的记忆,基于蓄水池采样(Reservoir Sampling)的方法效果最好。此外,综合使用蓄水池采样和基于环形缓冲区的方法可以在记忆中保留充足的样本的同时实现良好的随机性。

5 待研究问题

什么样的最佳输入最能减轻预期遗忘,并寻找在记忆完全填满时从记忆中删除样本的最佳策略。

6 代码

https://github.com/firehose-dataset/congrad?utm_source=catalyzex.com

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 资源调度
【博士每天一篇文献-算法】连续学习算法之HAT: Overcoming catastrophic forgetting with hard attention to the task
本文介绍了一种名为Hard Attention to the Task (HAT)的连续学习算法,通过学习几乎二值的注意力向量来克服灾难性遗忘问题,同时不影响当前任务的学习,并通过实验验证了其在减少遗忘方面的有效性。
64 12
|
3月前
|
机器学习/深度学习 算法 计算机视觉
【博士每天一篇文献-算法】持续学习经典算法之LwF: Learning without forgetting
LwF(Learning without Forgetting)是一种机器学习方法,通过知识蒸馏损失来在训练新任务时保留旧任务的知识,无需旧任务数据,有效解决了神经网络学习新任务时可能发生的灾难性遗忘问题。
178 9
|
3月前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-算法】连续学习算法之RWalk:Riemannian Walk for Incremental Learning Understanding
RWalk算法是一种增量学习框架,通过结合EWC++和修改版的Path Integral算法,并采用不同的采样策略存储先前任务的代表性子集,以量化和平衡遗忘和固执,实现在学习新任务的同时保留旧任务的知识。
83 3
|
7天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
26天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
4天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
6天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
10天前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
12天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
20天前
|
算法
基于粒子群算法的分布式电源配电网重构优化matlab仿真
本研究利用粒子群算法(PSO)优化分布式电源配电网重构,通过Matlab仿真验证优化效果,对比重构前后的节点电压、网损、负荷均衡度、电压偏离及线路传输功率,并记录开关状态变化。PSO算法通过迭代更新粒子位置寻找最优解,旨在最小化网络损耗并提升供电可靠性。仿真结果显示优化后各项指标均有显著改善。