池化是一种辍学吗?

人工智能 卷积神经网络 训练 辍学 概括 汇集
2021-11-15 15:30:13

如果我很好地理解了 dropout,它可以通过将一些权重设置为零来提高从一层到另一层的信息的稀疏性。

另一方面,池化,比方说最大池化,取邻域中的最大值,将除此最大值之外的值的影响也减少到零。

不考虑池化层的形状变换,我们可以说池化是一种 dropout 步骤吗?

在池化层之后添加 dropout(或 DropConnect)层在 CNN 中有意义吗?它是否有助于训练过程和泛化属性?

2个回答

出于不同的原因执行 Dropout 和 Max-pooling。

Dropout 是一种正则化技术,它只影响训练过程(在评估期间,它是不活跃的)。dropout 的目标是减少网络中不必要的特征依赖,使其更简单并提高其泛化能力(减少过度拟合)。简单来说,它有助于模型了解某些特征是“或”而不是“与”要求。

Max-pooling 不是一种正则化技术,它是模型架构的一部分,因此在评估期间也使用它。最大池化的目标是对输入表示进行下采样。结果,模型对某些翻译变得不那么敏感(提高翻译不变性)。

至于你的最后一个问题,是的。dropout 可以在池化层之后使用。

我认为我们会以这种方式更好地考虑正则化和下采样:

  1. 辍学

它将下一层的一些输入值(神经元)设置为 0,这使得当前层成为稀疏层。所以它减少了这一层中每个特征的依赖。

  1. 池化层

下采样直接删除了一些输入,这使得层“更小”而不是“稀疏”。差异可能很微妙,但足够清晰。

这就是为什么前者也影响评估/测试过程而后者不影响的根本原因。