【论文笔记】Progressive Neural Networks 渐进式神经网络
Progressive NN
Progressive NN是第一篇我看到的deepmind做这个问题的。思路就是说我不能忘记第一个任务的网络,同时又能使用第一个任务的网络来做第二个任务。
为了不忘记之前的任务,他们的方法简单暴力:对所有的之前任务的网络,保留并且fix,每次有一个新任务就新建一个网络(一列)。
而为了能使用过去的经验,他们同样也会将这个任务的输入输入进所有之前的网络,并且将之前网络的每一层的输出,与当前任务的网络每一层的输出一起输入下一层。
每次有一个新的任务,就重新添加一列,然后将前几列的输出fuse到当前列来。
比如说,如果两个任务的low level特征类似,则当前任务网络中的前几层可能完全没有用处,只需要用之前任务的输出就够了。
但是一个很明显的问题是,这个网络不能学到自己的low level feature的网络,然后使用之前网络的high level决策。因为1,当low level不一样的时候,将输入输入之前的网络就不make sense了;更重要的是,当前列的输入根本无法输入进之前列的网络,只复用高层网络根本无从谈起。
所以这里的限制就是,两个任务需要有类似的low level feature。当然啦,这篇文章还是有很酷的视频,也确实用到了一些任务上。
用几句话就能够说明白这个所谓的progressive neural networks到底是什么了!简直不能再简单!
就是:
Step 1:构造一个多层的神经网络,训练某一个任务,上图第一列
Step 2:构建第二个多层的神经网络,然后固定第一列也就是上一个任务的神经网络,将上一列的神经网络的每一层(注意是每一层)都通过a处理连接到第二列的神经网络的每一层作为额外输入。也就是第二个神经网络每一层除了原始的输入,还加上经过a处理的之前的神经网络对应层的输入。
Step 3:构建第三个多层神经网络,训练第三个任务,将前两列的神经网络固定,然后同上一样的方法连接到第三个神经网络中。
上图的线很清楚的表示了这个过程。
这就是把神经网络和神经网络连起来的方法!
a的作用其实主要是为了降维和输入的维度统一(与原始输入匹配),用简单的MLP来表示!
除此之外,增强学习算法没有任何变化。文章中使用A3C算法,一个比DQN强4倍的算法!
总的来说,就是抽取之前的神经网络的信息与当前的输入信息融合,然后训练!训练的效果就可以和没有加前面的神经网络的方法对比,如果效果好很多说明前面的神经网络有用,知识有迁移!
这种方法的好处就是之前的训练都保留,不至于像fine tune那样更改原来的网络!而且每一层的特征信息都能得到迁移,并且能够更好的具化分析。
缺点就是参数的数量会随着任务的增加而大量增加!并且不同任务的设计需要人工知识。
【论文笔记】Progressive Neural Networks 渐进式神经网络的更多相关文章
- (转载)Convolutional Neural Networks卷积神经网络
Convolutional Neural Networks卷积神经网络 Contents 一:前导 Back Propagation反向传播算法 网络结构 学习算法 二:Convolutional N ...
- 论文笔记系列-Neural Network Search :A Survey
论文笔记系列-Neural Network Search :A Survey 论文 笔记 NAS automl survey review reinforcement learning Bayesia ...
- 论文笔记 《Maxout Networks》 && 《Network In Network》
论文笔记 <Maxout Networks> && <Network In Network> 发表于 2014-09-22 | 1条评论 出处 maxo ...
- Convolutional Neural Networks卷积神经网络
转自:http://blog.csdn.net/zouxy09/article/details/8781543 9.5.Convolutional Neural Networks卷积神经网络 卷积神经 ...
- NNs(Neural Networks,神经网络)和Polynomial Regression(多项式回归)等价性之思考,以及深度模型可解释性原理研究与案例
1. Main Point 0x1:行文框架 第二章:我们会分别介绍NNs神经网络和PR多项式回归各自的定义和应用场景. 第三章:讨论NNs和PR在数学公式上的等价性,NNs和PR是两个等价的理论方法 ...
- Reducing the Dimensionality of Data with Neural Networks:神经网络用于降维
原文链接:http://www.ncbi.nlm.nih.gov/pubmed/16873662/ G. E. Hinton* and R. R. Salakhutdinov . Science. ...
- Feedforward neural networks前馈神经网络
Feedforward neural networks or deep feedforward networks or multilayer perceptrons Pass input throug ...
- 论文笔记系列-Neural Architecture Search With Reinforcement Learning
摘要 神经网络在多个领域都取得了不错的成绩,但是神经网络的合理设计却是比较困难的.在本篇论文中,作者使用 递归网络去省城神经网络的模型描述,并且使用 增强学习训练RNN,以使得生成得到的模型在验证集上 ...
- 论文翻译:Neural Networks With Few Multiplications
目录 Abstract 1. Introduction 2.Related Work 3.Binary And Ternary Connect 3.1 BINARY CONNECT REVISITED ...
随机推荐
- UNIX 家族及Linux
Unix成长为一个非私有的操作系统,是因为1956年的AT&T公司受命于联邦去经营电报电话服务.当然也可以开发软件,甚至那个软件可以有”合理”收费的许可证,但是这个公司却被禁止从事任何和计算机 ...
- webpack window dev-server配置
1.安装webpack dev-server npm install --save-dev webpack webpack-dev-server 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- Mac Apache ZooKeeper 配置
1.配置准备工作 1)配置 ZooKeeper 准备工作 下载相关软件 apache-zookeeper-v3.4.10.zip ZooKeeper 官网 ZooKeeper 配置软件下载地址,密码: ...
- 【php】thinkphp以post方式查询时分页失效的解决方法
好久没有写博客了,最近说实话有点忙,各个项目都需要改bug.昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢博客园大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题 ...
- iOS runtime执行时具体解释
什么是runtime? runtime直译就是执行时间,run(跑,执行) time(时间),网上大家都叫它执行时,它是一套比較底层的纯C语言API,属于一个C语言库,包括了非常多底层的C语言API, ...
- ios app: 使用企业license设置发布app的过程
ios开发者证书与企业证书的内容,关系,以及ios app 使用企业license设置发布app的过程 iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.c ...
- Linux中在防火墙中开启80端口的例子
最近自己在学习Linux.搭建一个LNMP环境.在测试时一切都好.然后重启Linux后.再次访问网站无法打开.最终原因是在防火墙中没有加入 80 端口的规则.具体方法如下: 在CentOS下配置ipt ...
- Java – Display all ZoneId and its UTC offset
package com.mkyong.date; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.Z ...
- Knockout与Require框架同时使用时的visible绑定的问题,造成的影响,以及解决的方法。
Knockout 可以将 visible 绑定到DOM 元素上,使得该元素的hidden 或visible 状态取决于绑定的值. 查看以下knockout的描述,http://knockoutjs.c ...
- ubuntu14.4.4安装smb服务实现文件共享
1.软件安装,ubuntu14需要安装的软件有3个 安装服务前养成习惯 sudo apt-get upgrade 首先切换到超级用户 su - root sudo apt-get install s ...