【问题标题】:Does the convolutional layer in TensorFlow support dropout?TensorFlow 中的卷积层是否支持 dropout?
【发布时间】:2016-12-23 08:43:39
【问题描述】:

我想知道是否可以简单地将 dropout 应用于 TensorFlow 中的卷积。它将如何应用?卷积掩码在输入上“滑动”时的权重是否随机设置为零?

【问题讨论】:

  • dropout 应用于卷积的输出,与过滤器权重没有交互作用

标签: tensorflow


【解决方案1】:

您可以对任意输入张量应用 dropout。这个输入是如何计算的并不重要。输入的每个元素都将被简单地保留(并缩放,见下文)或设置为零。

来自https://www.tensorflow.org/api_docs/python/tf/nn/dropout

概率为keep_prob,输出放大了1 / keep_prob的输入元素,否则输出0。缩放是为了使预期总和保持不变。

默认情况下,每个元素都是独立保留或删除的。

例如:

conv = tf.nn.conv2d(...)
drop = tf.nn.dropout(conv, keep_prob=0.5)

【讨论】:

  • 虽然有些结构实现了 DropoutWrapper 并用它做不同的事情。而且似乎有多种方法可以在卷积层中进行 dropout(标准 dropout 和 MC dropout):arxiv.org/abs/1506.02158
  • 你指的是 RNN 的 DropoutWrapper (tensorflow.org/versions/r0.10/api_docs/python/…) 吗?根据它的文档,它也只是“输入和/或输出 dropout。从不在状态上使用 Dropout。” TensorFlow 中似乎还没有实现其他的 dropout 方法。
猜你喜欢
  • 2017-07-30
  • 2019-08-09
  • 2018-05-14
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多