Tensorflow LSTM Dropout Implementation

时间:2017-02-27 14:40:07

标签: tensorflow time-series lstm dropout

  • 调用tf.nn.rnn_cell.DropoutWrapper()时,tensorflow如何具体应用 dropout

我读到的有关将辍学信息应用于本文的所有内容均由Zaremba et. al引用,该文章表示不会在经常性连接之间应用辍学。应在LSTM层之前或之后随机丢弃神经元,而不是LSTM间层。确定。

  • 我的问题是神经元是如何关闭时间的?

在每个人都引用的论文中,似乎是一个随机的辍学面具'在每个时间步长应用,而不是生成一个随机的退出掩码'并重复使用它,将它应用于被丢弃的给定层中的所有时间步长。然后生成一个新的辍学面具'在下一批。

此外,可能更重要的是,tensorflow是如何做到的?我已经检查了tensorflow api并试图寻找详细的解释,但还没找到。

  • 有没有办法深入研究实际的tensorflow源代码?

1 个答案:

答案 0 :(得分:2)

您可以查看实施here.

它使用输入到RNNCell的dropout op,然后在输出上使用您指定的保持概率。

似乎您输入的每个序列都会获得一个新的输入掩码,然后输出。序列内部没有变化。