为什么是卷积、池化的交替进行?
卷积做的是特征提取,池化做的是一种降采样。
早期学习的主要是:低级特征(边缘、角点、纹理、颜色)。这些特征分布相对局部且空间位置信息很重要。
卷积将这些特征学习出来,然后通过池化降采样,突出其位置信息。然后再卷积进行学习池化后的特征。
如果连续卷积不池化会怎样?
第一、不断地学习局部特征,不池化就无法学习到全局的信息。
第二、不断卷积,计算量会很大,时间和内存消耗会很高
以卷积替代池化效果如何?
可行,且比较常见,在深层网络运用较多
具体操作:nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=2, padding=1) 替代一个2x2 MaxPooling。
- 优点:
卷积核有参数可学习
卷积可以保持特征维度(增加通道数),而池化不改变通道数 - 缺点:
最大池化具有一定的“平移不变性”,而卷积比较敏感,卷积对于定位是优势,对泛化是劣势
卷积增加了参数和计算量
最大池化会强化边缘特征,卷积比较弱
综合,总体来说效果持平或更优,建议早期层保留最大池化
为什么不分别做卷积池化,和池化卷积,通过结合做相互补充?
可行,后续一些网络有这种思想的体现。
池化和缩放的底层逻辑有何不同,能否替代池化?
缩放,不具备特征提取的能力,他平等的对待所有信息包括噪音。缩放后的特征图在空间上更敏感。
CNN的卷积层学习依赖于特征图的空间结构和局部相关性。粗暴缩放会扭曲这种结构,会导致信息模糊和细节丢失,影响后续层的学习。
在卷积池化中插入全连接层,会不会效果更好?
错误,效果会非常差。
第一,卷积层输出的特征图是具有明确空间维度,全连接层的操作完全