首页 文章

阿尔法辍学在训练和推理时间的行为

提问于
浏览
2

我正在使用tensorflow实现self normalizing neural network . 目前,tf.nn.selutf.contrib.nn.alpha_dropout形式的tensorflow "primitives"应该是一个简单的过程 . 我的问题是tf.contrib.nn.alpha_dropout . 我期待它有一个布尔开关,当你在训练时和你在推理时,通常dropout函数与其他激活函数一起使用 . 在作者的原始implementation中,我们确实看到他们在selu dropout函数(dropout_selu)中有这个布尔开关(训练) .

有什么我想念的吗?

1 回答

  • 2

    tf.contrib.nn.alpha_dropout 应被视为 tf.nn.dropout 的类似物 . The latter function也没有训练开关的参数 . 它不应与 tf.layers.dropout 混淆, tf.layers.dropout 包含 tf.nn.dropout 并且有一个 training 参数 . 正如我们所看到的in the implementationlayers 版本返回 nn.dropout 的结果或取决于 training 开关的标识 . 以类似的方式围绕 alpha_dropout 定义自己的包装器应该相对容易 .

    为避免混淆: layers.dropout 最终调用了dropout的"keras layers"版本,这是上面链接的实现 .

相关问题