0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

14種模型設(shè)計(jì)幫你改進(jìn)你的卷積神經(jīng)網(wǎng)絡(luò)(CNN)

Hx ? 作者:工程師陳翠 ? 2018-06-26 12:06 ? 次閱讀

自2011年以來,深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像分類的工作中的表現(xiàn)就明顯優(yōu)于人類,它們已經(jīng)成為在計(jì)算機(jī)視覺領(lǐng)域的一種標(biāo)準(zhǔn),如圖像分割,對(duì)象檢測(cè),場(chǎng)景標(biāo)記,跟蹤,文本檢測(cè)等。

但,想要熟練掌握訓(xùn)練神經(jīng)網(wǎng)絡(luò)的能力并不是那么容易。與先前的機(jī)器學(xué)習(xí)思維一樣,細(xì)節(jié)決定成敗。但是,訓(xùn)練神經(jīng)網(wǎng)絡(luò)有更多的細(xì)節(jié)需要處理。你的數(shù)據(jù)和硬件有什么限制?你應(yīng)該是從何種網(wǎng)絡(luò)開始?你應(yīng)該建立多少與卷積層相對(duì)的密集層?你的激勵(lì)函數(shù)怎樣去設(shè)置?即使你使用了最流行的激活函數(shù),你也必須要用常規(guī)激活函數(shù)。

學(xué)習(xí)速率是調(diào)整神經(jīng)網(wǎng)絡(luò)訓(xùn)練最重要的超參數(shù),也是最難優(yōu)化的參數(shù)之一。太小,你可能永遠(yuǎn)不會(huì)得到一個(gè)解決方案;太大,你可能剛好錯(cuò)過最優(yōu)解。如果用自適應(yīng)的學(xué)習(xí)速率的方法,這就意味著你要花很多錢在硬件資源上,以此來滿足對(duì)計(jì)算的需求。

設(shè)計(jì)選擇和超參數(shù)的設(shè)置極大地影響了CNN的訓(xùn)練和性能,但對(duì)于深度學(xué)習(xí)領(lǐng)域新進(jìn)入者來說,設(shè)計(jì)架構(gòu)直覺的培養(yǎng)可能就需要資源的稀缺性和分散性。

14種模型設(shè)計(jì)幫你改進(jìn)你的卷積神經(jīng)網(wǎng)絡(luò)(CNN)

《神經(jīng)網(wǎng)絡(luò):權(quán)衡技巧》是一本主要著重于實(shí)際調(diào)優(yōu)的書,出版于2003年,并在2012年再版。而深度學(xué)習(xí)的火爆始于2012年《紐約時(shí)報(bào)》報(bào)道的Geoffrey Hinton 的團(tuán)隊(duì)在 Merck Drug Discovery Challenge 上的驚人成功。然而,最近幾年最先進(jìn)的研究成果卻消失了。
幸運(yùn)的是,美國(guó)海軍研究室的研究員 Leslie Smith發(fā)表了關(guān)于CNN架構(gòu)改進(jìn)和技術(shù)提升的系統(tǒng)性研究。下面是他所強(qiáng)調(diào)的最重要的一些設(shè)計(jì)模式

14種圖像分類的CNN設(shè)計(jì)模式

1) 架構(gòu)遵循應(yīng)用
你也許會(huì)被 Google Brain 或者 Deep Mind 這些有想象力的實(shí)驗(yàn)室所發(fā)明的那些耀眼的新模型所吸引,但是其中許多要么是不可能實(shí)現(xiàn)的,要么是不實(shí)用的對(duì)于你的需求?;蛟S你應(yīng)該使用對(duì)你的特定應(yīng)用最有意義的模型,這種模型或許非常簡(jiǎn)單,但是仍然很強(qiáng)大,例如 VGG。

14種模型設(shè)計(jì)幫你改進(jìn)你的卷積神經(jīng)網(wǎng)絡(luò)(CNN)

2) 路徑的激增

