精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

14種模型設計幫你改進你的卷積神經網絡(CNN)

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

自2011年以來,深度卷積神經網絡(CNN)在圖像分類的工作中的表現就明顯優于人類,它們已經成為在計算機視覺領域的一種標準,如圖像分割,對象檢測,場景標記,跟蹤,文本檢測等。

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

學習速率是調整神經網絡訓練最重要的超參數,也是最難優化的參數之一。太小,你可能永遠不會得到一個解決方案;太大,你可能剛好錯過最優解。如果用自適應的學習速率的方法,這就意味著你要花很多錢在硬件資源上,以此來滿足對計算的需求。

設計選擇和超參數的設置極大地影響了CNN的訓練和性能,但對于深度學習領域新進入者來說,設計架構直覺的培養可能就需要資源的稀缺性和分散性。

14種模型設計幫你改進你的卷積神經網絡(CNN)

《神經網絡:權衡技巧》是一本主要著重于實際調優的書,出版于2003年,并在2012年再版。而深度學習的火爆始于2012年《紐約時報》報道的Geoffrey Hinton 的團隊在 Merck Drug Discovery Challenge 上的驚人成功。然而,最近幾年最先進的研究成果卻消失了。
幸運的是,美國海軍研究室的研究員 Leslie Smith發表了關于CNN架構改進和技術提升的系統性研究。下面是他所強調的最重要的一些設計模式

14種圖像分類的CNN設計模式

1) 架構遵循應用
你也許會被 Google Brain 或者 Deep Mind 這些有想象力的實驗室所發明的那些耀眼的新模型所吸引,但是其中許多要么是不可能實現的,要么是不實用的對于你的需求。或許你應該使用對你的特定應用最有意義的模型,這種模型或許非常簡單,但是仍然很強大,例如 VGG。

14種模型設計幫你改進你的卷積神經網絡(CNN)

2) 路徑的激增

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

3) 追求簡約

更大的并不一定是更好的。在名為“Bigger is not necessarily better”的論文中,Springenberg 等人演示了如何用更少的單元實現最先進的結果。

4)增加對稱性

無論是在建筑上,還是在生物上,對稱性被認為是質量和工藝的標志。Smith 將 FractalNet 的優雅歸功于網絡的對稱性。

5) 金字塔形狀

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

6) 過渡訓練

另一個權衡是訓練準確度和泛化能力。用正則化的方法類似 drop-out 或 drop-path進行提升泛化能力,這是神經網絡的重要優勢。用比實際用例更難的問題訓練你的網絡,以提高泛化性能。

7) 覆蓋問題的空間

為了擴大你的訓練數據和提升泛化能力,要使用噪聲和人工增加訓練集的大小,例如隨機旋轉、裁剪和一些圖像操作。

8) 遞增的功能結構

當架構變得成功時,它們會簡化每一層的“工作”。在非常深的神經網絡中,每個 層只會遞增地修改輸入。在ResNets中,每一層的輸出可能類似于輸入。所以,在 實踐中,請在ResNet中使用短的跳過長度。

9) 標準化層的輸入

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

10)輸入變換

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

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

可供選擇的輸出數量并不明顯,相應的是,這取決于您的硬件功能和所需的準確性。

12)Summation joining

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

13)下采樣變換

在匯聚的時候,利用級聯連接來增加輸出的數量。當使用大于1的步幅時,這會同時處理加入并增加通道的數量。

14)用于競爭的Maxout

Maxout 用在只需要選擇一個激活函數的局部競爭網絡中。用的方法包含所有的激活函數,不同之處在于 maxout 只選擇一個“勝出者”。Maxout 的一個明顯的用例是每個分支具有不同大小的內核,而 Maxout 可以尺度不變。

提示&技巧

除了這些設計模式,還有幾個技巧和訣竅,以減少架構復雜性和培訓時間。

1)使用細調過的預訓練網絡

機器學習公司 Diffbot 的 CEO Mike Tung 說,“如果你的視覺數據和 ImageNet 相似,那么用預訓練網絡會幫助你學習得更快”。低水平的CNN通常可以被重復使用,因為它們大多能夠檢測到像線條和邊緣這些常見的模式。用你自己的層替換分類層,并且用你特定的數據去訓練最后的幾個層。

2)使用 freeze-drop-path

