日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow学习笔记(二十八)CNN的9大模型之AlexNet

發(fā)布時間:2024/1/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow学习笔记(二十八)CNN的9大模型之AlexNet 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文出自NIPS2012,作者是大神Alex Krizhevsky,屬于多倫多大學(xué)Hinton組。

概述

本文提出的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被成為AlexNet,在我最近的研究學(xué)習(xí)中發(fā)現(xiàn),這一結(jié)構(gòu)及其變種在很多任務(wù)中都有使用,回過頭來重溫一下這篇論文仍然是有必要的。歸根到底,本文網(wǎng)絡(luò)結(jié)構(gòu)相對較淺,而且能夠提取到比較豐富的特征,而很多任務(wù)的數(shù)據(jù)集無法達(dá)到ImageNet的規(guī)模,使用AlexNet是比較好的特征提取方法。本文相對較“老”,其中的很多技術(shù)早已耳熟能詳,有興趣的可以去閱讀相關(guān)資料。

結(jié)構(gòu)

AlexNet有5個卷積層和3個全連接層,作者發(fā)現(xiàn)移除任意一層都會降低最終的效果。網(wǎng)絡(luò)結(jié)構(gòu)如圖:

這個網(wǎng)絡(luò)前面5層是卷積層,后面三層是全連接層,最終softmax輸出是1000類。具體分析第一層:

輸入圖片為224*224*3,卷積核大小為11*11*3,步長為4,輸出為55*55*96。

ReLU

AlexNet使用ReLU代替了傳統(tǒng)的激活函數(shù),而現(xiàn)在ReLU已經(jīng)廣泛地使用在了各種CNN結(jié)構(gòu)中。關(guān)于ReLU這里已經(jīng)沒必要講了,在2012年算是新穎的技術(shù),到今天已經(jīng)是遍地開花了。

Multiple GPU

AlexNet使用兩塊GTX580顯卡進(jìn)行訓(xùn)練,兩塊顯卡只需要在特定的層進(jìn)行通信,當(dāng)今的深度學(xué)習(xí)已經(jīng)基本都是在顯卡上完成的。兩塊GPU各訓(xùn)練網(wǎng)絡(luò)的一部分,在第二個卷積層和全連接層才需要互相通信。

在卷積層之間還需要加上Local Response Normalization和Overlap Pooling。

Local Response Normalization

ReLU本來是不需要對輸入進(jìn)行標(biāo)準(zhǔn)化,但本文發(fā)現(xiàn)進(jìn)行局部標(biāo)準(zhǔn)化能提高性能。

bix,y=aix,y/(k+αj=max(0,i?n/2)min(N?1,i+n/2)(ajx,y)2)

其中aix,y代表在feature map中第i個卷積核(x,y)坐標(biāo)處經(jīng)過了ReLU激活函數(shù)的輸出,這個式子的含義就是一個值和它前后的n個值做標(biāo)準(zhǔn)化。k,n,α,β都是超參數(shù),本文由驗證集確定為k=2,n=5,α=10?4,β=0.75。求和發(fā)生在feature map中,相同位置(x,y)的n個相鄰kernel map上。其中N是卷積核的總數(shù),符號max和min是為了表示邊緣幾層的標(biāo)準(zhǔn)化方式。

Overlap Pooling

一般的Pooling是不重疊的,而AlexNet使用的Pooling是可重疊的,也就是說,在池化的時候,每次移動的步長小于池化的邊長。AlexNet池化的大小為3*3的正方形,每次池化移動步長為2,這樣就會出現(xiàn)重疊。

總體而言,AlexNet網(wǎng)絡(luò)的結(jié)構(gòu)如下:

減小過擬合

AlexNet有6000萬個參數(shù),需要考慮過擬合的問題。

數(shù)據(jù)增強

對圖片進(jìn)行一些變換可以增大數(shù)據(jù)集。第一種方法是:原始圖片大小為256*256,在圖片上隨機選取224*224的小塊進(jìn)行訓(xùn)練,還可以這些小塊進(jìn)行水平翻轉(zhuǎn)進(jìn)一步增加數(shù)據(jù)量。另一種方法是使用PCA改變訓(xùn)練圖像RGB通道的像素值。

Dropout

這個方法現(xiàn)在也是大量使用。Dropout將隱層輸出以一定的概率置0,這個神經(jīng)元就不參與前向和后向傳播,就如同在網(wǎng)絡(luò)中刪除了一樣。Dropout也可以看成是一種模型組合,每個樣本都是不一樣的網(wǎng)絡(luò)結(jié)構(gòu)。Dropout減少了神經(jīng)元之間的共適應(yīng)關(guān)系(co-adaptation),一個神經(jīng)元不再依賴另一個神經(jīng)元,強迫網(wǎng)絡(luò)學(xué)習(xí)到更加魯棒的特征表示。

訓(xùn)練

使用SGD進(jìn)行訓(xùn)練,batch大小為128,momentum為0.9,weight decay為0.0005。迭代公式:

vi+1:=0.9?vi?0.0005???wi?????L?w|wi?Di wi+1=wi+vi+1

在兩塊GTX580上花費了6天時間。

結(jié)果

在ILSVRC-2010上,top-1錯誤率為37.5%,top-5錯誤率為17.0%。比較有趣的是對96個11*11*3的卷積和進(jìn)行可視化:

可以看到這些卷積核學(xué)習(xí)到了很多和頻率、方向相關(guān)的特征,而且在第一個GPU上大多是沒有顏色,而第二個是有顏色的,這樣的結(jié)果和初始化值無關(guān)。神經(jīng)網(wǎng)絡(luò)最后一層4096維的向量可以作為圖像的高級特征,這樣的特征可以用于其他的任務(wù)中。

原文翻譯:http://blog.csdn.net/liumaolincycle/article/details/50496499

其中,在DL開源實現(xiàn)caffe的model樣例中,它也給出了alexnet的復(fù)現(xiàn),具體網(wǎng)絡(luò)配置文件如下https://github.com/BVLC/caffe/blob/master/models/bvlc_reference_caffenet/train_val.prototxt:接下來本文將一步步對該網(wǎng)絡(luò)配置結(jié)構(gòu)中各個層進(jìn)行詳細(xì)的解讀(訓(xùn)練階段):

1. conv1階段DFD(data flow diagram):


2. conv2階段DFD(data flow diagram):


3. conv3階段DFD(data flow diagram):


4. conv4階段DFD(data flow diagram):


5. conv5階段DFD(data flow diagram):


6. fc6階段DFD(data flow diagram):


7. fc7階段DFD(data flow diagram):


8. fc8階段DFD(data flow diagram):


總結(jié)

以上是生活随笔為你收集整理的TensorFlow学习笔记(二十八)CNN的9大模型之AlexNet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。