LeNet-5模型在CNN的應(yīng)用中,,文字識(shí)別系統(tǒng)所用的LeNet-5模型是非常經(jīng)典的模型,。LeNet-5模型是1998年,Yann LeCun教授提出的,它是第一個(gè)成功大規(guī)模應(yīng)用在手寫數(shù)字識(shí)別問題的卷積神經(jīng)網(wǎng)絡(luò),,在MNIST數(shù)據(jù)集中的正確率可以高達(dá)99.2%,。 下面詳細(xì)介紹一下LeNet-5模型工作的原理。 LeNet-5模型一共有7層,,每層包含眾多參數(shù),,也就是卷積神經(jīng)網(wǎng)絡(luò)中的參數(shù)。雖然層數(shù)只有7層,,這在如今龐大的神經(jīng)網(wǎng)絡(luò)中可是說是非常少的了,,但是包含了卷積層,池化層,,全連接層,,可謂麻雀雖小五臟俱全了。為了方便,,我們把卷積層稱為C層,,下采樣層叫做下采樣層。 首先,,輸入層輸入原始圖像,,原始圖像被處理成32×32個(gè)像素點(diǎn)的值。然后,,后面的隱層計(jì)在卷積和子抽樣之間交替進(jìn)行,。C1層是卷積層,包含了六個(gè)特征圖,。每個(gè)映射也就是28x28個(gè)神經(jīng)元,。卷積核可以是5x5的十字形,這28×28個(gè)神經(jīng)元共享卷積核權(quán)值參數(shù),,通過卷積運(yùn)算,,原始信號(hào)特征增強(qiáng),同時(shí)也降低了噪聲,,當(dāng)卷積核不同時(shí),,提取到圖像中的特征不同;C2層是一個(gè)池化層,,池化層的功能在上文已經(jīng)介紹過了,,它將局部像素值平均化來實(shí)現(xiàn)子抽樣。 池化層包含了六個(gè)特征映射,,每個(gè)映射的像素值為14x14,,這樣的池化層非常重要,可以在一定程度上保證網(wǎng)絡(luò)的特征被提取,,同時(shí)運(yùn)算量也大大降低,,減少了網(wǎng)絡(luò)結(jié)構(gòu)過擬合的風(fēng)險(xiǎn),。因?yàn)榫矸e層與池化層是交替出現(xiàn)的,所以隱藏層的第三層又是一個(gè)卷積層,,第二個(gè)卷積層由16個(gè)特征映射構(gòu)成,,每個(gè)特征映射用于加權(quán)和計(jì)算的卷積核為10x10的。第四個(gè)隱藏層,,也就是第二個(gè)池化層同樣包含16個(gè)特征映射,,每個(gè)特征映射中所用的卷積核是5x5的。第五個(gè)隱藏層是用5x5的卷積核進(jìn)行運(yùn)算,,包含了120個(gè)神經(jīng)元,,也是這個(gè)網(wǎng)絡(luò)中卷積運(yùn)算的最后一層。 之后的第六層便是全連接層,,包含了84個(gè)特征圖,。全連接層中對(duì)輸入進(jìn)行點(diǎn)積之后加入偏置,然后經(jīng)過一個(gè)激活函數(shù)傳輸給輸出層的神經(jīng)元,。最后一層,,也就是第七層,為了得到輸出向量,,設(shè)置了十個(gè)神經(jīng)元來進(jìn)行分類,,相當(dāng)于輸出一個(gè)包含十個(gè)元素的一維數(shù)組,向量中的十個(gè)元素即0到9,。 AlexNet模型AlexNet簡(jiǎn)介2012年Imagenet圖像識(shí)別大賽中,,Alext提出的alexnet網(wǎng)絡(luò)模型一鳴驚人,,引爆了神經(jīng)網(wǎng)絡(luò)的應(yīng)用熱潮,,并且贏得了2012屆圖像識(shí)別大賽的冠軍,這也使得卷積神經(jīng)網(wǎng)絡(luò)真正意義上成為圖像處理上的核心算法,。上文介紹的LeNet-5出現(xiàn)在上個(gè)世紀(jì),,雖然是經(jīng)典,但是迫于種種復(fù)雜的現(xiàn)實(shí)場(chǎng)景限制,,只能在一些領(lǐng)域應(yīng)用,。不過,隨著SVM等手工設(shè)計(jì)的特征的飛速發(fā)展,,LeNet-5并沒有形成很大的應(yīng)用狀況,。隨著ReLU與dropout的提出,以及GPU帶來算力突破和互聯(lián)網(wǎng)時(shí)代大數(shù)據(jù)的爆發(fā),,卷積神經(jīng)網(wǎng)絡(luò)帶來歷史的突破,,AlexNet的提出讓深度學(xué)習(xí)走上人工智能的最前端。 圖像預(yù)處理AlexNet的訓(xùn)練數(shù)據(jù)采用ImageNet的子集中的ILSVRC2010數(shù)據(jù)集,,包含了1000類,,共1.2百萬的訓(xùn)練圖像,,50000張驗(yàn)證集,150000張測(cè)試集,。在進(jìn)行網(wǎng)絡(luò)訓(xùn)練之前我們要對(duì)數(shù)據(jù)集圖片進(jìn)行預(yù)處理,。首先我們要將不同分辨率的圖片全部變成256x256規(guī)格的圖像,變換方法是將圖片的短邊縮放到 256像素值,,然后截取長(zhǎng)邊的中間位置的256個(gè)像素值,,得到256x256大小的圖像。除了對(duì)圖片大小進(jìn)行預(yù)處理,,還需要對(duì)圖片減均值,,一般圖像均是由RGB三原色構(gòu)成,均值按RGB三分量分別求得,,由此可以更加突出圖片的特征,,更方便后面的計(jì)算。 此外,,對(duì)了保證訓(xùn)練的效果,,我們?nèi)孕鑼?duì)訓(xùn)練數(shù)據(jù)進(jìn)行更為嚴(yán)苛的處理。在256x256大小的圖像中,,截取227x227大小的圖像,,在此之后對(duì)圖片取鏡像,這樣就使得原始數(shù)據(jù)增加了(256-224)x(256-224)x2= 2048倍,。最后對(duì)RGB空間做PCA,,然后對(duì)主成分做(0,0.1)的高斯擾動(dòng),結(jié)果使錯(cuò)誤率下降1%,。對(duì)測(cè)試數(shù)據(jù)而言,,抽取以圖像4個(gè)角落的大小為224224的圖像,中心的224224大小的圖像以及它們的鏡像翻轉(zhuǎn)圖像,,這樣便可以獲得10張圖像,,我們便可以利用softmax進(jìn)行預(yù)測(cè),對(duì)所有預(yù)測(cè)取平均作為最終的分類結(jié)果,。 ReLU激活函數(shù)之前我們提到常用的非線性的激活函數(shù)是sigmoid,,它能夠把輸入的連續(xù)實(shí)值全部確定在0和1之間。但是這帶來一個(gè)問題,,當(dāng)一個(gè)負(fù)數(shù)的絕對(duì)值很大時(shí),,那么輸出就是0;如果是絕對(duì)值非常大的正數(shù),,輸出就是1,。這就會(huì)出現(xiàn)飽和的現(xiàn)象,飽和現(xiàn)象中神經(jīng)元的梯度會(huì)變得特別小,,這樣必然會(huì)使得網(wǎng)絡(luò)的學(xué)習(xí)更加困難,。此外,,sigmoid的output的值并不是0為均值,因?yàn)檫@會(huì)導(dǎo)致上一層輸出的非0均值信號(hào)會(huì)直接輸入到后一層的神經(jīng)元上,。所以AlexNet模型提出了ReLU函數(shù),,公式:f(x)=max(0,x)f(x)=max(0,x)。 用ReLU代替了Sigmoid,,發(fā)現(xiàn)使用 ReLU 得到的SGD的收斂速度會(huì)比 sigmoid快很多,,這成了AlexNet模型的優(yōu)勢(shì)之一。 DropoutAlexNet模型提出了一個(gè)有效的模型組合方式,,相比于單模型,,只需要多花費(fèi)一倍的時(shí)間,這種方式就做Dropout,。在整個(gè)神經(jīng)網(wǎng)絡(luò)中,,隨機(jī)選取一半的神經(jīng)元將它們的輸出變成0。這種方式使得網(wǎng)絡(luò)關(guān)閉了部分神經(jīng)元,,減少了過擬合現(xiàn)象,。同時(shí)訓(xùn)練的迭代次數(shù)也得以增加。當(dāng)時(shí)一個(gè)GTX580 GPU只有3GB內(nèi)存,,這使得大規(guī)模的運(yùn)算成為不可能,。但是,隨著硬件水平的發(fā)展,,當(dāng)時(shí)的GPU已經(jīng)可以實(shí)現(xiàn)并行計(jì)算了,,并行計(jì)算之后兩塊GPU可以互相通信傳輸數(shù)據(jù),這樣的方式充分利用了GPU資源,,所以模型設(shè)計(jì)利用兩個(gè)GPU并行運(yùn)算,,大大提高了運(yùn)算效率。 模型分析AlexNet模型共有8層結(jié)構(gòu),,其中前5層為卷積層,,其中前兩個(gè)卷積層和第五個(gè)卷積層有池化層,,其他卷積層沒有,。后面3層為全連接層,神經(jīng)元約有六十五萬個(gè),,所需要訓(xùn)練的參數(shù)約六千萬個(gè),。 圖片預(yù)處理過后,進(jìn)過第一個(gè)卷積層C1之后,,原始的圖像也就變成了55x55的像素大小,,此時(shí)一共有96個(gè)通道。模型分為上下兩塊是為了方便GPU運(yùn)算,,48作為通道數(shù)目更加適合GPU的并行運(yùn)算,。上圖的模型里把48層直接變成了一個(gè)面,,這使得模型看上去更像一個(gè)立方體,大小為55x55x48,。在后面的第二個(gè)卷積層C2中,,卷積核的尺寸為5x5x48,由此再次進(jìn)行卷積運(yùn)算,。在C1,,C2卷積層的卷積運(yùn)算之后,都會(huì)有一個(gè)池化層,,使得提取特征之后的特征圖像素值大大減小,,方便了運(yùn)算,也使得特征更加明顯,。而第三層的卷積層C3又是更加特殊了,。第三層卷積層做了通道的合并,將之前兩個(gè)通道的數(shù)據(jù)再次合并起來,,這是一種串接操作,。第三層后,由于串接,,通道數(shù)變成256,。全卷積的卷積核尺寸也就變成了13×13×25613×13×256。一個(gè)有4096個(gè)這樣尺寸的卷積核分別對(duì)輸入圖像做4096次的全卷積操作,,最后的結(jié)果就是一個(gè)列向量,,一共有4096個(gè)數(shù)。這也就是最后的輸出,,但是AlexNet最終是要分1000個(gè)類,,所以通過第八層,也就是全連接的第三層,,由此得到1000個(gè)類輸出,。 Alexnet網(wǎng)絡(luò)中各個(gè)層發(fā)揮了不同的作用,ReLU,,多個(gè)CPU是為了提高訓(xùn)練速度,,重疊pool池化是為了提高精度,且不容易產(chǎn)生過擬合,,局部歸一化響應(yīng)是為了提高精度,,而數(shù)據(jù)增益與dropout是為了減少過擬合。 VGG net在ILSVRC-2014中,,牛津大學(xué)的視覺幾何組提出的VGGNet模型在定位任務(wù)第一名和分類任務(wù)第一名[[i]],。如今在計(jì)算機(jī)視覺領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)的良好效果深得廣大開發(fā)者的喜歡,,并且上文提到的AlexNet模型擁有更好的效果,,所以廣大從業(yè)者學(xué)習(xí)者試圖將其改進(jìn)以獲得更好地效果,。而后來很多人經(jīng)過驗(yàn)證認(rèn)為,AlexNet模型中所謂的局部歸一化響應(yīng)浪費(fèi)了計(jì)算資源,,但是對(duì)性能卻沒有很大的提升,。VGG的實(shí)質(zhì)是AlexNet結(jié)構(gòu)的增強(qiáng)版,它側(cè)重強(qiáng)調(diào)卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)中的深度,。將卷積層的深度提升到了19層,,并且在當(dāng)年的ImageNet大賽中的定位問題中獲得了第一名的好成績(jī)。整個(gè)網(wǎng)絡(luò)向人們證明了我們是可以用很小的卷積核取得很好地效果,,前提是我們要把網(wǎng)絡(luò)的層數(shù)加深,,這也論證了我們要想提高整個(gè)神經(jīng)網(wǎng)絡(luò)的模型效果,一個(gè)較為有效的方法便是將它的深度加深,,雖然計(jì)算量會(huì)大大提高,,但是整個(gè)復(fù)雜度也上升了,更能解決復(fù)雜的問題,。雖然VGG網(wǎng)絡(luò)已經(jīng)誕生好幾年了,,但是很多其他網(wǎng)絡(luò)上效果并不是很好地情況下,VGG有時(shí)候還能夠發(fā)揮它的優(yōu)勢(shì),,讓人有意想不到的收獲,。 與AlexNet網(wǎng)絡(luò)非常類似,VGG共有五個(gè)卷積層,,并且每個(gè)卷積層之后都有一個(gè)池化層,。當(dāng)時(shí)在ImageNet大賽中,作者分別嘗試了六種網(wǎng)絡(luò)結(jié)構(gòu),。這六種結(jié)構(gòu)大致相同,,只是層數(shù)不同,少則11層,,多達(dá)19層,。網(wǎng)絡(luò)結(jié)構(gòu)的輸入是大小為224*224的RGB圖像,最終將分類結(jié)果輸出,。當(dāng)然,,在輸入網(wǎng)絡(luò)時(shí),圖片要進(jìn)行預(yù)處理,。 VGG網(wǎng)絡(luò)相比AlexNet網(wǎng)絡(luò),,在網(wǎng)絡(luò)的深度以及寬度上做了一定的拓展,具體的卷積運(yùn)算還是與AlexNet網(wǎng)絡(luò)類似,。我們主要說明一下VGG網(wǎng)絡(luò)所做的改進(jìn)。第一點(diǎn),,由于很多研究者發(fā)現(xiàn)歸一化層的效果并不是很好,,而且占用了大量的計(jì)算資源,,所以在VGG網(wǎng)絡(luò)中作者取消了歸一化層;第二點(diǎn),,VGG網(wǎng)絡(luò)用了更小的3x3的卷積核,,而兩個(gè)連續(xù)的3x3的卷積核相當(dāng)于5x5的感受野,由此類推,,三個(gè)3x3的連續(xù)的卷積核也就相當(dāng)于7x7的感受野,。這樣的變化使得參數(shù)量更小,節(jié)省了計(jì)算資源,,將資源留給后面的更深層次的網(wǎng)絡(luò),。第三點(diǎn)是VGG網(wǎng)絡(luò)中的池化層特征池化核改為了2x2,而在AlexNet網(wǎng)絡(luò)中池化核為3x3,。這三點(diǎn)改進(jìn)無疑是使得整個(gè)參數(shù)運(yùn)算量下降,,這樣我們?cè)谟邢薜挠?jì)算平臺(tái)上能夠獲得更多的資源留給更深層的網(wǎng)絡(luò)。由于層數(shù)較多,,卷積核比較小,,這樣使得整個(gè)網(wǎng)絡(luò)的特征提取效果很好。其實(shí)由于VGG的層數(shù)較多,,所以計(jì)算量還是相當(dāng)大的,,卷積層比較多成了它最顯著的特點(diǎn)。另外,,VGG網(wǎng)絡(luò)的拓展性能比較突出,,結(jié)構(gòu)比較簡(jiǎn)潔,所以它的遷移性能比較好,,遷移到其他數(shù)據(jù)集的時(shí)候泛化性能好,。到現(xiàn)在為止,VGG網(wǎng)絡(luò)還經(jīng)常被用來提出特征,。所以當(dāng)現(xiàn)在很多較新的模型效果不好時(shí),,使用VGG可能會(huì)解決這些問題。 GoogleNet谷歌于2014年Imagenet挑戰(zhàn)賽(ILSVRC14)憑借GoogleNet再次斬獲第一名,。這個(gè)通過增加了神經(jīng)網(wǎng)絡(luò)的深度和寬度獲得了更好地效果,,在此過程中保證了計(jì)算資源的不變。這個(gè)網(wǎng)絡(luò)論證了加大深度,,寬度以及訓(xùn)練數(shù)據(jù)的增加是現(xiàn)有深度學(xué)習(xí)獲得更好效果的主要方式,。但是增加尺寸可能會(huì)帶來過擬合的問題,因?yàn)樯疃扰c寬度的加深必然會(huì)帶來過量的參數(shù),。此外,,增加網(wǎng)絡(luò)尺寸也帶來了對(duì)計(jì)算資源侵占過多的缺點(diǎn)。為了保證計(jì)算資源充分利用的前提下去提高整個(gè)模型的性能,作者使用了Inception模型,,這個(gè)模型在下圖中有展示,,可以看出這個(gè)有點(diǎn)像金字塔的模型在寬度上使用并聯(lián)的不同大小的卷積核,增加了卷積核的輸出寬度,。因?yàn)槭褂昧溯^大尺度的卷積核增加了參數(shù),。使用了1*1的卷積核就是為了使得參數(shù)的數(shù)量最少。 Inception模塊 上圖表格為網(wǎng)絡(luò)分析圖,,第一行為卷積層,,輸入為224×224×3 ,卷積核為7x7,,步長(zhǎng)為2,,padding為3,輸出的維度為112×112×64,,這里面的7x7卷積使用了 7×1 然后 1×7 的方式,,這樣便有(7+7)×64×3=2,688個(gè)參數(shù)。第二行為池化層,,卷積核為3×33×3,,滑動(dòng)步長(zhǎng)為2,padding為 1 ,,輸出維度:56×56×64,,計(jì)算方式:1/2×(112+2×1?3+1)=56。第三行,,第四行與第一行,,第二行類似。第 5 行 Inception module中分為4條支線,,輸入均為上層產(chǎn)生的 28×28×192 結(jié)果:第 1 部分,,1×1 卷積層,輸出大小為28×28×64,;第 2 部分,,先1×1卷積層,輸出大小為28×28×96,,作為輸入進(jìn)行3×3卷積層,,輸出大小為28×28×128;第 3部分,,先1×1卷積層,,輸出大小為28×28×32,作為輸入進(jìn)行3×3卷積層,,輸出大小為28×28×32,;而第3 部分3×3的池化層,,輸出大小為輸出大小為28×28×32。第5行的Inception module會(huì)對(duì)上面是個(gè)結(jié)果的輸出結(jié)果并聯(lián),,由此增加網(wǎng)絡(luò)寬度,。 ResNet2015年ImageNet大賽中,,MSRA何凱明團(tuán)隊(duì)的ResidualNetworks力壓群雄,,在ImageNet的諸多領(lǐng)域的比賽中上均獲得了第一名的好成績(jī),而且這篇關(guān)于ResNet的論文Deep Residual Learning for Image Recognition也獲得了CVPR2016的最佳論文,,實(shí)至而名歸,。 上文介紹了的VGG以及GoogleNet都是增加了卷積神經(jīng)網(wǎng)絡(luò)的深度來獲得更好效果,也讓人們明白了網(wǎng)絡(luò)的深度與廣度決定了訓(xùn)練的效果,。但是,,與此同時(shí),寬度與深度加深的同時(shí),,效果實(shí)際會(huì)慢慢變差,。也就是說模型的層次加深,錯(cuò)誤率提高了,。模型的深度加深,,以一定的錯(cuò)誤率來換取學(xué)習(xí)能力的增強(qiáng)。但是深層的神經(jīng)網(wǎng)絡(luò)模型犧牲了大量的計(jì)算資源,,學(xué)習(xí)能力提高的同時(shí)不應(yīng)當(dāng)產(chǎn)生比淺層神經(jīng)網(wǎng)絡(luò)更高的錯(cuò)誤率,。這個(gè)現(xiàn)象的產(chǎn)生主要是因?yàn)殡S著神經(jīng)網(wǎng)絡(luò)的層數(shù)增加,梯度消失的現(xiàn)象就越來越明顯,。所以為了解決這個(gè)問題,,作者提出了一個(gè)深度殘差網(wǎng)絡(luò)的結(jié)構(gòu)Residual: 上圖就是殘差網(wǎng)絡(luò)的基本結(jié)構(gòu),可以看出其實(shí)是增加了一個(gè)恒等映射,,將原本的變換函數(shù)H(x)轉(zhuǎn)換成了F(x)+x,。示意圖中可以很明顯看出來整個(gè)網(wǎng)絡(luò)的變化,這樣網(wǎng)絡(luò)不再是簡(jiǎn)單的堆疊結(jié)構(gòu),,這樣的話便很好地解決了由于網(wǎng)絡(luò)層數(shù)增加而帶來的梯度原來越不明顯的問題,。所以這時(shí)候網(wǎng)絡(luò)可以做得很深,到目前為止,,網(wǎng)絡(luò)的層數(shù)都可以上千層,,而能夠保證很好地效果。并且,,這樣的簡(jiǎn)單疊加并沒有給網(wǎng)絡(luò)增加額外的參數(shù)跟計(jì)算量,,同時(shí)也提高了網(wǎng)絡(luò)訓(xùn)練的效果與效率。 在比賽中,,為了證明自己觀點(diǎn)是正確的,,作者控制變量地設(shè)計(jì)幾個(gè)實(shí)驗(yàn)。首先作者構(gòu)建了兩個(gè)plain網(wǎng)絡(luò),這兩個(gè)網(wǎng)絡(luò)分別為18層跟34層,,隨后作者又設(shè)計(jì)了兩個(gè)殘差網(wǎng)絡(luò),,層數(shù)也是分別為18層和34層。然后對(duì)這四個(gè)模型進(jìn)行控制變量的實(shí)驗(yàn)觀察數(shù)據(jù)量的變化,。下圖便是實(shí)驗(yàn)結(jié)果,。實(shí)驗(yàn)中,在plain網(wǎng)絡(luò)上觀測(cè)到明顯的退化現(xiàn)象,。實(shí)驗(yàn)結(jié)果也表明,,在殘差網(wǎng)絡(luò)上,34層的效果明顯要好于18層的效果,,足以證明殘差網(wǎng)絡(luò)隨著層數(shù)增加性能也是增加的,。不僅如此,殘差網(wǎng)絡(luò)的在更深層的結(jié)構(gòu)上收斂性能也有明顯的提升,,整個(gè)實(shí)驗(yàn)大為成功,。 除此之外,作者還做了關(guān)于shortcut方式的實(shí)驗(yàn),,如果殘差網(wǎng)絡(luò)模塊的輸入輸出維度不一致,,我們?nèi)绻咕S度統(tǒng)一,必須要對(duì)維數(shù)較少的進(jìn)行増維,。而增維的最好效果是用0來填充,。不過實(shí)驗(yàn)數(shù)據(jù)顯示三者差距很小,所以線性投影并不是特別需要,。使用0來填充維度同時(shí)也保證了模型的復(fù)雜度控制在比較低的情況下,。 隨著實(shí)驗(yàn)的深入,作者又提出了更深的殘差模塊,。這種模型減少了各個(gè)層的參數(shù)量,,將資源留給更深層數(shù)的模型,在保證復(fù)雜度很低的情況下,,模型也沒有出現(xiàn)梯度消失很明顯的情況,,因此目前模型最高可達(dá)1202層,錯(cuò)誤率仍然控制得很低,。但是層數(shù)如此之多也帶來了過擬合的現(xiàn)象,,不過諸多研究者仍在改進(jìn)之中,畢竟此時(shí)的ResNet已經(jīng)相對(duì)于其他模型在性能上遙遙領(lǐng)先了,。 殘差網(wǎng)絡(luò)的精髓便是shortcut,。從一個(gè)角度來看,也可以解讀為多種路徑組合的一個(gè)網(wǎng)絡(luò),。如下圖: ResNet可以做到很深,,但是從上圖中可以體會(huì)到,,當(dāng)網(wǎng)絡(luò)很深,也就是層數(shù)很多時(shí),,數(shù)據(jù)傳輸?shù)穆窂狡鋵?shí)相對(duì)比較固定,。我們似乎也可以將其理解為一個(gè)多人投票系統(tǒng),大多數(shù)梯度都分布在論文中所謂的effective path上,。 DenseNet在Resnet模型之后,,有人試圖對(duì)ResNet模型進(jìn)行改進(jìn),由此便誕生了ResNeXt模型,。 這是對(duì)上面介紹的ResNet模型結(jié)合了GoogleNet中的inception模塊思想,,相比于Resnet來說更加有效,。隨后,,誕生了DenseNet模型,它直接將所有的模塊連接起來,,整個(gè)模型更加簡(jiǎn)單粗暴,。稠密相連成了它的主要特點(diǎn)。 我們將DenseNet與ResNet相比較: 從上圖中可以看出,,相比于ResNet,,DenseNet參數(shù)量明顯減少很多,效果也更加優(yōu)越,,只是DenseNet需要消耗更多的內(nèi)存,。 總結(jié)上面介紹了卷積神經(jīng)網(wǎng)絡(luò)發(fā)展史上比較著名的一些模型,這些模型非常經(jīng)典,,也各有優(yōu)勢(shì),。在算力不斷增強(qiáng)的現(xiàn)在,各種新的網(wǎng)絡(luò)訓(xùn)練的效率以及效果也在逐漸提高,。從收斂速度上看,,VGG>Inception>DenseNet>ResNet,從泛化能力來看,Inception>DenseNet=ResNet>VGG,,從運(yùn)算量看來,,Inception<DenseNet< ResNet<VGG,從內(nèi)存開銷來看,,Inception<ResNet< DenseNet<VGG,。在本次研究中,我們對(duì)各個(gè)模型均進(jìn)行了分析,,但從效果來看,,ResNet效果是最好的,優(yōu)于Inception,,優(yōu)于VGG,,所以我們第四章實(shí)驗(yàn)中主要采用谷歌的Inception模型,,也就是GoogleNet。 |
|