通常,我们将在卷积层之间插入最大池化层。主要思想是“概括” conv中的功能。层。但是很难决定何时插入。我对此有一些疑问:
如何决定多少次转化 直到我们插入最大池。转化次数过多/转化次数少有什么影响 层数
因为最大池化将减小尺寸。因此,如果要使用非常深的网络,则不能进行很多maxpooling,否则大小将太小。例如,MNIST仅具有28x28的输入,但是我确实看到有些人使用非常深的网络对其进行实验,因此最终它们的尺寸可能非常小?实际上,当尺寸太小(极端情况下为1x1)时,它就像是一个完全连接的层,似乎对它们进行卷积没有任何意义。
我知道没有黄金角色,但我只想了解其背后的基本直觉,以便在实施网络时可以做出合理的选择。
没错,没有最好的方法,就像通常没有最佳的过滤器大小或最佳的神经网络体系结构一样。
VGG-16在池化层之间使用2-3个卷积层(下图),VGG-19最多使用4个层,...
..和GoogleNet在maxpooling层之间(有时与之并行)应用了令人难以置信的卷积(图像打击)
Each new layer, obviously, increases the network flexibility, so that it can approximate the more complex target functions. On the other hand, it requires more computation for training, however it's common to save computation using the 1x1 convolution trick. How much flexibility does your network need? Greatly depends on the data, but usually 2-3 layers is flexible enough for most applications, and additional layers don't affect the performance. There's no better strategy than to cross-validate models of various depth. (The pictures are from this blog-post)
这是一个已知的问题,在此我想提及一种解决过度采样的特殊技术:分数池化。想法是对层中的不同神经元应用不同大小的感受野,以任何比例缩小图像:90%,75%,66%等。
这是使深层网络特别是对于小图像(如MNIST数字)的更深网络的一种方法,该网络显示出非常好的准确性(0.32%的测试误差)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句