我读到了 Keras 的 dropout 实现,它似乎使用了它的反向 dropout 版本,即使它说的是 dropout。
以下是我阅读 Keras 和 Tensorflow 文档时的理解:
当我指定Dropout(0.4)
0.4 意味着该层中的每个节点都有 40% 的机会被丢弃,这意味着 0.4 是丢弃概率。因此,通过反向 dropout 的概念,剩余神经元的输出被缩放 1/0.6 倍,因为保持概率为 0.6。
(请指出我的解释是否不正确。我的全部疑问都是基于这种解释。)
另一方面,在 TensorFlow 中,它只是直接询问保持概率,这意味着如果我将值指定为 0.4,则每个节点都有 60% 的机会被丢弃。
那么当我在 Keras 的后端使用 TensorFlow 时会发生什么?保持或丢弃概率需要 0.4 吗?
(使用 Python 3.6 和所有必需库的最新版本)