RNN with Adaptive Computation Time

原创 2017年01月03日 22:52:44

最近看完了一篇论文《Adaptive Computation Time for Recurrent Neural Networks》,目前正在做相关实验,把总结的PPT贴出来分享下,后面是论文的主体翻译。也可参考我之前翻译的一篇博文:RNN的四种代表性扩展—Attention and Augmented Recurrent Neural Networks(二)
里面有关于“Adaptive Computation Time(自适应计算次数)”的形象解释。建议论文和我翻译的博文结合看,会更好理解ACT的思想。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

论文翻译:《Adaptive Computation Time for Recurrent Neural Networks》:

该论文介绍了一种“适应性计算次数(ACT)”算法,该算法允许RNN网络接收一个input后,学习要计算多少步后产出一个output。ACT对整个网络架构的变动需求并不大,是一个确定性的网络结构,并且不用向参数梯度中添加任何噪音。在实验上,我们用了四个合成性问题:确定二进制向量的奇偶性,应用二进制逻辑运算,添加整数和排序实数。综合来看,使用ACT算法在性能上有明显的提升。另外,我们也实验了character-level的语言模型,然后使用ACT模型在效果上并没有产生多大的性能提升。不管怎样,该算法算是一个比较新颖的想法。

皮埃尔·费马特能够在一个假设(如果不是证明)的边缘写了一个定理,花了三个半世纪和大量的数学来解决[35]。简单点的例子是,我们期望在两个城市之间找到一条令人满意的路由,或者检查一个特定事实所需的查询数量,在不同情况下变化很大,并且不可预测。 然而,大多数机器学习算法不能动态地使它们所采用的计算量适应它们执行的任务的复杂性。

对于人工神经网络,其中神经元通常排列在密集连接的层中,计算时间的复杂度一般是网络中层到层转换的数量。在前馈网络中,这由网络深度或堆叠在彼此顶部的层的数量控制。 对于循环网络,变换的数量还取决于输入序列的长度 - 其可以被填充或以其它方式扩展以允许额外的计算。就目前证据表明,通过增加深度可以更好的提升网络性能,而最近的研究结果表明增加序列的长度也有相似功效[ 31, 33, 25]。然后在确定对特定输入向量的计算量时,目前还需要先验(priori)来确定。一个解决方案是简单地使每个网络非常深,并设计其架构,以减轻与长链的迭代[29,17]相关的消失梯度问题[13]。然而为了能即提高计算性能又能减小学习的困难度,似乎在每次输入和输出之间进行动态的改变网络“思考(即计算)”的步数是更可取的。在这种情况下,在沿着序列的每个步骤(即token)处,网络的有效深度变成了一个接收输入的动态函数。

这里使用的方法是增加了一个sigmoidal halting单元作为网络的输出,该sigmoid的激活值决定了计算是否需要继续的概率。得到的halting分布是一个平均场向量,将它用来作为网络的输出和沿着序列在内部网络中状态的传播。一个随机的方案是根据halting分布中的二进制样本来决定是halt还是continue,该技术最近已经应用到了基于场景理解的RNN[7]。而且,平均场方法使用了一个outputs和states的平滑函数,这样的优势使其不需要使用随机梯度估计。我们希望使用平均场方法在遇到长序列halting决策时可以获得益处,因为每一个决策都有可能回会影响到所有后续序列,并且采样噪音也会迅速积累(正如在策略梯度方法[36]中观察到的)。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

版权声明:本文为博主原创文章,未经许可禁止转载。只为学习总结,整理时参考资料太多,有些引用没有提及,如有发现,感谢通知并修改!

RNN computation

link: http://karpathy.github.io/2015/05/21/rnn-effectiveness/RNN computation. So how do these things...
  • weixingstudio
  • weixingstudio
  • 2016年06月12日 16:33
  • 1158

聚焦和增强卷积神经网络

http://geek.csdn.net/news/detail/106118 卷积神经网络是一种主流的深度学习模型,它可以用神经网络模型来处理序列化的数据,比如文本、音频和视频数据。它能把...
  • zdy0_2004
  • zdy0_2004
  • 2016年10月09日 23:59
  • 521

Adaptive Color Attributes for Real-Time Visual Tracking几句话总结

写在前面:本篇博客主要为了做一个简单的学习记录,以备后来温习算法时有所提示。由于都是简单的按照我自己的理解写的,且只有简短的几句话,因此并不适合于通过我的文章学习算法。简单来说就是本博目的是给“我”做...
  • xiaomizhangmingyi
  • xiaomizhangmingyi
  • 2016年05月06日 17:22
  • 1189

动态目标检测(一):Adaptive Background Mixture Models for Real-Time Tracking

这个问题可以分为: 1. 静态背景下的动态目标 2. 动态背景下的动态目标 这里主要考虑第二个问题。解决方案: 1. 运动补偿+背景建模 2. 光流 最近看了下背景建模的经典文献:Adaptive...
  • zinnc
  • zinnc
  • 2016年08月02日 02:34
  • 1116

入手《Introduction to the Theory of Computation》

作为CS毕业的学生,没有读过《Introduction to the Theory of Computation》,真是觉得惭愧。今天终于入手此书,接下来好好阅读此书,并做好相应的学习笔记! ...
  • dokieyang
  • dokieyang
  • 2012年08月20日 23:29
  • 1110

Principles of Data Mining (Adaptive Computation and Machine Learning)

The growing interest in data mining is motivated by a common problem across disciplines: how does on...
  • topmvp
  • topmvp
  • 2008年08月07日 05:22
  • 489

谷歌 Dynamic Computation Graphs 动态计算图

上次调研Syntax+NMT(http://blog.csdn.net/wangxinginnlp/article/details/56488921)发现Sequence-to-Tree 或者 Tre...
  • hellonlp
  • hellonlp
  • 2017年03月02日 23:47
  • 827

RNN模型

(一)RNN模型 1.递归神经网络(recurrent neural network,RNN)是一种具有反馈结构的神经网络,其输出不但与当前输入和网络的权值有关,而且也与之前网络的输入有关;RNN通过...
  • dream_catcher_10
  • dream_catcher_10
  • 2015年09月15日 12:31
  • 6972

tensorflow1.1/利用rnn回归分析

环境:tensorflow1.1,python3,matplotlib2.02#coding:utf-8 from tensorflow.contrib import rnn import tenso...
  • szj_huhu
  • szj_huhu
  • 2017年07月27日 10:54
  • 354

Bayesian Computation with R (Jim Albert) 学习笔记I

1 什么是贝叶斯思想? 贝叶斯方法在最近得到非常广泛的应用,是计算统计领域不可或缺的重要部分。其在研究一个问题时的大致框架是,在得到数据之前人们就对感兴趣的参数有个主观信念, 或者说认为服从某个...
  • ruikoeln
  • ruikoeln
  • 2012年12月29日 13:48
  • 1087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RNN with Adaptive Computation Time
举报原因:
原因补充:

(最多只允许输入30个字)