看大牛如何复盘递归神经网络!
更多深度文章,请关注云计算频道:
https://yq.aliyun.com/cloud
在大牛的眼中,递归神经网络(RNNs)的运作就像孩子们玩的手机游戏(也叫做华人耳语(私下传话),其实就是暗指递归神经网络是一个封闭的形式运作的。)。在RNN的每个处理步骤,RNN必须对已收到的新信息进行编码并将信息通过一组反馈连接传递到下一个处理步骤。对于设计神经网络模型(RNN)来说,最大的挑战就是要保证通过反馈连接每次传递的信息量不会降低。同样重要的是要确保纠错信息可以通过反向传播通过模型。Hochreiter和Schmidhuber是第一个解决这些问题的人,他们将一个称为长期记忆模式(LSTM模式)装配到RNN上。其实,他们的方法就是引入网络门控机制,以此来控制信息存储、更新和抹去。LSTM模式其实还是在以孩子们玩手机游戏的方式运作,但可以使用复印机的精度进行操作。由于LSTM模型的出现,已经有几个RNN架构计划使用网络门控机制。
任何机制都有它的局限性,下面我们来了解一下,具有门控机制的RNN模型的局限性,假设你有100000符号序列,第一个符号必须通过门控机制100000次。除了LSTM模型的门,其他的门都可能是不完全开放的,假设门是99.99%开的,信号从第一个符号将降低到0.9999¹⁰⁰⁰⁰⁰原始值的0.0000454。所以即使严格执行复印机模型精度,如果序列是从一开始就是非常长的信息序列,最后的结果是信息还是会遭受到很大的损失。
为了克服现有RNN架构的局限性,一个新的模型需要包括反馈连接到每个处理步骤,而不仅仅是前面的步骤。 一个解决方案是使用注意力机制,假设我们想对时间序列数据进行建模使用循环神经网络(RNN)并且使用注意力机制。 在每一个处理步骤,RNN的输出都要被注意力机制模型加权。 然后将每一个步骤加权输出聚合在一起加权平均。加权平均值的结果称为上下文向量。 上下文向量可以表示信息在数据中的任何时间点的聚合效果。
注意力机制的主要约束是对整个时间序列数据只产生一个上下文向量。 在生成上下文向量之前,必须将整个数据序列读入模型。换句话说,注意力机制是静态的。为了克服这个限制,我们最近提出了一种新的方法来计算注意机制——使用移动平均值。因为注意力机制只不过是一个加权平均值,所以它的计算是一个正在运行的计算过程。这需要从每个处理步骤保存分子和分母,以在下一次迭代中使用。通过保持注意力机制的移动平均值,每个时间步长都能产生一个新的上下文向量。通过这种方法,注意力机制变得动态,可以在模型运行中计算。
我们决定让我们的方法更上一层楼。我们意识到,注意力机制的输出可以反馈到注意力机制在下一个处理步骤。由此产生的模型代表了一种新的递归神经网络(RNN)模型。考虑到加权平均是递归定义的,我们决定把这种方法称为递归加权平均(RWA)模型。
我们开始用几个玩具问题来测试RWA模型,并将其性能与LSTM模型进行比较。在每一个任务中,只有一个除外,RWA模型使用更少的训练步骤获得了就更快的学习速度。此外,每一个训练步骤的RWA模型需要更少的时间,下面对比结果。
从图中可以看出,RWA模型能更好地扩展到更长的序列。 我们不期望RWA模型总是优于并且能够RNN模型,像LSTM那样。LSTM模型可能是更好的选择(在一些例子中),当最近的信息比旧信息更重要时。这就是说,我们可能想要一个拥有对过去有记忆的RNN模型,这也是我们除了RWA模型以外的替代方法。
作者介绍:Jared Ostmeyer
计算生物学博士后研究员。 目前在德州达拉斯生活和工作。
作者:Thomas Kipf
本文由北邮@爱可可-爱生活推荐,阿里云云栖社区翻译。
文章原标题《Rethinking Recurrent Neural Networks》,
作者:Jared Ostmeyer,译者:袁虎,审阅:我是主题曲哥哥,李烽老师