深层CNN的调参经验 | A practical theory for designing very deep convolutional neural networks

A practical theory for designing very deep convolutional neural networks

两个前提假设:

  • 1.对于每一个卷积层,其学习更复杂表示的能力应该被保证
  • 2.最高层的感受野应该不大于图像范围

Why deep?

更深:只增加了线性复杂度,但是模型的学习效果却提升了很多

模型结构

Alt text

1.feature level:怎样加入更深的网络

本质上为带限制的优化问题

两个限制:
  • 1.每一层的c-value不应该过小(c-value表示的是学习复杂pattern的能力)
  • 2.最高层的感受野应该不大于图像范围

2.classifier level

common做法:
两层全连接加上每层dropout

效果更好:
将input feature map降采样至small size(5*5至 8*8),然后使用两层5*5的卷积层,最后max pooling加上dropout

3.第一个限制:capacity of learning

3.1 卷积层的作用:

composing more complex patterns from input patterns

Alt text
(a)中生成pattern AB
(b)中卷积层不能很好的学习到pattern AB和他们的关系
解决:
+ 1.使用更大的卷积层
+ 2.通过stride=2降采样来降低响应距离

3.2 没有降采样的CNN,当层数变深时学习效率变低的原因:

随着层数加深,pattern size其实在逐渐增大,有意义的空间关系也在增大,当大部分input patterns的空间关系大于卷积层的filter size,卷积层就无法学到新的复杂patterns

3.3 Measure

Alt text

3.第二个限制:necessity of learning

增加的layers是为了学习新的patterns,当感受野到达input的边界时,无法学习到新的patterns,同时层数的加深会引起过拟合,导致效果变差。

猜你喜欢

转载自blog.csdn.net/qq_41058526/article/details/81810484
今日推荐