【博士每天一篇文献-算法】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 算法
- 模型初始化:渐进式网络从一个单列的深度神经网络开始,该网络经过训练直到收敛。这第一列网络包含了多个层次,每层有特定的隐藏单元和参数。
- 任务切换:当引入新任务时,先前任务的网络参数被“冻结”,即不再更新。然后,为新任务实例化一个具有新参数的新列网络,这些参数是随机初始化的。
- 侧向连接:新任务的网络列通过侧向连接接收来自之前所有列的输入。这些连接允许新任务利用先前任务学习到的特征。
- 网络架构:每个新任务的网络列都包含一个前馈的深度神经网络,其中每层都接收来自前一层以及所有先前列的侧向输入。
- 非线性激活:在所有中间层使用ReLU激活函数(( f(x) = \max(0, x) ))。
- 适配器(Adapters):为了改善初始条件和执行降维,在侧向连接中引入了非线性适配器。适配器通常是一个单隐藏层的多层感知器(MLP),用于调整不同输入的尺度并执行投影。
- 参数更新:在训练新任务时,只有新列的参数会被更新,而先前列的参数保持不变,从而避免了灾难性遗忘。
- 多任务学习:渐进式网络的目标是在训练结束时能够独立解决所有任务,并通过迁移学习加速新任务的学习。
- 容量管理:随着任务数量的增加,网络的参数数量也会增加。论文提出可以通过修剪或在线压缩等方法来控制参数的增长。
- 实验评估:论文通过在强化学习领域的实验来评估渐进式网络的性能,包括在Atari游戏和3D迷宫游戏中的表现。
5 实验分析
5.1 实验设置
(1)定义了两个指标量化神经网络在迁移学习过程中特征的重用程度和迁移效果。
**平均Fisher敏感性(AFS)**是量化特征的重要性。AFS通过计算Fisher信息矩阵的对角元素来量化网络策略对每一层特定特征微小变化的敏感性。这有助于识别哪些特征对网络的输出有较大的影响。AFS还可以用来分析在不同任务之间迁移时,哪些特征被新任务所利用。这有助于理解迁移学习的效果和机制。此外,通过在不同层级上计算AFS,研究者可以了解在网络的哪个层次上发生了有效的迁移,是低级感官特征还是高级控制特征。
**平均扰动敏感性(APS)**是直观的特征贡献评估。APS通过在网络的特定层注入高斯噪声,并观察这种扰动对性能的影响,来评估源任务特征对目标任务的贡献。如果性能显著下降,则表明该特征对最终预测非常重要。APS提供了一种直观的方法来观察迁移特征的有效性。通过扰动分析,可以识别出在迁移过程中哪些特征是有益的,哪些可能是有害的。
(2)网络构建过程
展示了如何通过添加更多的列来逐步构建网络,每个新列都建立在之前学习的任务之上。
5.2 在Pong Soup迁移任务的性能分析
(1)迁移任务效果
“Pong Soup” 实验是为了研究在不同变体的 Pong 游戏中,神经网络如何迁移在原始 Pong 游戏中学到的知识。实验使用了多个经过修改的 Pong 游戏版本,这些变体在视觉和控制层面上有所不同,包括:
- Noisy:在输入图像上添加了高斯噪声。
- Black:背景变为黑色。
- White:背景变为白色。
- Zoom:输入图像被放大并平移。
- V-flip、H-flip 和 VH-flip:输入图像在垂直或水平方向上翻转。
热图展示了不同Pong变体之间迁移学习的效果。颜色的深浅表示迁移得分,得分越高,颜色越深。迁移得分是相对于基线1的性能提升或下降来计算的。得分大于1表示性能提升,小于1表示性能下降。迁移矩阵中的每个单元格对应于一个源任务到目标任务的迁移情况。行代表源任务,列代表目标任务。Baseline2(单列,仅输出层微调)中蓝色区域较多,说明这种方法未能学习目标任务,导致负面迁移。Baseline3(单列,全网络微调)这种方法显示出较高的正面迁移,说明在源任务和目标任务之间存在一定程度的相似性,允许网络通过微调大部分参数来学习新任务。PNN网络在中位数和平均分数上都优于基线3,表明渐进式网络在利用迁移学习方面更为有效。特别是,渐进式网络能够更好地利用先前任务的知识来加速新任务的学习,并且对于兼容性较好的源任务和目标任务,迁移效果更加明显。
(2)不同网络层的特征敏感性分析
颜色越深表示该列在该层对输出的影响越大,即网络对该特征的依赖性越高。在Pong的不同变体之间迁移时,网络倾向于重用相同的低级视觉特征,特别是那些对于检测球和球拍位置至关重要的特征。尽管一些低级特征被重用,但网络也需要学习新的中级视觉特征来适应任务的变化,如在Zoom变体中所见。通过AFS分析,论文展示了渐进式网络如何在不同层级上有效地迁移和调整特征,以提高在新任务上的性能。
5.3 Atari目标游戏的迁移任务分析
(1)Fisher敏感性分析
图中说明如果网络过度依赖旧特征而未能学习新特征,可能导致迁移效果不佳。
展示了平均AFS值与迁移得分之间的关系,正迁移可能发生在对源任务特征的依赖与对目标任务新特征学习的平衡之间。这表明在新任务上学习新特征对于成功的迁移至关重要。
总之,通过Fisher敏感性分析,论文发现在某些情况下,渐进式网络在新任务上既重用了先前任务的特征,又学习了新的特征,这有助于实现更好的迁移效果。
5.4 3D迷宫游戏的迁移任务性能分析
即使在简单游戏中,PNN网络也能通过学习新的视觉特征来提高性能,这些特征对于识别不同任务中变化的奖励物品很重要。
6 思考
(1)论文的算法过程和模型比较简单,但是其中的适应器(Adapter)是什么作用?具体是怎么实现的?在代码中如何体现?
适配器通过在侧向连接中引入非线性,帮助网络更好地初始化新任务的学习,从而加速收敛。
还用于执行降维操作。这是因为随着网络逐渐增加新列来学习新任务,输入特征的维度也在增长。适配器通过减少特征维度,帮助网络更有效地处理这些高维输入。
适配器的设计确保了随着网络逐渐增加新列,由于侧向连接产生的参数数量与原始网络参数的数量级相同,从而控制了模型的参数增长。
相关文章:

