googlenet 論文

0、

inception結構

利用網絡中的計算資源,增加網絡的寬度和深度,但保持計算量不變。

 

1、

本文中,首先創新點在於算法和網絡結構;

其次注意了移動端和嵌入式的場景,考慮內存和功耗,所以提出的結構並不是固定的,參數少,計算量少。

因此提出了高效的深度神經網絡結構,稱爲inception,靈感來源於Network in Network。

在該案例中,網絡的深度主要體現在兩個方面:第一是Inception module;第二是網絡的深度。

 

2、相關的工作

從Lenet開始,出現通過堆積的卷積網絡結構,總體趨向於增加層的數量並使用dropout解決過擬合問題。

考慮到最大池化會降低精度,我們使用相同的卷積結構代替max pooling(alexnet)

【15】使用了一系列不同尺寸的高波濾波器,類似的googlenet使用Inception,不斷的重複,組成22層的深度網絡

network in network增加1x1的卷積層,從而增加深度。在googlenet中,1x1的卷積有兩個作用,第一是減少維度,第二是增加網絡的寬度和深度。

 

3、動機和高層的考慮

提高神經網絡性能最直觀的方法就是增加網絡的深度和寬度,但是存在兩個缺點,第一個缺點是容易過擬合,特別是數據較少的情況下;第二個缺點是計算量的增加。

基本的解決方法是:引入稀疏連接,代替全連接甚至是卷積。具體原因兩個:第一是生物神經系統的連接是稀疏的,第二是【2】中提到,對於規模稀疏的神經網絡,可以通過分析激活值統計特性和對高度相關的輸出進行聚類。

 

4、結構細節

這是個Inception的細節視頻:

http://ziyubiti.github.io/imgs/googlenet/Inception%20Module.mp4

clipboard_thumb[10]

b中採用1x1卷積減少維度,從而減少3x3卷積或者5x5卷積的計算量。設置1x1,3x3,5x5卷積也是爲方便對齊,當卷積步長爲1時,設置pad爲0,1,2,卷積之後便能得到相同尺寸的feature map。

clipboard_thumb[12]

clipboard_thumb[22]

 

5、使用reLU,輸入224x224 0均值 RBG圖像。

值得注意的是在中間層加上分類器,這是因爲網絡中間位置的特徵有很大的區別,不同的深處增加loss防止梯度消失。

 

6、訓練地策略

在分佈式機器學習系統上進行訓練,利用[17]異步隨機梯度下降,0.9動量,學習率每八個週期下降4%。最後用Polyak averaging [13]來創建最後用來測試的模型。

採樣變化很大。[8]的光度扭曲有助於對付過擬合。還進行了隨機插入。

問題:

異步梯度下降

inception結構是如何實現聚集稀疏表示,實現運算?

發佈了90 篇原創文章 · 獲贊 31 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章