Drop-path 會在迭代訓練的過程中隨機地刪除一些分支。Smith 測試了一種相反的方法,被稱為 freeze-path,就是一些路徑的權重是固定的、不可訓練的,而不是整體刪除。該網絡可能會獲得更高的精度,因為下一個分支比以前的分支包含更多的層,并且修正項更容易得到。

3)使用循環的學習率

學習率的實驗會消耗大量的時間,并且會讓你遇到錯誤。自適應學習率在計算上可能是非常昂貴的,但是循環學習率不會。使用循環學習率時,你可以設置一組最大最小邊界,并且在這個范圍改變它。Smith 在論文中提供了計算學習率的最大值和最小值的方法。

4)在有噪聲的標簽中使用 bootstrapping

在實踐中,很多數據都是混亂的,標簽都是主觀性的或是缺失的,而且目標有可能是從未遇到過的。Reed 等人在文章中描述了一種給網絡預測目標注入一致性的方法。直觀地講,這可以實現,通過網絡對環境的已知表示(隱含在參數中)來過濾可能具有不一致的訓練標簽的輸入數據,并在訓練時清理該數據。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4765

    瀏覽量

    100566
收藏 人收藏

    評論

    相關推薦

    卷積神經網絡如何使用

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

    卷積神經網絡CNN介紹

    【深度學習】卷積神經網絡CNN
    發表于 06-14 18:55

    卷積神經網絡模型發展及應用

    十余年來快速發展的嶄新領域,越來越受到研究者的關注。卷積神經網絡CNN模型是深度學習模型中最重要的一
    發表于 08-02 10:39

    卷積神經網絡CNN圖解

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

    卷積神經網絡CNN架構分析-LeNet

    對于神經網絡卷積有了粗淺的了解,關于CNN 卷積神經網絡,需要總結深入的知識有很多:人工神經網絡
    發表于 11-16 13:28 ?2751次閱讀
    <b class='flag-5'>卷積</b><b class='flag-5'>神經網絡</b><b class='flag-5'>CNN</b>架構分析-LeNet

    卷積神經網絡原理:卷積神經網絡模型卷積神經網絡算法

    卷積神經網絡原理:卷積神經網絡模型卷積神經網絡算法
    的頭像 發表于 08-17 16:30 ?1428次閱讀

    卷積神經網絡概述 卷積神經網絡的特點 cnn卷積神經網絡的優點

    卷積神經網絡概述 卷積神經網絡的特點 cnn卷積神經網絡
    的頭像 發表于 08-21 16:41 ?2850次閱讀

    卷積神經網絡模型有哪些?卷積神經網絡包括哪幾層內容?

    卷積神經網絡模型有哪些?卷積神經網絡包括哪幾層內容? 卷積
    的頭像 發表于 08-21 16:41 ?1889次閱讀

    卷積神經網絡的介紹 什么是卷積神經網絡算法

    的深度學習算法。CNN模型最早被提出是為了處理圖像,其模型結構中包含卷積層、池化層和全連接層等關鍵技術,經過多個卷積層和池化層的處理,
    的頭像 發表于 08-21 16:49 ?1825次閱讀

    cnn卷積神經網絡模型 卷積神經網絡預測模型 生成卷積神經網絡模型

    cnn卷積神經網絡模型 卷積神經網絡預測模型 生成
    的頭像 發表于 08-21 17:11 ?1211次閱讀

    卷積神經網絡模型的優缺點

    卷積神經網絡模型的優缺點? 卷積神經網絡(Convolutional Neural Network,CN
    的頭像 發表于 08-21 17:15 ?4300次閱讀

    cnn卷積神經網絡原理 cnn卷積神經網絡的特點是什么

    cnn卷積神經網絡原理 cnn卷積神經網絡的特點是什么?
    的頭像 發表于 08-21 17:15 ?1578次閱讀

    cnn卷積神經網絡算法 cnn卷積神經網絡模型

    cnn卷積神經網絡算法 cnn卷積神經網絡模型
    的頭像 發表于 08-21 17:15 ?2032次閱讀

    cnn卷積神經網絡簡介 cnn卷積神經網絡代碼

    cnn卷積神經網絡簡介 cnn卷積神經網絡代碼 卷積
    的頭像 發表于 08-21 17:16 ?2632次閱讀

    cnn卷積神經網絡分類有哪些

    卷積神經網絡CNN)是一深度學習模型,廣泛應用于圖像分類、目標檢測、語義分割等領域。本文將詳細介紹C
    的頭像 發表于 07-03 09:28 ?579次閱讀