【博士每天一篇文献-算法】Progressive Neural Networks
阅读时间:2023-12-12 1 介绍 年份:2016 作者:Andrei A. Rusu,Neil Rabinowitz,Guillaume Desjardins,DeepMind 研究科学家,也都是EWC(Overcoming catastrophic forgetting in neural networks)算法的共同作者。 期刊: 未录用&am…...

深圳中小企业融资攻略,贷款方法大盘点!
中小企业融资这事,可不是一个简单的事情。资金对中小企业来说,就像血液对人体一样重要。企业发展离不开资金支持,特别是在今年这个环境下,政策对中小企业还挺友好的。今天讲解一下中小微企业常用的几种贷款方法。希望能让大家更明…...
Android的自启动
最近要用到这个,所以也花时间看看。 从分层来说,安卓的自启动也分成三种,app的自启动,framework服务的自启动,HAL服务的自启动。现在简单说说这三种吧。当然,我主要关注的还是最后一种。。。 一 App的自启…...

开源VisualFbeditor中文版,vb7 IDE,VB6升级64位跨平台开发安卓APP,Linux程序
吴涛老矣,社区苦无64位易语言,用注入DLL增强菜单,做成VS一样的界面 终归是治标不治本,一来会报毒,二来闭源20年没更新了 开源的VB7,欢迎易语言的铁粉进群:1032313876 【Freebasic编程语言】编绎…...
github安全问题token和sshkeys
文章目录 sshkeys问题问题方法一:方法二:获取密钥添加密钥token问题问题:生成tokens设置tokenssshkeys问题 问题 当我们git clone代码时,会报如下错误,此时有2种解决方法。 git clone git@github.com:gjianw217/xboard-uboot.git Cloning into xboard-uboot... Permissio…...
超详细的selenium使用指南
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 概述 selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器…...

LogicFlow 学习笔记——1. 初步使用 LogicFlow
什么是 LogicFlow LogicFlow 是一个开源的前端流程图编辑器和工作流引擎,旨在帮助开发者和业务人员在网页端创建、编辑和管理复杂的业务流程和工作流。它提供了一个直观的界面和强大的功能,使得设计和管理工作流变得更加高效和便捷。 官网地址ÿ…...

