深層CNN的調參經驗 | A practical theory for designing very deep convolutional neural networks
阿新 • • 發佈:2018-11-10
A practical theory for designing very deep convolutional neural networks
兩個前提假設:
- 1.對於每一個卷積層,其學習更復雜表示的能力應該被保證
- 2.最高層的感受野應該不大於影象範圍
Why deep?
更深:只增加了線性複雜度
,但是模型的學習效果卻提升了很多
模型結構
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
(a)中生成pattern AB
(b)中卷積層不能很好的學習到pattern AB和他們的關係
解決:
+ 1.使用更大的卷積層
+ 2.通過stride=2降取樣來降低響應距離
3.2 沒有降取樣的CNN,當層數變深時學習效率變低的原因:
隨著層數加深,pattern size其實在逐漸增大,有意義的空間關係也在增大,當大部分input patterns的空間關係大於卷積層的filter size,卷積層就無法學到新的複雜patterns
3.3 Measure
3.第二個限制:necessity of learning
增加的layers是為了學習新的patterns,當感受野到達input的邊界時,無法學習到新的patterns,同時層數的加深會引起過擬合,導致效果變差。