【圖像分類】AlexNet--深度學習時代來臨

1.AlexNet介紹:

近幾年深度學習的爆發實際上是從AlexNet開始的。說到AlexNet不得不提一下image net數據集,從2005年以來機器學習蓬勃發展,人臉識別,圖像分類等任務得到了廣泛的關注。image net數據集的誕生,爲圖像分類識別等任務提供了一個統一的評估平臺,爲此類算法的迭代提供了依據。AlexNet的出現大幅度刷新了image net圖像分類得分,從此深度學習在圖像領域名聲大噪,各類論文出現井噴。

 

2.AlexNet網絡結構:

AlexNet網絡結構如下圖:

第一層:卷積層。輸入圖像大小爲224*224*3,卷積核數量爲96個,卷積核大小爲11*11*3.注意這裏輸入圖像和mnist不同,mnist是單通道圖像,但是image net是多通道輸入,所以卷積核針對多通道進行了相應的修改,變爲了11*11*3.這裏卷積核的size是比LeNet要大的,我猜是作者想儘可能的保證輸入圖像特徵抽取的完整,但是11*11的卷積後面被證明過大,導致了較大的計算耗時,並且對預測精度提高並不明顯(這是爲什麼?https://www.zhihu.com/question/38098038 這裏分析了爲啥小的卷積核更有效)。卷積結束之後,加了一層Local Response Normalization。但是這裏有個問題,這個函數後面大家一般加在池化之後,在AlexNet裏面卻加在了池化之前。這個函數有什麼作用呢,其實也是來自生物神經學,歸一化的目的就是爲了抑制,這個方法增強了AlexNet的範化能力。這個方法的使用最好是搭配激活函數relu,其他激活函數可能並沒有這麼明顯的效果。當然,後面也有人爭議這個方法其實並沒有什麼卵用(Very Deep Convolutional Networks for Large-Scale Image Recognition)。在AlexNet中作者提出了max pooling,選擇池化像素的最大值作爲輸出。最大池化還是平均池化,這個是一個問題。目前主流認爲最大池化比平均池化要有優勢一點,但是選用什麼樣的池化方式其實和你的數據集有關係(https://www.quora.com/What-is-the-benefit-of-using-average-pooling-rather-than-max-poolinghttps://blog.csdn.net/u012193416/article/details/79432668

第二層:卷積核爲5*5*48*256,卷積size比之前減小了,但是卷積核數量卻變多了。目前一般cnn的套路好像都是越到後面卷積核數量越大。其餘結構和第一層基本不變。

第三層:卷積核爲3*3*256*384,卷積size繼續變小。第三層沒有LRN和pool(這是爲啥?)

第四層:卷積核爲3*3*384*384,沒有LRN與pool

第五層:卷積核爲3*3*384*256,沒有LRN,直接進行max pooling

後面第六,七,八層全爲全鏈接網絡。全鏈接網絡中使用了dropout,防止網絡的過擬合。

AlexNet的主要貢獻:

1.數據增強。主要針對圖像數據,比如進行隨機旋轉,隨機剪裁等增加圖像樣本,同時提高模型範化性能。

2.Relu,解決了梯度消失的問題,爲更深的網絡結構打下基礎。

3.dropout,一個比較經典的對抗過擬合的方法,在alexnet裏面首次提出。

4.LRN,局部響應歸一化。

5.多gpu訓練。alexnet採用了兩塊gpu進行模型分佈式訓練,提高了訓練速度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章