正如标题所问,在我对CNN架构的理解中,我们对某些卷积层返回的特征图进行池化操作。通过计算前一特征图窗口中的最大值获得新的响应图后,我们是否会损失检测所讨论的过滤器/特征的精度?
因为我们已经丢弃了大量数据。
我可以理解卷积层的部分,我们使用点积计算特征图…
但我只是好奇池化操作是否会损失精度?除了使神经网络更高效之外,池化操作还有其他目的吗?
谢谢。
回答:
池化有一些好处。正如你所指出的,池化后特征的数量会减少。这不仅从计算角度有用,也是防止过拟合的一种手段。减少特征空间可以保持有利的样本与特征比例。池化的另一个好处是它增加了特征的接受域。这意味着池化后的特征会查看前一层更大的区域。这对于处理小的图像变换可能很有用。
例如(这有点牵强附会,并不完全是实际工作方式),假设你在第二层上有激活鼻子、脸和眼睛的卷积,在第三层你有一个激活这些特征模式以找到脸的卷积。不同的人有不同的眼睛间距、眼睛到嘴的位置等。假设你在第二层上对某个窗口进行最大池化,你可以对这些变化保持鲁棒性,第三层的过滤器将能够激活。