寫在前面
原文:https://arxiv.org/pdf/1409.1556
參考:https://www.cnblogs.com/lijiuliang/p/15133276.html
關鍵字:卷積網路、卷積網路深度、影像識別
閱讀理由:卷積神經網路深度與演算法優良效能之間的關係是什麼,如何評估的,結果如何,有哪些思考
前置知識:CNN(也是我寫滴嘻嘻(#..#))、filter
速覽
研究了什麼
卷積網路深度在大規模的影像識別環境下對準確性的影響
怎麼研究的
使用非常小的(3x3)filters對網路深度的增加進行全面評估
研究結果
透過將深度推到16-19加權層可以實現對現有技術配置的顯著改進
文章結構
(本文的邏輯十分之清晰,非常值得學習)
一.網路配置
1.輸入
圖片規格:3個通道,224x224
預處理操作:計算出3個通道的平均值,在每個畫素上減去平均值(處理後迭代更少);
2.關於卷積層
大部分網路架構使用非常小的3x3卷積核貫穿整個網路;
少數網路架構還使用了1x1卷積核;
卷積層步長(stride)=1,3x3卷積核的填充(padding)=1;
所有隱藏卷積層都配備了ReLU非線性啟用。
3.關於池化層
整個網路架構的池化總共由5個“最大池化層”實現;
池化視窗為2x2,步長=2。
4.關於全連線層
所有卷積操作之後跟有3個全連線層:
前2個:均為4096通道;
最後1個:1000個通道;
5.全連線層之後是SoftMax分類器。
6.另:LRN
在深度學習中,區域性響應歸一化(Local Response Normalization,簡稱LRN)是一種用於神經網路層的技術。它的主要作用是對輸入資料進行歸一化處理,以減少內部協方差偏移的影響。
在神經網路中,每個神經元都接收到來自前一層的所有神經元的輸出,並將其作為輸入。這些輸入被加權求和後透過啟用函式產生輸出。然而,在訓練過程中,由於權重初始化的不同、梯度下降演算法的隨機性等原因,不同神經元的輸出可能會出現內部協方差偏移的現象,即某些神經元的輸出過大或過小,導致整個網路的效能下降。
為了解決這個問題,LRN技術引入了一種新的歸一化方法,透過對每個神經元的輸入進行區域性歸一化來減少內部協方差偏移的影響,提高了模型的泛化能力
需要注意的是,LRN技術並不是所有情況下都能提高模型的效能。比如本文,使用LRN不僅沒有提高效能,反而增加了記憶體消耗和計算時間
二.分類框架
(描述了分類卷積神經網路訓練和評估的細節)
先留坑,等我再學習一下更多的原理再補上
三.分類實驗
四.實驗結論
我的總結
-
本文提到的卷積神經網路的最佳化方法有三
一種方法是在第一層卷積中使用更小的感受野視窗和步幅。
另一個改進方向是密集地訓練和測試網路,使其在整個影像上以及多個尺度下進行處理。這種方法可以提高模型的魯棒性和泛化能力。
第三種是卷積神經網路的深度問題。透過固定其他引數,增加更多的卷積層來增加網路的深度。這得益於非常小的(3x3)卷積濾波器在所有層中的應用。這種設計使得更深的網路可以在不犧牲精度的情況下保持較小的計算複雜度。 -
3X3卷積核的優勢
-
減少網路引數
引數量=(filter size * 前一層特徵圖的通道數 )* 當前層filter數量
對於兩個3x3卷積核,所用的引數總量為2×32×channels(假設保證輸入輸出通道數不變);
對於單個5x5卷積核,引數量為52×channels -
增加更多的非線性變換
2個3x3卷積層擁有比1個5x5卷積層更多的非線性變換(前者可以使用兩次ReLU啟用函式,而後者只有一次),使得卷積神經網路對特徵的學習能力更強。
-
但是卷積神經網路的深度越深越好嗎?
當然不是,具體可見resnet -
是否可以將這些最佳化方法分為大類,每一類的最佳化方法還有哪些?這些最佳化方法是通用最佳化方法還是在某些情況下的?他們是不是和網路深度一樣在某些情況下有發揮不好的地方?針對這個問題又有什麼解決思路和方法呢?