最近我怀疑在神经网络中汇集层的真正目的是什么?最常见的答案是
- 选择最重要的特征
- 增加网络的感受野
我觉得这些并不是使用池化层的真正原因,因为
没有必要选择重要的特征,因为最后的全连接层可以用来识别最重要的特征
可以通过增加连续层中的内核大小来增加感受野。
因此,使用池化的唯一真正原因是减少特征表示的大小,从而随着网络的深入而导致更小的内存和计算足迹。
你同意这个比喻吗?你觉得还有其他原因吗?
最近我怀疑在神经网络中汇集层的真正目的是什么?最常见的答案是
我觉得这些并不是使用池化层的真正原因,因为
没有必要选择重要的特征,因为最后的全连接层可以用来识别最重要的特征
可以通过增加连续层中的内核大小来增加感受野。
因此,使用池化的唯一真正原因是减少特征表示的大小,从而随着网络的深入而导致更小的内存和计算足迹。
你同意这个比喻吗?你觉得还有其他原因吗?
因此,使用池化的唯一真正原因是减少特征表示的大小,从而随着网络的深入而导致更小的内存和计算足迹。是的,成本效益,而且:
泛化:当我们将几个值组合成一个有代表性的值时,我们会去掉不重要的小细节。因此,您真正得到的是减少过度拟合的机会
您的原始直觉和其他答案都包含重要且有效的观点:
但是,正如您所指出的,可以通过其他方式实现相同的效果。
其他答案遗漏的差异点是关键方面:池化具有这些好处,同时具有零可训练参数和快速计算。
常见的答案和您的类比都是错误的。在卷积和 ReLu 层之后添加池化层。这些层获取图像的特征图,其中重要特征在哪里。这些特征的问题是在特征图中获取特征的这个特定位置。图像的微小变化将反映特征图的总体变化。为了解决这个问题,您可以对池化层完成的特征图进行下采样。尝试阅读池化及其类型,例如最大池化和平均池化。它通过下采样来降低特征图中的特征重要性。
我认为这些常见的答案是非常正确但抽象的。在我看来,池化“选择最重要的特征”或通过丢弃附近的信息来“增加感受野”,例如 Maxpooling。这可能是有道理的,因为在某些情况下,比如图像分类,我们只需要一些重要的特征来分类,因此我们可以删除冗余的局部特征。或者通过AveragePooling,我们可以使特征图对局部变化更加稳定。
最后一个 FC 层确实选择了最重要的特征来使用,但是,如果每一层的输出对最终任务更有用,你可以获得更准确的结果,我们希望前一个网络学习可靠的特征,FC 层只是映射它们.
至于您的第二个想法,可以通过增加内核大小来增加感受野。但是如果你使用更大的内核大小,你会失去局部特征。这就是为什么提出拨号卷积的原因,它可以增加感受野而不会像池化一样丢失信息。
顺便说一句,正如 Hinton 所说,许多研究人员不使用池化,或者只是在近年来网络结束时使用它们:
卷积神经网络中使用的池化操作是一个很大的错误,它运行良好的事实是一场灾难。