【博士每天一篇文献-算法】Progressive Neural Networks

简介: 本文介绍了渐进式网络(Progressive Neural Networks),一种深度强化学习架构,通过在训练过程中学习预训练模型间的侧向连接实现跨任务知识迁移,有效利用迁移学习优势同时避免灾难性遗忘,并通过强化学习任务验证了架构性能。

阅读时间:2023-12-12

1 介绍

年份:2016
作者:Andrei A. Rusu,Neil Rabinowitz,Guillaume Desjardins,DeepMind 研究科学家,也都是EWC(Overcoming catastrophic forgetting in neural networks)算法的共同作者。
期刊: 未录用,发表于arXiv
引用量:2791
代码:https://github.com/TomVeniat/ProgressiveNeuralNetworks.pytorch
Rusu A A, Rabinowitz N C, Desjardins G, et al. Progressive neural networks[J]. arXiv preprint arXiv:1606.04671, 2016.
提出了一种深度强化学习架构——渐进式网络(progressive networks),它通过保留一系列预训练模型并在训练过程中学习这些模型之间的侧向连接(lateral connections),从而实现跨任务的知识迁移。既能利用迁移学习的优势,又能避免灾难性遗忘的问题。在Atari游戏和3D迷宫游戏上进行了强化学习评估实验,通过平均扰动敏感性(Average Perturbation Sensitivity, APS)和平均Fisher敏感性(Average Fisher Sensitivity, AFS)两种方法,分析了在不同层次上迁移发生的情况。

2 创新点

提出了一种新的神经网络架构——渐进式网络(progressive networks),它通过保留一系列预训练模型并在训练过程中学习这些模型之间的侧向连接(lateral connections),从而实现跨任务的知识迁移。
在多种强化学习任务(包括Atari游戏和3D迷宫游戏)上广泛评估了这种架构,并展示了它在性能上超越了基于预训练和微调(pretraining and finetuning)的常见基线方法。
开发了一种基于Fisher信息和扰动分析的新颖分析方法,能够详细分析跨任务迁移在哪些特征和哪些层次上发生。

3 相关研究

灵感启发来源:Terekhov A V, Montone G, O’Regan J K. Knowledge transfer in deep block-modular neural networks[C]//Biomimetic and Biohybrid Systems: 4th International Conference, Living Machines 2015, Barcelona, Spain, July 28-31, 2015, Proceedings 4. Springer International Publishing, 2015: 268-279.【模块化网络,引用量82】

4 算法

image.png

  1. 模型初始化:渐进式网络从一个单列的深度神经网络开始,该网络经过训练直到收敛。这第一列网络包含了多个层次,每层有特定的隐藏单元和参数。
  2. 任务切换:当引入新任务时,先前任务的网络参数被“冻结”,即不再更新。然后,为新任务实例化一个具有新参数的新列网络,这些参数是随机初始化的。
  3. 侧向连接:新任务的网络列通过侧向连接接收来自之前所有列的输入。这些连接允许新任务利用先前任务学习到的特征。
  4. 网络架构:每个新任务的网络列都包含一个前馈的深度神经网络,其中每层都接收来自前一层以及所有先前列的侧向输入。
  5. 非线性激活:在所有中间层使用ReLU激活函数(( f(x) = \max(0, x) ))。
  6. 适配器(Adapters):为了改善初始条件和执行降维,在侧向连接中引入了非线性适配器。适配器通常是一个单隐藏层的多层感知器(MLP),用于调整不同输入的尺度并执行投影。
  7. 参数更新:在训练新任务时,只有新列的参数会被更新,而先前列的参数保持不变,从而避免了灾难性遗忘。
  8. 多任务学习:渐进式网络的目标是在训练结束时能够独立解决所有任务,并通过迁移学习加速新任务的学习。
  9. 容量管理:随着任务数量的增加,网络的参数数量也会增加。论文提出可以通过修剪或在线压缩等方法来控制参数的增长。
  10. 实验评估:论文通过在强化学习领域的实验来评估渐进式网络的性能,包括在Atari游戏和3D迷宫游戏中的表现。

5 实验分析

5.1 实验设置

(1)定义了两个指标量化神经网络在迁移学习过程中特征的重用程度和迁移效果。
**平均Fisher敏感性(AFS)**是量化特征的重要性。AFS通过计算Fisher信息矩阵的对角元素来量化网络策略对每一层特定特征微小变化的敏感性。这有助于识别哪些特征对网络的输出有较大的影响。AFS还可以用来分析在不同任务之间迁移时,哪些特征被新任务所利用。这有助于理解迁移学习的效果和机制。此外,通过在不同层级上计算AFS,研究者可以了解在网络的哪个层次上发生了有效的迁移,是低级感官特征还是高级控制特征。
**平均扰动敏感性(APS)**是直观的特征贡献评估。APS通过在网络的特定层注入高斯噪声,并观察这种扰动对性能的影响,来评估源任务特征对目标任务的贡献。如果性能显著下降,则表明该特征对最终预测非常重要。APS提供了一种直观的方法来观察迁移特征的有效性。通过扰动分析,可以识别出在迁移过程中哪些特征是有益的,哪些可能是有害的。
(2)网络构建过程
image.png
展示了如何通过添加更多的列来逐步构建网络,每个新列都建立在之前学习的任务之上。