每年ImageNet Challenge的贏家都比上一年的冠軍使用更加深層的網(wǎng)絡(luò)。從AlexNet 到Inception到Resnets,Smith和他的團(tuán)隊(duì)也觀察到“網(wǎng)絡(luò)的路徑數(shù)量成倍增長(zhǎng)”的趨勢(shì),而且,ResNet可以是不同長(zhǎng)度的網(wǎng)絡(luò)的指數(shù)集合。

3) 追求簡(jiǎn)約

更大的并不一定是更好的。在名為“Bigger is not necessarily better”的論文中,Springenberg 等人演示了如何用更少的單元實(shí)現(xiàn)最先進(jìn)的結(jié)果。

4)增加對(duì)稱性

無論是在建筑上,還是在生物上,對(duì)稱性被認(rèn)為是質(zhì)量和工藝的標(biāo)志。Smith 將 FractalNet 的優(yōu)雅歸功于網(wǎng)絡(luò)的對(duì)稱性。

5) 金字塔形狀

你總是在表征能力和減少冗余或者無用信息之間權(quán)衡。CNNs通常會(huì)降低激活函數(shù)的采樣,并會(huì)增加從輸入層到最終層之間的連接通道。

6) 過渡訓(xùn)練

另一個(gè)權(quán)衡是訓(xùn)練準(zhǔn)確度和泛化能力。用正則化的方法類似 drop-out 或 drop-path進(jìn)行提升泛化能力,這是神經(jīng)網(wǎng)絡(luò)的重要優(yōu)勢(shì)。用比實(shí)際用例更難的問題訓(xùn)練你的網(wǎng)絡(luò),以提高泛化性能。

7) 覆蓋問題的空間

為了擴(kuò)大你的訓(xùn)練數(shù)據(jù)和提升泛化能力,要使用噪聲和人工增加訓(xùn)練集的大小,例如隨機(jī)旋轉(zhuǎn)、裁剪和一些圖像操作。

8) 遞增的功能結(jié)構(gòu)

當(dāng)架構(gòu)變得成功時(shí),它們會(huì)簡(jiǎn)化每一層的“工作”。在非常深的神經(jīng)網(wǎng)絡(luò)中,每個(gè) 層只會(huì)遞增地修改輸入。在ResNets中,每一層的輸出可能類似于輸入。所以,在 實(shí)踐中,請(qǐng)?jiān)赗esNet中使用短的跳過長(zhǎng)度。

9) 標(biāo)準(zhǔn)化層的輸入

標(biāo)準(zhǔn)化是可以使計(jì)算層的工作變得更加容易的一條捷徑,并且在實(shí)際中可以提升訓(xùn)練的準(zhǔn)確性。批量標(biāo)準(zhǔn)化的發(fā)明者認(rèn)為標(biāo)準(zhǔn)化發(fā)揮作用的原因在于處理內(nèi)部的協(xié)變量,但Smith 認(rèn)為,“標(biāo)準(zhǔn)化把所有層的輸入樣本放在了一個(gè)平等的基礎(chǔ)上(類似于單位轉(zhuǎn)換),這允許反向傳播可以更有效地訓(xùn)練”。

10)輸入變換

研究表明,在Wide ResNets中,性能隨著通道數(shù)量的增加而提升,但是要權(quán)衡訓(xùn)練成本與準(zhǔn)確性。AlexNet,VGG,Inception和ResNets都是在第一層中進(jìn)行輸入變換,以保證多種方式檢查輸入數(shù)據(jù)。

11)可用的資源決定層寬度

可供選擇的輸出數(shù)量并不明顯,相應(yīng)的是,這取決于您的硬件功能和所需的準(zhǔn)確性。

12)Summation joining

Summation是一種流行的合并分支的方式。在 ResNets 中,使用求和作為連接機(jī)制可以讓每一個(gè)分支都能計(jì)算殘差和整體近似。如果輸入跳躍連接始終存在,那么Summation會(huì)讓每一層學(xué)到正確地東西(例如:輸入的差別)。在任何分支都可以被丟棄的網(wǎng)絡(luò)(例如 FractalNet)中,你應(yīng)該使用這種方式保持輸出的平滑。

13)下采樣變換

在匯聚的時(shí)候,利用級(jí)聯(lián)連接來增加輸出的數(shù)量。當(dāng)使用大于1的步幅時(shí),這會(huì)同時(shí)處理加入并增加通道的數(shù)量。

