亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是Inception以及GoogleNet結構

發布時間:2021-11-23 18:11:28 來源:億速云 閱讀:251 作者:柒染 欄目:大數據

什么是Inception以及GoogleNet結構,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

googleNet是2014年的ILSVRC的冠軍模型,GoogleNet做了更大膽的網絡上的嘗試,而不是像vgg繼承了lenet以及alexnet的一切框架。GoogleNet雖然有22層,但是參數量只有AlexNet的1/12。

GoogleNet論文指出獲得高質量模型最保險的做法就是增加模型的深度,或者是它的寬度,但是一般情況下,更深和更寬的網絡會出現以下問題:

  1. 參數太多,容易過擬合,如果訓練數據有限,則這一問題更加突出;
  2. 網絡越大計算復雜度越大,難以應用;
  3. 網絡越深,容易出現梯度消失問題

總之更大的網絡容易產生過擬合,并且增加了計算量

【GoogleNet給出的解決方案】

  1. 將全連接層甚至一般的卷積都轉化為稀疏連接

GoogleNet為了保持神經網絡結構的稀疏性,又能充分利用密集矩陣的高計算性能,提出了名為Inception的模塊化結構來實現此目的。依據就是大量文獻都表明,將稀疏矩陣聚類為比較密集的子矩陣可以提高計算性能。(這一塊我沒有很明白,是百度到的知識,但是關鍵在于GoogleNet提出了Inception這個模塊化結構,在2020年的今日,這個模塊依然有巨大作用)

 

1 Inception

這是一種王中王結構,哦不,是網中網結構(Network in Network)。就是原來的節點也是一個網絡,使用了Inception,這個網絡結構的寬度和深度都可以擴大。從而帶來性能的提升。什么是Inception以及GoogleNet結構解釋說明:

  • 采用不同大小的卷積核意味著,大小不同的感受野,最后拼接意味著不同尺度特征的融合。
  • 之所以卷積核采用1,3,5,主要是為了方便對其,設定卷積步長stride=1后,只需要分別設置pad=0,1,2,這樣卷積后就可以得到相同維度的特征,然后直接拼接在一起
  • 文章中說很多地方都表明pooling很有效果,所以這里也引入了。。。。。。
  • 網絡越到后面,特征越抽象,而且每個特征所設計的感受野也更大了,因此,在層數的增加,3x3和5x5的卷積的比例增加(后面會看到)
  • 使用5x5的卷積核仍然會帶來巨大的計算量,為此文章借鑒NIN2,采用1x1的卷積核來降低維度。到底是如何使用1x1的卷積核降低維度的呢?假設有一個3x3x10的圖片特征,長寬都是1,然后channel,我喜歡叫它厚度是10,我們想要降低維度到5,怎么辦呢?首先我們需要找到一個1x1x10的卷積核,然后卷積結果應該是一個3x3x1的一個特征圖,我們可以找到5個這個的卷積核,卷積五次,得到的圖片就會使3x3x5這樣的特征圖了,當然同理,1x1卷積核也可以用來提高維度.

從網上找了一張GoogleNet的美圖:什么是Inception以及GoogleNet結構

還有一個:什么是Inception以及GoogleNet結構


GoogLeNet網絡結構明細表解析如下:

0、輸入

原始輸入圖像為224x224x3,且都進行了零均值化的預處理操作(圖像每個像素減去均值)。

1、第一層(卷積層)

使用7x7的卷積核(滑動步長2,padding為3),64通道,輸出為112x112x64,卷積后進行ReLU操作

經過3x3的max pooling(步長為2),輸出為((112 - 3+1)/2)+1=56,即56x56x64,再進行ReLU操作

2、第二層(卷積層)

使用3x3的卷積核(滑動步長為1,padding為1),192通道,輸出為56x56x192,卷積后進行ReLU操作

經過3x3的max pooling(步長為2),輸出為((56 - 3+1)/2)+1=28,即28x28x192,再進行ReLU操作

