@songying
2018-07-19T21:59:58.000000Z
字数 1414
阅读 1481
论文笔记
这篇文章是TensorFlow官方实现RNN的文章。
代码地址:https://github.com/tensorflow/models/blob/master/tutorials/rnn/ptb/ptb_word_lm.py
本文尝试将dropout用于LSTM中。实验表明的确减轻了各种task中的overfitting。这些task包括: language model, speech recognition, image caption generation 和 machine translation
RNN在许多tasks包括 language model, speech recognition, machine translation都取得了state-of-art的效果。
在实际使用中, large RNNs 会导致overfit。在本文中,我们在LSTMs中使用 dropout正则化,用于减少overfitting,并将其用于三种不同的问题中。
在本文中,我们考虑了以下工作:language modeling, speech recognition, machine translation
普通RNN:
LSTM
存储long term memory.
本文中使用lstm: 论文:
- i: 输入门的门值,表示当前时刻 层有多少保存到单元状态
- f: 遗忘门门值, 表示上一时刻的 有多少保留到当前时刻
- o: 输出门门值, 表示 有多少输入当当前输出值
- g: 表示当前输入状态,你可以把它想象成不包含上一时刻的长期状态 c_{t-1} 时,我们生成的当前此刻的长期状态\tilde{c_t}
这是本文的核心,将dropout正则化成功应用到lstm中,并减少了overfitting。
主要思想是: apply the dropout operator only to the non-recurrent connections.(见图2)
下面的图和公式很好的miao述了正则化过程, 其中D表示的就是Dropout操作。
shows how information could flow from an event that occurred at timestep t − 2 to the prediction in timestep t + 2 in our implementation of dropout.
我们在三个领域进行了测试: language modeling, speech recognition, machine translation。