14)用于競(jìng)爭(zhēng)的Maxout

Maxout 用在只需要選擇一個(gè)激活函數(shù)的局部競(jìng)爭(zhēng)網(wǎng)絡(luò)中。用的方法包含所有的激活函數(shù),不同之處在于 maxout 只選擇一個(gè)“勝出者”。Maxout 的一個(gè)明顯的用例是每個(gè)分支具有不同大小的內(nèi)核,而 Maxout 可以尺度不變。

提示&技巧

除了這些設(shè)計(jì)模式,還有幾個(gè)技巧和訣竅,以減少架構(gòu)復(fù)雜性和培訓(xùn)時(shí)間。

1)使用細(xì)調(diào)過的預(yù)訓(xùn)練網(wǎng)絡(luò)

機(jī)器學(xué)習(xí)公司 Diffbot 的 CEO Mike Tung 說,“如果你的視覺數(shù)據(jù)和 ImageNet 相似,那么用預(yù)訓(xùn)練網(wǎng)絡(luò)會(huì)幫助你學(xué)習(xí)得更快”。低水平的CNN通常可以被重復(fù)使用,因?yàn)樗鼈兇蠖嗄軌驒z測(cè)到像線條和邊緣這些常見的模式。用你自己的層替換分類層,并且用你特定的數(shù)據(jù)去訓(xùn)練最后的幾個(gè)層。

2)使用 freeze-drop-path

Drop-path 會(huì)在迭代訓(xùn)練的過程中隨機(jī)地刪除一些分支。Smith 測(cè)試了一種相反的方法,被稱為 freeze-path,就是一些路徑的權(quán)重是固定的、不可訓(xùn)練的,而不是整體刪除。該網(wǎng)絡(luò)可能會(huì)獲得更高的精度,因?yàn)橄乱粋€(gè)分支比以前的分支包含更多的層,并且修正項(xiàng)更容易得到。

3)使用循環(huán)的學(xué)習(xí)率

學(xué)習(xí)率的實(shí)驗(yàn)會(huì)消耗大量的時(shí)間,并且會(huì)讓你遇到錯(cuò)誤。自適應(yīng)學(xué)習(xí)率在計(jì)算上可能是非常昂貴的,但是循環(huán)學(xué)習(xí)率不會(huì)。使用循環(huán)學(xué)習(xí)率時(shí),你可以設(shè)置一組最大最小邊界,并且在這個(gè)范圍改變它。Smith 在論文中提供了計(jì)算學(xué)習(xí)率的最大值和最小值的方法。

4)在有噪聲的標(biāo)簽中使用 bootstrapping

在實(shí)踐中,很多數(shù)據(jù)都是混亂的,標(biāo)簽都是主觀性的或是缺失的,而且目標(biāo)有可能是從未遇到過的。Reed 等人在文章中描述了一種給網(wǎng)絡(luò)預(yù)測(cè)目標(biāo)注入一致性的方法。直觀地講,這可以實(shí)現(xiàn),通過網(wǎng)絡(luò)對(duì)環(huán)境的已知表示(隱含在參數(shù)中)來過濾可能具有不一致的訓(xùn)練標(biāo)簽的輸入數(shù)據(jù),并在訓(xùn)練時(shí)清理該數(shù)據(jù)。

5)用有 Maxout 的 ELUs,而不是 ReLUs

