在CNN中选择过滤器大小,步幅等?


12

我一直在看斯坦福大学的CS231N讲座,我正在努力解决CNN架构中的一些问题。我要了解的是,是否存在一些用于选择卷积滤波器大小和步幅之类的通用准则,或者这是一门艺术而非一门科学?

据我了解,合并的存在主要是为了将某种形式的翻译不变性引入模型中。另一方面,我对如何选择步幅没有很好的直觉。除了试图压缩当前的层大小或试图为神经元获得更大的接受野外,还有其他指导方针吗?任何人都知道讨论此问题的好论文或类似文章吗?

Answers:


9

作为您提出的所有问题的介绍性文本,我将推荐深度学习书。它提供了该领域的广泛概述。它解释了这些参数各自发挥的作用。

我认为阅读一些最流行的体系结构(resnet,inception,alex-net)并提取导致设计决策的关键思想非常有帮助。看完上述书后。

在您参考的课程提纲中,将对卷积层如何添加大量参数(权重,偏差)和神经元进行详细说明。一旦经过训练,该层就可以从图像中提取含义模式。对于较低的层,这些滤镜看起来像边缘提取器。对于较高的层,将这些原始形状组合起来以描述更复杂的形式。这些过滤器涉及大量参数,这是深度网络设计中的一个大问题,即如何能够描述复杂的形式并且仍然能够减少参数的数量。

由于相邻像素之间具有很强的相关性(特别是在最低层),因此通过对滤波器响应进行二次采样(合并)来减小输出大小是有意义的。两个像素彼此之间的距离越远,相关性越小。因此,汇聚层中的大步前进会导致较高的信息丢失。松散地说。池化步长为2,内核大小为2x2是常见选择。

一种更复杂的方法是Inception网络(通过卷积进行更深入的研究),其思想是通过交换卷积层中的参数数量与用于更深层网络的Inception 模块的交易来增加稀疏性,但仍然能够实现更高的准确性。

SqueezeNet一篇不错的论文,它以结构化,系统的方式提供了有关当前体系结构和某些设计维度的作用的提示:SqueezeNet:AlexNet级别的精度,参数减少了50倍,模型尺寸小于0.5MB。它建立在前面提到的模型中引入的思想的基础上。


1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.