3a、第三層(Inception 3a層)

分為四個分支,采用不同尺度的卷積核來進行處理

(1)64個1x1的卷積核,然后RuLU,輸出28x28x64

(2)96個1x1的卷積核,作為3x3卷積核之前的降維,變成28x28x96,然后進行ReLU計算,再進行128個3x3的卷積(padding為1),輸出28x28x128

(3)16個1x1的卷積核,作為5x5卷積核之前的降維,變成28x28x16,進行ReLU計算后,再進行32個5x5的卷積(padding為2),輸出28x28x32

(4)pool層,使用3x3的核(padding為1),輸出28x28x192,然后進行32個1x1的卷積,輸出28x28x32。

將四個結果進行連接,對這四部分輸出結果的第三維并聯,即64+128+32+32=256,最終輸出28x28x256

3b、第三層(Inception 3b層)

(1)128個1x1的卷積核,然后RuLU,輸出28x28x128

(2)128個1x1的卷積核,作為3x3卷積核之前的降維,變成28x28x128,進行ReLU,再進行192個3x3的卷積(padding為1),輸出28x28x192

(3)32個1x1的卷積核,作為5x5卷積核之前的降維,變成28x28x32,進行ReLU計算后,再進行96個5x5的卷積(padding為2),輸出28x28x96

(4)pool層,使用3x3的核(padding為1),輸出28x28x256,然后進行64個1x1的卷積,輸出28x28x64。

將四個結果進行連接,對這四部分輸出結果的第三維并聯,即128+192+96+64=480,最終輸出輸出為28x28x480

第四層(4a,4b,4c,4d,4e)、第五層(5a,5b)……,與3a、3b類似,在此就不再重復。


到這里!我們看美圖應該能看出來一點,GoogleNet的結構就是3+3+3總共九個inception模塊組成的,每個Inception有兩層,加上開頭的3個卷積層和輸出前的FC層,總共22層!然后每3層的inception之后都會有一個輸出結果,這個網絡一共有三個輸出結果,這是什么情況呢?


這個是輔助分類器,GoogleNet用到了輔助分類器。因為除了最后一層的輸出結果,中間節點的分類效果也可能是很好的,所以GoogleNet將中間的某一層作為輸出,并以一個較小的權重加入到最終分類結果中。其實就是一種變相的模型融合,同時給網絡增加了反向傳播的梯度信號,也起到了一定的正則化的作用。


最后,我再提出兩個問題:

  1. 如果使用1x1進行特征壓縮,是否會影響最終結果?回答:不會,作者的解釋是,如果你想要把特征厚度從128變成256,你可以直接用3x3進行特征提取。如果你先用1x1進行壓縮到64,然后再用3x3把64channel的特征擴展成256,其實對后續的精度沒有影響,而且減少了運算次數。

  2. 為什么inception是多個尺度上進行卷積再聚合?回答:直觀上,多個尺度上同時卷積可以提取到不同尺度的特征。而這也意味著最后分類判斷更加準確。除此之外,這是可以利用稀疏矩陣分解成密集矩陣計算的原理來加快收斂速度。(第二個好處沒有太看懂) 個人淺顯的理解就是:提取多個尺度的特征,再聚合的時候,就可以找到關聯性強的特征,這樣就能避免浪費在關聯性較弱的特征上的計算力吧。

關于什么是Inception以及GoogleNet結構問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乡城县| 阳西县| 应城市| 甘谷县| 康平县| 洛阳市| 东城区| 教育| 鲁甸县| 保靖县| 神农架林区| 新河县| 龙州县| 容城县| 上杭县| 深水埗区| 浦城县| 都江堰市| 葵青区| 泽州县| 怀宁县| 宿松县| 汝州市| 惠安县| 婺源县| 尤溪县| 兴国县| 青冈县| 历史| 广平县| 永靖县| 乐都县| 林芝县| 隆回县| 邳州市| 岳普湖县| 金塔县| 合江县| 河间市| 兴义市| 和平区|