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 渐进式神经网络相关推荐

  1. 论文笔记 Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition - CVPR

    Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition 2020 CVPR | c ...

  2. [论文笔记]Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    作者:Anh Nguyen, Jason Yosinski, Jeff Clune 链接:https://arxiv.org/pdf/1412.1897.pdf 摘要: 本文的工作基于Christia ...

  3. 论文笔记 | Improving neural networks by preventing co-adaptation of feature detectors

    Authors G. E. Hinton , N. Srivastava, A. Krizhevsky, I. Sutskever and R. R. Salakhutdinov Hinton Abs ...

  4. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

  5. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](6)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](6) GNN playground Some empirical GNN ...

  6. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](5)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](5) Graph Neural Networks 图神经网络 Now th ...

  7. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](4)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](4) The challenges of using graphs in ...

  8. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](3)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](3) What types of problems have graph ...

  9. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](2)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](2) Graphs and where to find them 图以及在 ...

最新文章

  1. 高手过招, 为什么 Redis Cluster 是16384个槽位?
  2. R语言使用geompointdensity包的geom_pointdensity函数将散点图和密度图结合起来、使用viridis包的scale_color_virdis函数为密度数据添加调色板色彩渐变
  3. java 能不能回收 文件流_Java文件流关闭和垃圾回收机制
  4. mysql高德地图设计_如何优雅的制作那些好看的地图
  5. Go 2. 两数相加
  6. SmartGit破解方法
  7. 【CF1349D】Slime and Biscuits【概率期望】【解方程】
  8. 给 TWebBrowser.Document 定义事件
  9. 子网掩码与子网个数、主机地址个数的关系
  10. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例
  11. toad可以连接mysql吗_配置Toad链接远程Oracle数据库
  12. 搜索框,输入关键字过滤对象数组
  13. bzoj 2599: [IOI2011]Race(树的点分治)
  14. 解决安全频道支持出错,代码:80072F7D问题
  15. Hyper-V虚拟机和虚拟化服务器区别
  16. 关于SI4463和AIS的学习笔记
  17. fragment 淡入淡出_一种模型淡入淡出时透明面重叠问题的解决方案
  18. Failed to fetch URl https://dl-ssl.google.com/android/repository/addo Android SDK更新以及ADT更新出现问题的解决办法
  19. 教你一招,解决C盘空间不足问题
  20. Comparator.comparing排序报空指针异常

热门文章

  1. 创业开一家网吧:必须知道:
  2. 1033 旧键盘打字(20)(20 分)
  3. android音乐播放器简书,打造 Android 网络音乐播放器 [2]
  4. 以科技增警力 浪潮多款存储中标某省公安厅警务系统项目
  5. 【华人学者风采】刘康 中国科学院自动化所
  6. 给定的正整数N,求方程X^2+y^2=N的全部正整数解。N小于10000.
  7. 七牛前端使用JS-SDK上传文件完成时返回code:400报错
  8. 使用SW2018导出urdf模型文件
  9. 嵌入式 shell 学习之for语句
  10. 生物信息通识课 - 让实验者了解生信,让生信人快速入门