導航:首頁 > 編程大全 > alexnet網路

alexnet網路

發布時間:2023-02-08 15:09:08

① 用matlab2017a怎麼使用alexnet網路結構

在addon里下載包含alexnet的附加包,然後使用語句:
net= alexnet();
就可以使用alexnet 了

② 巧借Deep Network Designer分析經典網路結構——AlexNet

關於如何使用Deep Network Designer,大家可以打開自己的MATLAB,在APP一欄中找到Deep Network Designer點擊打開即可。使用的具體流程詳見我在介紹LeNet5一文中,這里就不在贅述了。地址: https://www.jianshu.com/p/86f591c44ad3

AlexNet 是 vgg 網路和 resten 網路系列的基石。其網路架構中新穎的特徵如下所示
1.以ReLu替代sigmoid和tanh函數。實踐證明這樣可以使網路更快收斂
2.其中最大池化( Max pooling)的概念也是在AlexNet提出的,即對每一個鄰近像素組成的"池子",選取像素最大值作為輸出。在LeNet中,池化的像素是不重疊的;而在 AlexNet 中進行的是有重疊的池化。(PS:我在介紹LeNet中的池化採用的也是最大池化)大量的實踐表明,有重疊的最大池化能夠很好的克服過擬合問題,提升系統性能。
3.隨機丟棄(Dropout)為了避免系統參數更新過快導致的過擬合,每一次利用訓練樣本更新參數的時候,隨機「丟棄」一定比例的神經元,被丟棄的神經元不再參與訓練過程,輸入和輸出該神經元的權重系數也不做更新。這樣每次訓練時訓練的網路構架都不一樣,而這些不同的網路構架卻分享共同訓練的權重系數。實踐表明,隨機丟棄的技術技術減緩了網路收斂度,也大概率避免了過擬合的發生。
4.在多個GPU上訓練。單個GPU存儲空間有限,使用兩塊GPU,在每個GPU上存儲一半的kernels,這兩塊GPU在特定層上通信

③ 圖像識別之一:AlexNet

摘要:文章部分摘自鏈接。以kaggle上的貓狗數據集做訓練,20000張訓練圖片,貓狗各10000張,5000張驗證集,貓狗各2500張。

數據集鏈接

鏈接:https://pan..com/s/1uTl_ErqP_KxYH4M5feZOaQ

提取碼:6666

@[toc]

在2012年前,圖像特徵都是機械地計算出來的。事實上,設計一套新的特徵函數、改進結果,並撰寫論文是盛極一時的潮流。SIFT[Lowe,2004]、SURF[Bayetal.,2006]、HOG(定向梯度直方圖)[Dalal&Triggs,2005]、bagsofvisualwords和類似的特徵提取方法佔據了主導地位。

另一組研究人員,包括YannLeCun、GeoffHinton、YoshuaBengio、AndrewNg、ShunichiAmari和JuergenSchmidhuber,想法則與眾不同:他們認為特徵本身應該被學習。此外,他們還認為,在合理地復雜性前提下,特徵應該由多個共同學習的神經網路層組成,每個層都有可學習的參數。在機器視覺中,最底層可能檢測邊緣、顏色和紋理。事實上,AlexKrizhevsky、IlyaSutskever和GeoffHinton提出了一種新的卷積神經網路變體AlexNet。在2012年ImageNet挑戰賽中取得了轟動一時的成績。AlexNet以AlexKrizhevsky的名字命名,他是論文[Krizhevskyetal.,2012]的第一作者。

有趣的是,在網路的最底層,模型學習到了一些類似於傳統濾波器的特徵抽取器。圖1是從AlexNet論文[Krizhevskyetal.,2012]復制的,描述了底層圖像特徵。

AlexNet的更高層建立在這些底層表示的基礎上,以表示更大的特徵,如眼睛、鼻子、草葉等等。而更高的層可以檢測整個物體,如人、飛機、狗或飛盤。最終的隱藏神經元可以學習圖像的綜合表示,從而使屬於不同類別的數據易於區分。盡管一直有一群執著的研究者不斷鑽研,試圖學習視覺數據的逐級表徵,然而很長一段時間里這些嘗試都未有突破。深度卷積神經網路的突破出現在2012年。2012年,AlexNet橫空出世。它首次證明了學習到的特徵可以超越手工設計的特徵。它一舉打破了計算機視覺研究的現狀。AlexNet使用了8層卷積神經網路,並以很大的優勢贏得了2012年ImageNet圖像識別挑戰賽。