5.2 在Pong Soup迁移任务的性能分析

(1)迁移任务效果
“Pong Soup” 实验是为了研究在不同变体的 Pong 游戏中,神经网络如何迁移在原始 Pong 游戏中学到的知识。实验使用了多个经过修改的 Pong 游戏版本,这些变体在视觉和控制层面上有所不同,包括:

  • Noisy:在输入图像上添加了高斯噪声。
  • Black:背景变为黑色。
  • White:背景变为白色。
  • Zoom:输入图像被放大并平移。
  • V-flip、H-flip 和 VH-flip:输入图像在垂直或水平方向上翻转。

image.png
热图展示了不同Pong变体之间迁移学习的效果。颜色的深浅表示迁移得分,得分越高,颜色越深。迁移得分是相对于基线1的性能提升或下降来计算的。得分大于1表示性能提升,小于1表示性能下降。迁移矩阵中的每个单元格对应于一个源任务到目标任务的迁移情况。行代表源任务,列代表目标任务。Baseline2(单列,仅输出层微调)中蓝色区域较多,说明这种方法未能学习目标任务,导致负面迁移。Baseline3(单列,全网络微调)这种方法显示出较高的正面迁移,说明在源任务和目标任务之间存在一定程度的相似性,允许网络通过微调大部分参数来学习新任务。PNN网络在中位数和平均分数上都优于基线3,表明渐进式网络在利用迁移学习方面更为有效。特别是,渐进式网络能够更好地利用先前任务的知识来加速新任务的学习,并且对于兼容性较好的源任务和目标任务,迁移效果更加明显。

(2)不同网络层的特征敏感性分析
image.png
颜色越深表示该列在该层对输出的影响越大,即网络对该特征的依赖性越高。在Pong的不同变体之间迁移时,网络倾向于重用相同的低级视觉特征,特别是那些对于检测球和球拍位置至关重要的特征。尽管一些低级特征被重用,但网络也需要学习新的中级视觉特征来适应任务的变化,如在Zoom变体中所见。通过AFS分析,论文展示了渐进式网络如何在不同层级上有效地迁移和调整特征,以提高在新任务上的性能。

5.3 Atari目标游戏的迁移任务分析

(1)Fisher敏感性分析
image.png
图中说明如果网络过度依赖旧特征而未能学习新特征,可能导致迁移效果不佳。
image.png
展示了平均AFS值与迁移得分之间的关系,正迁移可能发生在对源任务特征的依赖与对目标任务新特征学习的平衡之间。这表明在新任务上学习新特征对于成功的迁移至关重要。
总之,通过Fisher敏感性分析,论文发现在某些情况下,渐进式网络在新任务上既重用了先前任务的特征,又学习了新的特征,这有助于实现更好的迁移效果。

5.4 3D迷宫游戏的迁移任务性能分析

image.png
即使在简单游戏中,PNN网络也能通过学习新的视觉特征来提高性能,这些特征对于识别不同任务中变化的奖励物品很重要。

6 思考

(1)论文的算法过程和模型比较简单,但是其中的适应器(Adapter)是什么作用?具体是怎么实现的?在代码中如何体现?
适配器通过在侧向连接中引入非线性,帮助网络更好地初始化新任务的学习,从而加速收敛。
还用于执行降维操作。这是因为随着网络逐渐增加新列来学习新任务,输入特征的维度也在增长。适配器通过减少特征维度,帮助网络更有效地处理这些高维输入。
适配器的设计确保了随着网络逐渐增加新列,由于侧向连接产生的参数数量与原始网络参数的数量级相同,从而控制了模型的参数增长。

目录
相关文章
|
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月前
|
机器学习/深度学习 算法 机器人
【博士每天一篇文献-算法】改进的PNN架构Lifelong learning with dynamically expandable networks
本文介绍了一种名为Dynamically Expandable Network(DEN)的深度神经网络架构,它能够在学习新任务的同时保持对旧任务的记忆,并通过动态扩展网络容量和选择性重训练机制,有效防止语义漂移,实现终身学习。
55 9
|
3月前
|
存储 机器学习/深度学习 算法
【博士每天一篇文献-算法】连续学习算法之HNet:Continual learning with hypernetworks
本文提出了一种基于任务条件超网络(Hypernetworks)的持续学习模型,通过超网络生成目标网络权重并结合正则化技术减少灾难性遗忘,实现有效的任务顺序学习与长期记忆保持。
41 4
|
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实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。