我读到了关于Keras实现的辍学,它似乎在使用它的反辍学版本,即使它说失落。与TensorFlow后端使用Keras时的辍学
这是我读Keras和Tensorflow文件我已经明白:
当我指定Dropout(0.4)
0.4意味着,在该层每个节点都有被丢弃其中有40%的几率意味着0.4是丢弃概率。因此,通过反向丢失的概念,由于保持概率为0.6,所以其余神经元的输出被缩放1/0.6的因子。
(请指出,如果我的解释是不正确。我的整个怀疑是基于这种解释。)
在另一方面在TensorFlow它只是询问我是否指定0.4的值保持概率直接意义每个节点有60%的机会被丢弃。
那么当我在Keras的后端使用TensorFlow时会发生什么?保持或下降概率是否需要0.4?
(使用Python 3.6与最新版本的所有所需的库)在Keras层
我清楚地明白,正如你在问题中看到的,我已经指定了与你指定的完全相同的东西。但这不是我所要求的。 TensorFlow实现了反向丢失,但要求保持概率,所以如果我说在张量流中丢失(0.4),它将有60%的丢弃概率。我的问题:如果我在Keras的后端使用TensorFlow并指定退出(0.4)那么该节点是否有40%的几率被丢弃或40%的机会被保留? –
感谢您的评论。我想我正确地理解了你。我认为Keras是一种API,可以抽象出很多后端,以便提供统一的界面,而不管你的后端。所以在几乎所有方面你都不会注意到Keras模型在你使用的后端方面有什么不同。但无论如何:一个简单的方法来检查你自己将设置退出非常高,说.99甚至1.0。你会看到这个数量的神经元被丢弃(不保留)。 – petezurich