【问题标题】:How can I use dropout in Conv Layer to drop activation maps in tensorflow?如何在 Conv Layer 中使用 dropout 在 tensorflow 中删除激活图?
【发布时间】:2019-08-10 02:23:30
【问题描述】:

我正在尝试在卷积层中添加 dropout(尽管人们似乎不经常这样做)。

根据 cs231n,他们建议在所有激活图中删除激活图而不是单元(我认为这在某种程度上是有道理的,因为每个激活图都在不同位置提取相同的特征)。

在tensorflow中,我找不到任何API可以直接做到这一点,那我该怎么做呢? 这是我第一次在 StackOverflow 中提出问题,我将感谢您的建议和答案。

【问题讨论】:

    标签: tensorflow conv-neural-network dropout


    【解决方案1】:

    您实际上可以通过 noise_shape 参数使用可用的 dropout 函数来做到这一点。例如。使用layers API:

    x = tf.layers.dropout(x, noise_shape=[batch_size, 1, 1, features])
    

    这将用于 2D 卷积和 channels_last 格式。我们只为图像宽度/高度生成单个噪声值,该噪声值将在图像尺寸上传播。但是,我们仍然为每个特征/激活图生成不同的噪声值。

    【讨论】:

    • 谢谢!这很有帮助!
    • 太棒了!如果这解决了您的问题,请考虑投票并接受答案,以便其他人更容易看到。
    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2020-06-13
    • 1970-01-01
    • 2020-12-15
    相关资源
    最近更新 更多