深度学习的可解释性——Striving For Simplicity: The All Convolution Net
Striving For Simplicity: The All Convolution Net 是ICLR 2015的一篇論文,作者Jost Tobias Springenberg , Alexey Dosovitskiy , Thomas Brox, Martin Riedmiller
這個方法來自于ICLR-2015 的文章《Striving for Simplicity: The All Convolutional Net》,文中提出了使用stride convolution 替代pooling 操作,這樣整個結(jié)構(gòu)都只有卷積操作。作者為了研究這種結(jié)構(gòu)的有效性,提出了guided-backpropagation的方法。
本文拋棄了以往物體檢測CNN網(wǎng)絡(luò)中的池化層和全連接層,通過使用步長更大的卷積層來代替池化以及使用卷積核為1的卷積層來代替全連接層,在cifar-10和cifar-100上取得了很好的效果,并在imageNet上有很好的競爭力。
用于目標(biāo)識別的大多數(shù)現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)(CNN)使用相同的原理構(gòu)建:交替卷積和最大池化層,接著是少量完全連接的層。我們使用卷積網(wǎng)絡(luò)從小圖像重新評估對象識別的現(xiàn)有技術(shù),質(zhì)疑管道中不同組件的必要性。我們發(fā)現(xiàn),在一些圖像識別基準(zhǔn)測試中,最大池化可以簡單地由具有增加的步幅的卷積層代替,而不會損失精度。根據(jù)這一發(fā)現(xiàn) - 并在最近的尋找簡單的網(wǎng)絡(luò)結(jié)構(gòu)其他工作基礎(chǔ)上 - 我們提出了一種新的架構(gòu),它只包含卷積層,并在幾個物體識別數(shù)據(jù)集(CIFAR-10,CIFAR-100, ImageNet)。為了分析網(wǎng)絡(luò),我們引入了一種新的“反卷積方法”變體,用于可視化CNN學(xué)習(xí)的特征,可以應(yīng)用于比現(xiàn)有方法更廣泛的網(wǎng)絡(luò)結(jié)構(gòu)。
 對于池化層作用的完整解釋很難給出,作者假定池化層通過以上三個方面來對CNN的性能產(chǎn)生幫助:
 1.p-norm使CNN的表示更具不變性(invariant)
 2.降維使高層能夠覆蓋輸入層的更多部分
 3.feature-wise的特性(相對于特征混合的卷積層)更容易優(yōu)化
首先來看看 pooling, why pooling can help in CNNs:通過池化實現(xiàn)的空間維數(shù)降低使得在更高的層中覆蓋更大的輸入部分成為可能
 那么我們可以有2中方法得到去除pooling但保留spatial dimensionality reduction
 1)我們可以移除每個池化層,并相應(yīng)地增加之前的卷積層的步長。
 2)我們可以用步長大于1的普通卷積替換池層。對于一個k=3,r=2的池化層,我們可以用一個對應(yīng)的stride和kernel的卷積層取代,輸入個數(shù)輸出個數(shù)一樣。)
 第一個方法有一個缺陷
 1)我們顯著減少了池化層之前的卷積層的重疊。它相當(dāng)于一個池操作,其中只考慮左上角的特征響應(yīng),可能導(dǎo)致較不準(zhǔn)確的識別。
 第二個方法則沒有這個問題
 對于全連接層:
 如果最上面卷積層的單元所覆蓋的圖像區(qū)域覆蓋了足以識別其內(nèi)容(即我們要識別的對象)的一部分圖像,那么完全連接的層也可以用簡單的1×1卷積替換。
前面已經(jīng)提到了論文網(wǎng)絡(luò)模型相較于以往CNN的不同之處,在這里進(jìn)行說明:
 1.使用stride大于1的卷積層代替以往CNN中的池化層(下采樣層)
 2.使用filter大小為1*1的卷積層代替全連接層
 整個網(wǎng)絡(luò)模型完全只有卷積層,在softmax層之前使用全局平均。
總結(jié)
以上是生活随笔為你收集整理的深度学习的可解释性——Striving For Simplicity: The All Convolution Net的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: IOS开发广告接入iAD框架_InMob
 - 下一篇: JS每日笔记