如何使用Conv层中的dropout在tensorflow中删除激活贴图?

如何使用Conv层中的dropout在tensorflow中删除激活贴图?,tensorflow,conv-neural-network,dropout,Tensorflow,Conv Neural Network,Dropout,我试图在卷积层中添加辍学(尽管人们似乎不经常这样做) 根据CS23 1N,他们建议在所有激活图中删除激活图而不是单位(我认为这是有意义的,因为每个激活图都在不同位置提取相同的特征)。 在tensorflow中,我找不到任何API可以直接做到这一点,那么我该如何做到这一点呢? 这是我第一次在StackOverflow中提问,我将感谢您的建议和回答 您实际上可以通过noise\u shape参数使用可用的退出函数来实现这一点。例如,使用层API: x = tf.layers.dropout(x, n

我试图在卷积层中添加辍学(尽管人们似乎不经常这样做)

根据CS23 1N,他们建议在所有激活图中删除激活图而不是单位(我认为这是有意义的,因为每个激活图都在不同位置提取相同的特征)。 在tensorflow中,我找不到任何API可以直接做到这一点,那么我该如何做到这一点呢?


这是我第一次在StackOverflow中提问,我将感谢您的建议和回答

您实际上可以通过
noise\u shape
参数使用可用的退出函数来实现这一点。例如,使用
API:

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

这将适用于2D卷积和
通道\u last
格式。我们只为图像宽度/高度生成一个噪声值,该值将在图像维度上广播。但是,我们仍然会为每个功能/激活映射生成不同的噪波值。

您可以通过
noise\u shape
参数使用可用的退出函数来实现这一点。例如,使用
API:

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

这将适用于2D卷积和
通道\u last
格式。我们只为图像宽度/高度生成一个噪声值,该值将在图像维度上广播。但是,我们仍然为每个功能/激活贴图生成不同的噪波值。

谢谢!这很有帮助!伟大的如果这解决了你的问题,考虑一下投票和接受答案,这样别人就可以更容易地看到它了。谢谢!这很有帮助!伟大的如果这解决了你的问题,考虑一下投票和接受答案,这样其他人就可以更容易地看到它。