AlexNet和LeNet的設計理念非常相似,但也存在顯著差異。首先,AlexNet比相對較小的LeNet5要深得多。AlexNet由八層組成:五個卷積層、兩個全連接隱藏層和一個全連接輸出層。其次,AlexNet使用ReLU而不是sigmoid作為其激活函數。

測試模型是否正確

把原來ALexNet最後的全連接層的神經元數目減少了一些方便訓練,最後的驗證准確度差不多86%左右,訓練參數7057474個。

④ 經典卷積神經網路簡介之【AlexNet】

論文中轉 : ImageNet Classification with Deep Convolutional Neural Networks

自Le Net-5在1998年提出以後,時隔14年,AlexNet橫空問世,在2012年ImageNet競賽中以冠軍的成績笑傲群雄,也就是從那時起,更多更優秀的網路被相繼提出。論文第一作者是來自多倫多大學的Alex Krizhevsky,因此網路稱為Alex Net。

在論文中,作者訓練了一個大而深(相比於之前)的卷積網路用於ImageNet比賽,將120萬高分辨圖像分為1000個類別。在測試集上,分別達到了37.5%的top-1錯誤率和17.0%的top-5錯誤率,超越了先前最好的網路。網路共有600萬參數,65萬個神經元,5個卷積層加3個全連接層,輸出為1000類別。為了防止過擬合,作者採用了數據擴充和dropout正則法,實驗結果表明此方法非常有效;為了加快訓練速度,作者採用了兩塊並行的GPU同時對特徵圖進行運算。

由於採用了雙GPU模式,所以結構圖呈現的是上圖的樣子,下面引用一張博客作者 chenyuping666 文章的圖片,可以詳細的了解網路內部結構與實現細節。

從上圖可以看到,輸入為227×227×3的圖像

在conv1中 ,卷積核大小為11×11,步長為4,通道數為96(每台GPU運算48個,下同),經過激活函數Relu激活後,採用最大池化(size=3×3,stride=2),標准化,輸出為27×27×96。

在conv2中 ,卷積核大小為5×5,步長為1,通道數256,先對輸入特徵圖擴展像素為31×31(pad=2),然後卷積,激活,池化(size=3×3,stride=2),標准化,輸出特徵圖為13×13×256。

在conv3,conv4中 ,卷積核大小都為3×3,步長為1,pad=1,通道數為384,經過激活後輸出特徵圖為13×13×384。

在conv5中 ,卷積核大小都為3×3,步長為1,通道數為256,經過激活,池化後輸出特徵圖為6×6×256。

在fcn6,fcn7中 ,共有4096個神經元,採用了dropout技術防止過擬合。

在fcn8 ,也就是最後一層,採用softmax輸出1000個類別。

相比於之前的網路,AlexNet為何能取得比較好的結果呢,從作者的論文中可以發現以下幾點:

3.1 非線性激活函數Relu
在之前一般使用tanh(x)或sigmoid作為激活函數,但這些飽和的線性函數在梯度的計算上非常緩慢,並且容易產生梯度消失問題。Relu的出現使這些問題得到了有效的解決。在基於cifar-10數據集的標准四層網路測試中,採用tanh和Relu作為激活函數使error rate達到0.25所用的時間,Relu比tanh快大約6倍。

3.2 多個GPU
作者認為計算資源的大小限制了網路的大小,要想訓練大的網路結構,必須擁有足夠的計算資源。120萬的數據集太大以至於單個GPU不足以匹配,因此作者將網路的計算任務分配到兩個GPU上執行。目前GPU特別適合做並行化,因為一個GPU可以直接從另一個GPU讀和寫內容,而不需要經過主機內存。

3.3 局部響應歸一化(LRN)
作者在文章中提出了Local Response Normalization的方法,分別將top-1和top-5錯誤率降低了1.4%和1.2%。作者在文中提到,如果訓練樣本產生一個正輸入到Relu,網路只會在那個特定神經元上學習,但是引入局部響應正則化後,提高了網路的泛化能力。這種響應歸一化會產生一種由某一神經元所激發的橫向抑制,為由使用不同卷積核計算的神經元輸出之中的「big activities」創造競爭。

