8

我意识到这篇文章提出了与此类似的问题

但我只是想要一些澄清,最好是指向某种说明差异的 Keras 文档的链接。

在我看来,dropout在神经元之间起作用。并recurrent_dropout在时间步长之间工作每个神经元。但是,我对此毫无根据。

Keras 网站上的文档根本没有帮助。

4

1 回答 1

4

Keras LSTM文档包含高级解释:

dropout:在 0 和 1 之间浮动。为输入的线性变换而丢弃的单位的分数。

循环丢弃:在 0 和 1 之间浮动。为循环状态的线性变换而丢弃的单位的分数。

但这完全符合您所指的答案:

常规 dropout 应用于输入和/或输出,表示从x_t和 到的垂直箭头h_t。...

循环丢失掩盖(或“丢弃”)循环单元之间的连接;那将是您图片中的水平箭头。

如果您对公式级别的详细信息感兴趣,最好的方法是检查源代码:keras/layers/recurrent.py,查找rec_dp_mask(recurrent dropout mask) 和dp_mask. 一个是影响h_tm1(前一个存储单元),另一个是影响inputs.

于 2018-04-20T11:46:21.150 回答