《 LSTM: A Search Space Odyssey》IEEE-- 论文阅读

论文链接:LSTM:A Search Space Odyssey

摘要:LSTM八中变体的三种应用:语音识别,手写字符识别,多风格音乐建模。每个应用中,分别用随机搜索(随机搜索用于在每个问题上寻找性能最好的超参数)优化超参数,并且使用fANOVA框架评估其重要性。经过多次试验证明,没有任何一个变体可以显著的改进标准的LSTM体系结构。

介绍:LSTMs主要用于时间问题上,用于笔迹识别,语言建模和翻译,语音建模,语音合成,蛋白质二级结构预测,分析音频和视频数据等。

       LSTM结构最重要的是能够随时间保存其状态的memory cell,并且有非线性门单元(s)控制信息进出这个记忆cell。SRN与LSTM的结构

 如图所示,一个基本的LSTM block有三个门(input,forget,output),block输入,一个cell,一个输出激活函数,窥视孔连接。block的输出循环的连接到这个block的输入和所有的门。

前向传播:(公式)N为LSTM的block数,M为输入数,X为时间t的输入向量

σ是sigmoid函数,用于门的激活,g是tanh函数,用于block的输入和输出的激活。

公式

公式

 

 

 

 反向传播:

LSTM的block内部的deltas的计算公式为:

公式

△t是从上一层传递下来的deltas,损失函数E(对于y的求导)不包括周期性的依赖。输入的deltas只有在这一层还有需要训练的下一层时才需要,计算如下:

公式

 最后的权重梯度计算为:

公式

 

LSTM的历史:

       最初的LSTM的block只有cells(可能多个),输入,输出门,没有forget门和窥视孔连接。输出门,biases和输入的激活函数都被忽略,采用实时循环学习(RTRL)和后向传播(BPTT)来训练,只有cell的梯度会随着时间向后传播,并且与其他循环连接的梯度被截断。因此,这个研究没有使用精确的梯度进行训练。

       LSTM最大的创新就是控制门的引入,输入门学习决定何时让激活传入存储单元,输出门学习何时让激活传出存储单元,forget门学习何时让上一个时刻的存储单元传入下一个时刻的存储单元。

A遗忘门:允许LSTM重置自己的状态,允许学习连续的任务,如嵌入式Reber语法。

B 窥视孔连接:让精确的计时更容易学习,此外,输出激活函数被省略了,因为在LSTM目前的测试中,没有证据表明输出激活函数对于解决问题很重要。

C完整的梯度:使用完整的BPTT具有使用有限差分检查LSTM梯度的额外优势,具有实用性和可靠性。

D其他变体:使用基本的LSTM作为基准,与其他的8个变体一起评估。为每个变体,单独调整超参数,如学习速率或者输入噪声的数量。因为超参数空间很大且不可能完全遍历,因此采用随机搜索的方法,对每个变体和数据集的组合获得了表现好的超参数。随机搜索的另一个好处是提供了足够的数据来分析各种超参数对每个LSTM变体性能的影响。

一个block的门之间添加循环连接来改善收敛速度。

       LSTM的简化变体GRU(门控循环单元,没有使用输出激活功能和窥视孔连接,并且将输入们和遗忘门耦合到更新门中)

评价设置:为每个变体,单独调整超参数,如学习速率或者输入噪声的数量。因为超参数空间很大且不可能完全遍历,因此采用随机搜索的方法,对每个变体和数据集的组合获得了表现好的超参数。随机搜索的另一个好处是提供了足够的数据来分析各种超参数对每个LSTM变体性能的影响。

A数据集:训练集+用于早期停止和优化超参数的验证集+测试集用于最终的评估

B网络结构和训练:

JBS Chorales:一层LSTM+sigmoid输出层

TIMIT和IAM在线任务:2层LSTM+一层softmax输出层(两层LSTM分别处理向前和向后输入)

JBS和TIMIT损失函数都是交叉熵损失,IAM使用CTC(Connectionist Temporal Classification)。权重初始化都是用正态分布,方差为0.1,使用SGD(momentum使用nesterov-style),学习速率是1-momentum

C LSTM变体

本论文中的变体指的是比如去掉输入门,输出门,输入激活函数或者全梯度等,减少了计算量。

D 超参数搜索:

超参数:LSTM 每个隐藏层的block数, [20,200]

学习率:[10e**-6,10e**-2]

Momentum:[0.01,0.1]

高斯噪声:[0,1]

超参数的影响:

1.学习速率很重要,下图4中的蓝色部分显示了设置学习率如何的影响测试集的预期平均性能,曲线周围的阴影部分的面积表示树预测的标准差(而不是其他的超参数),从而量化平均值的可靠性。绿色部分显示了与预期的平均训练时间相同的结果。下图显示了学习率的最佳值依赖于数据集,对每一个数据集好的学习速率都有一个大盆地(达到两个数量级)。经过观察发现,在盆地的高端有一个学习速率的最佳值,在这个区域,模型训练时间短并且表现很好。因此在寻找一个LSTM的好的学习速率的时候,从一个高值(比如1.0)开始搜索,每次除以10直到性能停止增长。图5显示,学习率引起的方差比学习率与隐藏层大小的交互作用引起的方差要大得多,这说明学习速率可以在一个小的网络上快速调整然后又用来训练一个大的

实验结果图实验结果图

 

 

2.隐藏层大小:规模更大的网络表现更好,但是回报却在递减,从图4中可以看出,训练时间随着网络的增加而增加。

3.输入噪声:对输入加上高斯噪声,是神经网络的一种传统稳定器,已经在LSTM上使用了,但是却发现,这不仅降低模型的表现,并且也增加了训练时间

4.momentum:既不影响表现也不应影响训练时间

综上:学习率是最重要的超参数,占方差的三分之二以上,下一个最重要的参数是隐藏层的大小,其次是输入噪声,momentum不到方差的百分之一

通过文章中热图,得出的结论是,改变隐藏层的大小不会改变最优学习率的区域。

遗忘门和输出激活函数是LSTM块中最关键的组件,删除其中的任何一个都会严重影响性能。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值