3.4 重疊池化
一般的池化操作因為沒有重疊,所以pool_size 和 stride是相等的。例如6×6的圖像在size=2×2的池化後,輸出為3×3,但是本文使用的size<stride,即取步長為1,輸出為4×4大小的圖像。這一方案分別使top-1和top-5錯誤率降低了0.4%和0.3%。

⑤ 經典CNN網路結構-AlexNet、VGG、GoogleNet、ResNet)

AlexNet之所以能夠成功,跟這個模型設計的特點有關,主要有:
使用了非線性激活函數:ReLU
防止過擬合的方法:Dropout,數據擴充(Data augmentation)
其他:多GPU實現,LRN歸一化層的使用

GoogLeNet(從Inception v1到v4的演進)

2014年,GoogLeNet和VGG是當年ImageNet挑戰賽(ILSVRC14)的雙雄,GoogLeNet獲得了第一名、VGG獲得了第二名,這兩類模型結構的共同特點是層次更深了。

VGG 繼承了 LeNet 以及 AlexNet 的一些框架結構,而 GoogLeNet 則做了更加大膽的網路結構嘗試,雖然深度只有22層,但大小卻比 AlexNet VGG 小很多。

GoogleNet參數為500萬個,AlexNet參數個數是GoogleNet的12倍,VGGNet參數又是AlexNet的3倍,因此在內存或計算資源有限時,GoogleNet是比較好的選擇;從模型結果來看,GoogLeNet的性能卻更加優越。

解決深度網路(過擬合, 參數過多, 梯度彌散)這些問題的方法當然就是在增加網路深度和寬度的同時減少參數,為了減少參數,自然就想到將全連接變成稀疏連接。但是在實現上,全連接變成稀疏連接後實際計算量並不會有質的提升,因為大部分硬體是針對密集矩陣計算優化的,稀疏矩陣雖然數據量少,但是計算所消耗的時間卻很難減少。那麼,有沒有一種方法既能保持網路結構的稀疏性,又能利用密集矩陣的高計算性能。大量的文獻表明可以將稀疏矩陣聚類為較為密集的子矩陣來提高計算性能, 如人類的大腦是可以看做是神經元的重復堆積,因此,GoogLeNet團隊提出了Inception網路結構,就是構造一種「基礎神經元」結構,來搭建一個稀疏性、高計算性能的網路結構。

原始輸入圖像為224x224x3,且都進行了零均值化的預處理操作(圖像每個像素減去均值)。
輸入為224x224的RGB圖像,『#3x3 rece』和『#5x5 rece』表示3x3和5x5卷積之前1x1的卷積核的個數。
之所以卷積核大小採用1、3和5,主要是為了方便對齊。設定卷積步長stride=1之後,只要分別設定pad=0、1、2,那麼卷積之後便可以得到相同維度的特徵,然後這些特徵就可以直接拼接在一起了。

閱讀全文

與alexnet網路相關的資料

熱點內容
cnc編程跟繪圖哪個難學 瀏覽:96
新手做游戲編程用什麼 瀏覽:793
oracel資料庫恢復 瀏覽:403
c語音編程題怎麼做 瀏覽:50
凱立德可升級2016 瀏覽:350
去哪裡找貓咪app 瀏覽:251
qq86級 瀏覽:749
linuxtelnet代碼 瀏覽:418
極品飛車17主程序 瀏覽:426
otg連接了怎麼找不到文件 瀏覽:564
5s文件夾在哪裡 瀏覽:740
一朵烏雲圖案是什麼app 瀏覽:21
彌勒購物網站活動用例如何設計 瀏覽:510
什麼梗的網站 瀏覽:98
win10賬戶文件存儲在哪 瀏覽:310
同花花順數據在線在哪裡搞 瀏覽:368
mysql文件格式 瀏覽:336
微信傳文件到qq 瀏覽:586
手機如何發送文件去車機 瀏覽:76
apple5w電源適配器真假 瀏覽:288

友情鏈接