###### tags: `clusting` # CNN - [CNN論文](https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf) - [CNN簡單介紹](https://medium.com/jameslearningnote/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC5-1%E8%AC%9B-%E5%8D%B7%E7%A9%8D%E7%A5%9E%E7%B6%93%E7%B6%B2%E7%B5%A1%E4%BB%8B%E7%B4%B9-convolutional-neural-network-4f8249d65d4f) - [卷積維基百科](https://en.wikipedia.org/wiki/Convolutional_neural_network#Loss_layer) ### ReLU Nonlinearity 線性整流函數 - 非線性函數 - 圖片的稀疏矩陣會被激活 -> 使梯度不容易消失 - 去除圖片中卷積後的負數 -> 使圖片特徵更明顯 - 尺度不會變 > 神經元的輸入x對神經元的輸出f進行建模的標準方法是f(x)= tanh(x)或f(x)=(1 + e -x)-1。用梯度下降的訓練時間而言,這些飽和非線性(傳統)要比非飽和非線性f(x)= max(0,x)慢得多。 > ReLU的深度卷積神經網絡的訓練速度比同等的tanh單元快幾倍,圖中顯示了對於特定的四層卷積網絡,在CIFAR-10數據集上達到25%訓練誤差所需的迭代次數。該圖表明,如果使用傳統的飽和神經元模型,我們將無法使用如此大型的神經網絡進行這項工作。 ![](https://i.imgur.com/Q2HKrmN.png) ### 四層卷積網絡 - 卷積層 Convolution Layer > 設定一個矩陣(Feature Detector(filter)),將輸入層與攝得的矩陣做乘法運算,然後輸出 > ![](https://i.imgur.com/1TZK4ya.png) > 矩陣**Feature Detector(filter)**用來萃取圖片中的特徵 - 池化層 Pooling layer > 設定filter規範大小,將範圍內的數值依照規定將雜訊去除,留下重要特徵 > 最大值池化:透過過濾器挑出範圍內最大的數值 > 平均值池化:透過過濾器挑出範圍內平均的數值 - 完全連接的圖層 > 將之前的結果平坦化之後接到最基本的神經網絡 > 計算歸類的權重,算出總分數,再分類圖片 ![](https://i.imgur.com/85ZGxzt.png) - 計算權重 ![](https://i.imgur.com/DATgg1v.png) ### Overlapping Pooling > 將池化層視為由間隔為s個像素的池化單元的網格組成,每個網格都匯總了以池化單元的位置為中心的大小為z×z的鄰域。如果設置s = z,我們將獲得CNN中常用的傳統本地池。如果設置s <z,則獲得**重疊池**,與傳統非重疊相比,該方案分別將top-1和top-5的錯誤率降低了0.4%和0.3%。通常會在訓練過程中觀察到,具有重疊池的模型發現過擬合稍微困難一些。 ### Dropout > “dropout”的神經元不會對正向做出貢獻,也不會參與反向傳播。因此,每次提供輸入時,神經網絡都會對不同的體系結構進行採樣,但是所有這些體系結構都會共享權重。 > 由於神經元不能依賴於特定其他神經元的存在,因此該技術減少了神經元的複雜共適應。因此,被迫學習更健壯的功能,這些功能可與其他神經元的許多不同隨機子集結合使用。 > 測試時,使用所有神經元,但將它們的輸出乘以0.5,這是採用指數上的多個dropout網絡產生的預測分佈的幾何平均值的合理近似值