论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)

论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)

摘要

摘要中,作者肯定了 Dropout 方法在正则化大部分神经网络的有效性,但是目前应用在循环神经网络上效果并不好,所以作者本文的目标就是如何将 Dropout 方法正确地应用在循环神经网络上,使得在各种任务上(如语言模型、语音识别、机器翻译等)大大减小了过拟合的程度。

1、介绍

循环神经网络是一种神经序列模型网络,它在一些包括语言模型、语音识别和机器翻译的重要任务上可以达到当前最好的表现。然后,众所周知,成功的神经网络应用必须具备良好的正则化手段。而 2013 年提出的 Dropout 用于循环神经网络上效果并不好。因此,由于大型的 RNN 容易过拟合,而实际的应用往往使用小型的 RNN。目前,现有的正则化方法提升效果较小,基于此,作者觉得很有必要研究如何正确地将 Dropout 应用在循环神经网络上。作者分别在三个不同的问题上进行了评估。

2、相关工作

作者指出目前存在一些对 Dropout 的改进,但研究目标主要集中在非循环网络方面,而本话题相对较少,只有一篇文章指出了传统的 Dropout不太适合于 RNNs,原因在于循环层扩大了噪声,反而对学习产生不良影响。而作者通过研究,得出 Dropout 其实可以解决这个问题,只是使用的姿势不对!!!。

本段提及一些与本话题有关的其他研究者的研究工作。不再赘述。

作者提到目前有很多 RNN 变体在解决具有长依赖特点的问题上表现不错,并列举相关论文。因此,作者对目前最常使用的 RNN 变体,即 LSTM,研究如何正确在 LSTM 上应用 Dropout ,然后,这种方法对其他 RNN 变化也可能会有效,这里作者并不保证。。。

接下来,作者指出了本次实验的三个任务,分别是序列模型,语音识别以及机器翻译。

3、正则化带有 LSTM 单元的 RNNs

3.1、 LSMT单元

本段作者简要介绍了 LSTM。如果还不了解,建议先去学习下。下面就贴几张图,知道作者的符号以及 LSTM 结构图和公式表示就行。
论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)
论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)
论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)

3.2、具有 Dropout 的正则化

作者指出,本文的主要贡献在于将 Dropout 应用于 LSTM,使得任务成功地减小了过拟合的方法。而本文的主要思想就是将 Dropout 仅用于非循环连接上。作者用图示以及公式分别表示具体需要 Dropout 的位置,看看下面的图。
首先是图示:
论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)
在上图中虚线连接处表示可以使用 Dropout 的位置,而实线处表示不使用 Dropout 的位置。简单说就是,只对输入->RNN 和 RNN->输出 的位置应用 Dropout 操作。
论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)
在 D 的作用下,Dropout 操作将使得其参数的随机子集变为零(有概率的失活)。

接下来,作者描述了其方法的原理。Dropout 操作去掉了一些单元所携带的部分信息,迫使它们更鲁棒地执行其中间的计算。同时,作者并不想去掉来自单元的所有信息。特别重要的是,这些单元能够记住发生在过去许多时间步的事件。下图显示了加入 dropout 后,信息是如何从发生在时间步 t-2 的事件流向时间步 t+2 的预测的。可以看到信息被 Dropout 作用了
恰好 L+1 次,而这个次数与信息流所穿过的时间步数量并没有关系。标准的 Dropout 影响的是循环层的连接(即同一层内,不同时间步之间的连接),这样就会使得 LSTM 丧失记忆能力。因此,不对循环层使用 Dropout ,LSTM 就能从 Dropout 正则化方法中获益,而不需要牺牲其有价值的记忆能力。下面看看直观的图。
论文简析之循环网络中的正则化(Recurrent Neural Network With Regularization)
上图中,实线显示了 LSTM 中一条标准的信息流。这条信息被 Dropout 影响了 L+1 次,L 是网络的深度。如果网络有两层,那么这条信息就会被 dropout 作用三次,包括第一层的输入一次、第二层的输入一次,最后一层的输出一次。

4、实验

这一部分,作者分别就语言模型、语音识别、机器翻译、看图说话生成任务进行实验,比较有无 Dropout 对实验结果的影响。结果显示,Dropout均能在一定程度上改善实验的结果。

结论

作者再次提到本文主要的贡献,就是将 Dropout 应用在LSTM 上能够大大的改善不同领域上一些问题的表现。

感受

总的来说,本文作者提出了如何将正则化方法 Dropout 应用在 LSTM 上,首先通过画图,以及公式表示来阐述方法的细节,然后通过一系列实验来证明其有效性。这篇文章对于解决 LSTM 或者循环网络的过拟合提供了一个 trick。因此,如果需要对循环网络使用 Dropout ,那么本文就提供了一个非常好的设置思路了,大家可以尝试下效果。完~