我正在研究Tensorflow的语言模型教程。我的问题是:
在this line中,他们使用包装器将丢包应用于RNN
lstm_cell = tf.nn.rnn_cell.BasicLSTMCell(size, forget_bias=0.0)
if is_training and config.keep_prob < 1:
lstm_cell = tf.nn.rnn_cell.DropoutWrapper(
lstm_cell, output_keep_prob=config.keep_prob)
为什么他们必须再次将退出应用于this line中的输入?
if is_training and config.keep_prob < 1:
inputs = tf.nn.dropout(inputs, config.keep_prob)
谢谢!
编辑:好的我在写这个问题的时候并没有完全理解这篇论文。基本上赞比拉建议在任何地方应用辍学,除了从隐藏到隐藏。但是,图层的输出是下一层的输入,因此我们将dropout应用于每个图层的输出,然后应用到第一层的输入。