Keras:LSTM dropout和LSTM recurrent dropout的区别

Keras: the difference between LSTM dropout and LSTM recurrent dropout

来自 Keras 文档:

dropout:在 0 和 1 之间浮动。 输入的线性变换。

recurrent_dropout:在 0 和 1 之间浮动。 drop 用于循环状态的线性变换。

谁能指出下图中每个漏失发生的位置?

我建议看一下(第一部分)this paper。常规 dropout 应用于输入 and/or 输出,这意味着从 x_th_t 的垂直箭头。在你的情况下,如果你将它作为参数添加到你的图层,它将屏蔽输入;您可以在循环层之后添加一个 Dropout 层来屏蔽输出。 Recurrent dropout 掩盖(或 "drops")循环单元之间的连接;那就是你图片中的水平箭头。

这张图片来自上面的论文。在左侧,输入和输出上的常规 dropout。在右边,常规辍学加上经常性辍学:

(在这种情况下忽略箭头的颜色;在论文中,他们进一步指出在每个时间步保持相同的 dropout masks)

上面的回答重点介绍了一种循环丢失方法,但 tensorflow 和 keras 并未使用该方法。 Tensorflow Doc.

Keras/TF指的是Semeniuta et al. Also, check below the image comparing different recurrent dropout methods. The Gal and Ghahramani方法提出的递归方法,上面答案中提到的是第二个位置,Semeniuta方法是最右边的。