ELUs是 ReLUs 的一個(gè)相對(duì)平滑的版本,它能加速收斂并提高準(zhǔn)確度。研究調(diào)查表明,與 ReLUs 不同,ELUs 擁有負(fù)值,這就能允許它們以更低的計(jì)算復(fù)雜度將平均單位激活推向更加接近0的值,就像批量標(biāo)準(zhǔn)化一樣。如果您使用具有全連接層的 Maxout,它們是特別有效的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    卷積神經(jīng)網(wǎng)絡(luò)如何使用

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡(luò)在工程上經(jīng)歷了曲折的歷史,您為什么還會(huì)在意它呢? 對(duì)于這些非常中肯的問題,我們似乎可以給出相對(duì)簡(jiǎn)明的答案。
    發(fā)表于 07-17 07:21

    卷積神經(jīng)網(wǎng)絡(luò)CNN介紹

    【深度學(xué)習(xí)】卷積神經(jīng)網(wǎng)絡(luò)CNN
    發(fā)表于 06-14 18:55

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    十余年來快速發(fā)展的嶄新領(lǐng)域,越來越受到研究者的關(guān)注。卷積神經(jīng)網(wǎng)絡(luò)CNN模型是深度學(xué)習(xí)模型中最重要的一
    發(fā)表于 08-02 10:39

    卷積神經(jīng)網(wǎng)絡(luò)CNN圖解

    之前在網(wǎng)上搜索了好多好多關(guān)于CNN的文章,由于網(wǎng)絡(luò)上的文章很多斷章取義或者描述不清晰,看了很多youtobe上面的教學(xué)視頻還是沒有弄懂,最后經(jīng)過痛苦漫長(zhǎng)的煎熬之后對(duì)于神經(jīng)網(wǎng)絡(luò)卷積有了
    發(fā)表于 11-16 13:18 ?5.7w次閱讀
    <b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b><b class='flag-5'>CNN</b>圖解

    卷積神經(jīng)網(wǎng)絡(luò)CNN架構(gòu)分析-LeNet

    對(duì)于神經(jīng)網(wǎng)絡(luò)卷積有了粗淺的了解,關(guān)于CNN 卷積神經(jīng)網(wǎng)絡(luò),需要總結(jié)深入的知識(shí)有很多:人工神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 11-16 13:28 ?2691次閱讀
    <b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b><b class='flag-5'>CNN</b>架構(gòu)分析-LeNet

    卷積神經(jīng)網(wǎng)絡(luò)原理:卷積神經(jīng)網(wǎng)絡(luò)模型卷積神經(jīng)網(wǎng)絡(luò)算法

    卷積神經(jīng)網(wǎng)絡(luò)原理:卷積神經(jīng)網(wǎng)絡(luò)模型卷積神經(jīng)網(wǎng)絡(luò)算法
    的頭像 發(fā)表于 08-17 16:30 ?1266次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn) cnn卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn) cnn卷積神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 08-21 16:41 ?2601次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型有哪些?卷積神經(jīng)網(wǎng)絡(luò)包括哪幾層內(nèi)容?

    卷積神經(jīng)網(wǎng)絡(luò)模型有哪些?卷積神經(jīng)網(wǎng)絡(luò)包括哪幾層內(nèi)容? 卷積
    的頭像 發(fā)表于 08-21 16:41 ?1787次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的介紹 什么是卷積神經(jīng)網(wǎng)絡(luò)算法

    的深度學(xué)習(xí)算法。CNN模型最早被提出是為了處理圖像,其模型結(jié)構(gòu)中包含卷積層、池化層和全連接層等關(guān)鍵技術(shù),經(jīng)過多個(gè)卷積層和池化層的處理,
    的頭像 發(fā)表于 08-21 16:49 ?1697次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型 生成
    的頭像 發(fā)表于 08-21 17:11 ?1048次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)

    卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)? 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CN
    的頭像 發(fā)表于 08-21 17:15 ?3860次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)原理 cnn卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)是什么

    cnn卷積神經(jīng)網(wǎng)絡(luò)原理 cnn卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)是什么?
    的頭像 發(fā)表于 08-21 17:15 ?1433次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)算法 cnn卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)算法 cnn卷積神經(jīng)網(wǎng)絡(luò)模型
    的頭像 發(fā)表于 08-21 17:15 ?1766次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介 cnn卷積神經(jīng)網(wǎng)絡(luò)代碼

    cnn卷積神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介 cnn卷積神經(jīng)網(wǎng)絡(luò)代碼 卷積
    的頭像 發(fā)表于 08-21 17:16 ?2435次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)分類有哪些

    卷積神經(jīng)網(wǎng)絡(luò)CNN)是一深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像分類、目標(biāo)檢測(cè)、語(yǔ)義分割等領(lǐng)域。本文將詳細(xì)介紹C
    的頭像 發(fā)表于 07-03 09:28 ?318次閱讀