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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CNN的发展历史(LeNet,Alexnet,VGGNet,GoogleNet,ReSNet)

發(fā)布時間:2023/12/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CNN的发展历史(LeNet,Alexnet,VGGNet,GoogleNet,ReSNet) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明:本文出自Bin的專欄blog.csdn.net/xbinworld。

關(guān)于卷積神經(jīng)網(wǎng)絡(luò)CNN,網(wǎng)絡(luò)和文獻中有非常多的資料,我在工作/研究中也用了好一段時間各種常見的model了,就想著簡單整理一下,以備查閱之需。如果讀者是初接觸CNN,建議可以先看一看“Deep Learning(深度學(xué)習(xí))學(xué)習(xí)筆記整理系列”中關(guān)于CNN的介紹[1],是介紹我們常說的Lenet為例,相信會對初學(xué)者有幫助。

  • Lenet,1986年
  • Alexnet,2012年
  • GoogleNet,2014年
  • VGG,2014年
  • Deep Residual Learning,2015年
  • Lenet(1986)

    就從Lenet說起,可以看下caffe中l(wèi)enet的配置文件(點我),可以試著理解每一層的大小,和各種參數(shù)。由兩個卷積層,兩個池化層,以及兩個全連接層組成。 卷積都是5*5的模板,stride=1,池化都是MAX。下圖是一個類似的結(jié)構(gòu),可以幫助理解層次結(jié)構(gòu)(和caffe不完全一致,不過基本上差不多)

    Alexnet(2012)

    2012年,Imagenet比賽冠軍的model——Alexnet [2](以第一作者alex命名)。caffe的model文件在這里。說實話,這個model的意義比后面那些model都大很多,首先它證明了CNN在復(fù)雜模型下的有效性,然后GPU實現(xiàn)使得訓(xùn)練在可接受的時間范圍內(nèi)得到結(jié)果,確實讓CNN和GPU都大火了一把,順便推動了有監(jiān)督DL的發(fā)展。

    模型結(jié)構(gòu)見下圖,別看只有寥寥八層(不算input層),但是它有60M以上的參數(shù)總量,事實上在參數(shù)量上比后面的網(wǎng)絡(luò)都大。

    這個圖有點點特殊的地方是卷積部分都是畫成上下兩塊,意思是說吧這一層計算出來的feature map分開,但是前一層用到的數(shù)據(jù)要看連接的虛線,如圖中input層之后的第一層第二層之間的虛線是分開的,是說二層上面的128map是由一層上面的48map計算的,下面同理;而第三層前面的虛線是完全交叉的,就是說每一個192map都是由前面的128+128=256map同時計算得到的。

    Alexnet有一個特殊的計算層,LRN層,做的事是對當(dāng)前層的輸出結(jié)果做平滑處理。下面是我畫的示意圖:

    前后幾層(對應(yīng)位置的點)對中間這一層做一下平滑約束,計算方法是:

    具體打開Alexnet的每一階段(含一次卷積主要計算)來看[2][3]:

    (1)con - relu - pooling - LRN

    具體計算都在圖里面寫了,要注意的是input層是227*227,而不是paper里面的224*224,這里可以算一下,主要是227可以整除后面的conv1計算,224不整除。如果一定要用224可以通過自動補邊實現(xiàn),不過在input就補邊感覺沒有意義,補得也是0。

    (2)conv - relu - pool - LRN

    和上面基本一樣,唯獨需要注意的是group=2,這個屬性強行把前面結(jié)果的feature map分開,卷積部分分成兩部分做。

    (3)conv - relu

    (4)conv-relu

    (5)conv - relu - pool

    (6)fc - relu - dropout

    這里有一層特殊的dropout層,在alexnet中是說在訓(xùn)練的以1/2概率使得隱藏層的某些neuron的輸出為0,這樣就丟到了一半節(jié)點的輸出,BP的時候也不更新這些節(jié)點。?
    (7)?
    fc - relu - dropout?

    (8)fc - softmax?

    以上圖借用[3],感謝。

    GoogleNet(2014)

    googlenet[4][5],14年比賽冠軍的model,這個model證明了一件事:用更多的卷積,更深的層次可以得到更好的結(jié)構(gòu)。(當(dāng)然,它并沒有證明淺的層次不能達(dá)到這樣的效果)

    這個model基本上構(gòu)成部件和alexnet差不多,不過中間有好幾個inception的結(jié)構(gòu):

    是說一分四,然后做一些不同大小的卷積,之后再堆疊feature map。

    計算量如下圖,可以看到參數(shù)總量并不大,但是計算次數(shù)是非常大的。?

    VGG(2014)

    VGG有很多個版本,也算是比較穩(wěn)定和經(jīng)典的model。它的特點也是連續(xù)conv多,計算量巨大(比前面幾個都大很多)。具體的model結(jié)構(gòu)可以參考[6],這里給一個簡圖。基本上組成構(gòu)建就是前面alexnet用到的。?

    下面是幾個model的具體結(jié)構(gòu),可以查閱,很容易看懂。

    Deep Residual Learning(2015)

    這個model是2015年底最新給出的,也是15年的imagenet比賽冠軍。可以說是進一步將conv進行到底,其特殊之處在于設(shè)計了“bottleneck”形式的block(有跨越幾層的直連)。最深的model采用的152層!!下面是一個34層的例子,更深的model見表格。?
    ?
    其實這個model構(gòu)成上更加簡單,連LRN這樣的layer都沒有了。

    block的構(gòu)成見下圖:

    總結(jié)

    OK,到這里把常見的最新的幾個model都介紹完了,可以看到,目前cnn model的設(shè)計思路基本上朝著深度的網(wǎng)絡(luò)以及更多的卷積計算方向發(fā)展。雖然有點暴力,但是效果上確實是提升了。當(dāng)然,我認(rèn)為以后會出現(xiàn)更優(yōu)秀的model,方向應(yīng)該不是更深,而是簡化。是時候動一動卷積計算的形式了。

    參考資料

    [1]?http://blog.csdn.net/zouxy09/article/details/8781543/?
    [2] ImageNet Classification with Deep Convolutional Neural Networks?
    [3]?http://blog.csdn.net/sunbaigui/article/details/39938097?
    [4]?http://blog.csdn.net/csyhhb/article/details/45967291?
    [5] Going deeper with convolutions?
    [6] VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

    總結(jié)

    以上是生活随笔為你收集整理的CNN的发展历史(LeNet,Alexnet,VGGNet,GoogleNet,ReSNet)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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