将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

选自arXiv

机器之心编译

参与:蒋思源

Yoshua Bengio 等人提出了一种新型循环神经网络,该网络由前向和反向循环网络组成,并且前向和反向隐藏状态之间有一定的紧密度而共同预测相同的符号。因为前向 RNN 包含了前面序列的信息,而反向 RNN 在同一位置包含了未来的信息,所以利用正则项连接这两种信息将有助于 RNN 获取学习长期依赖的能力。

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

论文地址:https://arxiv.org/abs/1708.06742

对序列数据(如文本)的长期依赖(long-term dependencies)建模一直是循环神经网络中长期存在的问题。这个问题和目前循环神经网络架构没有明确的规划是严格相关的,更具体来说,循环神经网络只是在给定前一个符号(token)的基础上预测下一个符号。在本论文中,我们介绍了一种鼓励 RNN 规划未来的简单方法。为了实现这种规划,我们引进了一种反向训练和生成序列的附加神经网络,并且要求前向 RNN 和反向 RNN 中的状态有一定的紧密度以预测相同的符号。在每一步中,前向 RNN 的状态要求匹配包含在反向状态中的未来信息。我们假设这种方法简化了长期依赖关系的建模,因此更有助于生成全局一致的样本。该模型在语音识别任务上实现了 12% 的相对提升(相对于基线 7.6,CER 达到了 6.7)。

2. 模型

给定数据集 X = {x^1 , . . . , x^ n },其中 x={x_1, . . . , x_T } 为观察序列,RNN 模型对序列空间的概率 p(x) 及其概率密度进行建模,通常我们会训练 P 以最大化观察数据的对数似然函数 :

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

RNN 会将序列的概率分解为:

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

也就是说,RNN 在给定前面所有元素的情况下预测下一个元素。在每一步中,RNN 迭代地总结时间步 t 之前的序列值而更新一个隐藏状态

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

(下文用 h_ft 代表)。即

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

,其中 f 代表网络前向地读取序列,而Φ_f 为典型的非线性函数,如 LSTM 单元。预测值 x_t 在 h_ft 的顶部执行另一个非线性转换,即 p_f(x_t|x<t)=ψ_f(h_ft)。因此,h_ft 总结了前面序列中的信息。该方法的基本思想是提升 h_ft,以令其不仅包含对预测 x_t 有用的信息同时还兼容序列中将要出现的符号信息。

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

如上图 1 所示,前向和反向网络独立地预测序列 {x1, ..., x4}。正则化罚项将匹配前向(或前向参数函数)和反向隐藏状态。前向网络会从对数似然目标函数接收到梯度信号,并且状态之间的 L_i 是预测相同的符号。反向网络仅通过最大化数据对数似然度而进行训练。在评估阶段中,部分网络(蓝色表达)将会被丢弃。L_i 的成本为欧几里德距离或通过仿射变换 g 学到的度量。

2.1 正则化损失

我们最开始试验是使用 L2 损失来匹配前向和反向隐藏状态。虽然这给我们一定的提升,但是我们发现这种损失太严格而不允许模型有足够的灵活性来生成稍微不同的前向和反向隐藏状态。因此,我们试验了参数方程以匹配前向和反向状态。这种情况下,我们简单地使用了一个参数仿射转换(parametric affine transformation),以允许前向路径不一定精确地匹配反向路径。虽然不一定完全精确,但这种方法只允许前向隐藏状态包含反向隐藏状态的信息。实验上,我们发现参数损失在语音-文本生成任务中给模型很大的提升。具体来说,我们首先使用 L2 正则项为

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

,而我们使用的参数正则项为

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

,其中 g(·) 为 h_ft 上的简单仿射变换。

将未来信息作为正则项,TN加强RNN对对长期依赖的建模能力

表 1:WSJ 数据集上的平均字符错误率(CER%)

我们在表 1 中总结了实验结果。从仿射变换学到的度量方法展现了非常好的性能,并且我们从网络中解码并没有使用任何外部的语言模型,这进一步强调了该正则化方法的重要性。我们的模型相对于基线模型在性能上提升了 12%。

相关推荐