【论文笔记】Progressive Neural Networks 渐进式神经网络
2018-01-11 14:50
429 查看
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那样更改原来的网络!而且每一层的特征信息都能得到迁移,并且能够更好的具化分析。
缺点就是参数的数量会随着任务的增加而大量增加!并且不同任务的设计需要人工知识。
相关文章推荐
- Coursera deeplearning.ai 深度学习笔记1-3-Shallow Neural Networks-浅层神经网络原理推导与代码实现
- 循环神经网络(RNN, Recurrent Neural Networks)学习笔记:源码分析(一)
- Andrew NG机器学习课程笔记系列之——机器学习之神经网络模型-上(Neural Networks: Representation)
- Stanford机器学习笔记-4. 神经网络Neural Networks (part one)
- 【论文笔记】二值化神经网络(Binarized Neural Network)
- 机器学习笔记06:神经网络的表示(Neural Networks-Representation)
- 【论文笔记2】图像压缩神经网络在Kodak数据集上首次超越JPEG——Full Resolution Image Compression with Recurrent Neural Networks
- Andrew NG机器学习课程笔记系列之——机器学习之神经网络模型-下(Neural Networks: Representation)
- Coursera公开课笔记: 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- 【神经网络张量化】Tensorizing Neural Networks笔记
- 笔记: 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- 机器学习笔记(五)----神经网络的学习(Neural Networks: Learning)
- Hinton Neural Networks课程笔记1b:神经网络模拟的大脑机理
- Hinton Neural Networks课程笔记2a:三种主要的神经网络框架之前向网络、循环神经网络和对称网络
- Stanford机器学习笔记-4. 神经网络Neural Networks (part one)
- Hinton Neural Networks课程笔记4a:使用神经网络做逻辑推理
- 论文笔记:神经网络中的基本概念整理
- 分形网络结构——FractalNet: Ultra-Deep Neural Networks without Residuals论文笔记
- Stanford机器学习笔记-5.神经网络Neural Networks (part two)
- 【计算机视觉】【神经网络与深度学习】论文阅读笔记:You Only Look Once: Unified, Real-Time Object Detection