场外个股期权通道业务是什么意思?
今天带你了解场外个股期权通道业务是什么意思?场外个股期权业务是指在沪深交易所之外进行的个股期权交易。它是一种非标准化的合约,不在交易所内进行交割。 场外个股期权通道业务,是指投资者通过与场外个股期权机构通道签订合约,购…...

分页插件结合collection标签后分页数量不准确的问题
问题1:不使用collection 聚合分页正确 简单列子 T_ATOM_DICT表有 idname1原子12原子23原子34原子45原子56原子6 T_ATOM_DICT_AUDIT_ROUTE表审核记录表有 idaudit1拒绝1通过4拒绝 我要显示那些原子审核了,我把两个表inner join 就是那些原子审核过了 idnameaudit1原子1拒绝…...
git diff 命令
目录标题 [Q&A] git diff 作用常见用法比较工作目录与暂存区比较暂存区与最近一次提交比较工作目录与最近一次提交比较两个具体的提交之间差异 [Q&A] git diff 作用 git diff 用于展示不同版本之间文件内容的变化。 常见用法 比较工作目录与暂存区 显示工作目录中尚…...
Code Review常用术语
CR: Code Review. 请求代码审查。PR: pull request. 拉取请求,给其他项目提交代码。MR: merge request. 合并请求。LGTM: Looks Good To Me.对我来说,还不错。表示认可这次PR,同意merge合并代码到远程仓库。…...
HashMap 源码中的巧妙小技巧
根据容量计算大于容量的最小的哈希表的大小(table的length),这里的length需要满足length2^n,也就是我们需要根据容量算出最小的n的值 static final int tableSizeFor(int cap) {int n cap - 1;n | n >>> 1;n | n >>> 2;n | n >&g…...

极具吸引力的小程序 UI 风格
极具吸引力的小程序 UI 风格...

数据库 | 试卷五试卷六试卷七
1. 主码不相同!相同的话就不能唯一标识非主属性了 2.从关系规范化理论的角度讲,一个只满足 1NF 的关系可能存在的四方面问题 是: 数据冗余度大,插入异常,修改异常,删除异常 3.数据模型的三大要素是什么&…...

网页五子棋对战项目测试(selenium+Junit5)
目录 网页五子棋对战项目介绍 网页五子棋对战测试的思维导图 网页五子棋对战的UI自动化测试 测试一:测试注册界面 测试二:测试登陆界面 测试三:测试游戏大厅界面 测试四:测试游戏房间界面以及观战房间界面 测试五&#…...

stable diffusion 局部重绘 reference-only api 接口调试
webUI api payload 插件生成的接口参数不准确,reference-only 的image不是对象,就是不同字符串字段,直接传,不是套image。 综上,那个插件参数不确定,应直接看插件的源码,看它接受什么参数 错误…...

浪潮信息内存故障预警技术再升级 服务器稳定性再获提升
浪潮信息近日对其内存故障智能预警修复技术进行了全面升级,再次取得技术突破。此次升级后,公司服务器的宕机率实现了80%锐降,再次彰显了浪潮信息在服务器技术领域的卓越能力。 浪潮信息全新升级服务器内存故障智能预警修复技术MUPR (Memory …...

JWT整合Gateway实现鉴权(RSA与公私密钥工具类)
一.业务流程 1.使用RSA生成公钥和私钥。私钥保存在授权中心,公钥保存在网关(gateway)和各个信任微服务中。 2.用户请求登录。 3.授权中心进行校验,通过后使用私钥对JWT进行签名加密。并将JWT返回给用户 4.用户携带JWT访问 5.gateway直接通过公钥解密JWT进…...
vue实现全屏screenfull-封装组件
1. 安装依赖 npm install --save screenfull 2. 引用 import screenfull from "screenfull" 3.封装fullScreen/index: <template><div><el-tooltip v-if"!content" effect"dark" :content"fullscreenTips" placement&…...

【LinkedList与链表】
目录 1,ArrayList的缺陷 2,链表 2.1 链表的概念及结构 2.2 链表的实现 2.2.1 无头单向非循环链表实现 3,LinkedList的模拟实现 3.1 无头双向链表实现 4,LinkedList的使用 4.1 什么是LinkedList 4.2 LinkedList的使用 5…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...