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

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

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

如何快速簡單地訓練神經(jīng)網(wǎng)絡?

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-06-27 14:11 ? 次閱讀

如何快速簡單地訓練神經(jīng)網(wǎng)絡?谷歌大腦研究人員研究了CNN的可訓練性,提出了一種簡單的初始化策略,不需要使用殘差連接或批標準化,就能訓練10000層的原始CNN。作者表示,他們的這項工作清除了在訓練任意深度的原始卷積網(wǎng)絡時存在的所有主要的障礙。

2015年,ResNet橫空出世,以令人難以置信的3.6%的錯誤率(人類水平為5-10%),贏得了當年ImageNet競賽冠軍,在圖像分類、目標檢測和語義分割各個分項都取得最好成績,152層順序堆疊的殘差模塊讓業(yè)界大為贊嘆。

此后,ResNet作為訓練“極”深網(wǎng)絡的簡單框架,得到了廣泛的應用,包括最強版本的AlphaGo——AlphaGo Zero。

此后,隨著神經(jīng)網(wǎng)絡向著更深、更大的規(guī)模發(fā)展,性能不斷提高的同時,也為訓練這樣的網(wǎng)絡帶來了越來越大的挑戰(zhàn)。雖然現(xiàn)在有類似谷歌AutoML的項目,將設計和優(yōu)化神經(jīng)網(wǎng)絡的工作,交給神經(jīng)網(wǎng)絡自己去做,而且效果還比人做得更好。但是,AI研究者還是在思考,為什么殘差連接、批標準化等方法,會有助于解決梯度消失或爆炸的問題。

在谷歌大腦研究人員發(fā)表于ICML 2018的論文《CNN動態(tài)等距和平均場論》(Dynamical Isometry and a Mean Field Theory of CNNs: How to Train 10,000-Layer Vanilla Convolutional Neural Networks)中,他們對CNN的可訓練性和信號在卷積網(wǎng)絡中的傳輸特點進行了研究,并拓展了此前關于深度學習平均場論(Mean Field Theory)的工作。

他們發(fā)現(xiàn),卷積核在空間上的分布情況扮演了很重要的角色:當使用在空間上均勻分布的卷積核對CNN做初始化時,CNN在深度上會表現(xiàn)得像全連接層;而使用在空間上不均勻分布的卷積核時,信號在深度網(wǎng)絡中就表現(xiàn)出了多種傳輸模式。

基于這一觀察,他們提出了一個簡單的初始化策略,能夠訓練10000層乃至更深的原始CNN結構。

不用殘差連接,也不用批標準化,只用一個簡單的初始化策略,就能訓練10000層深度的網(wǎng)絡。上圖為在MNIST數(shù)據(jù)集的結果,下圖是CIFAR10,實線是測試,訓練是訓練。來源:論文

作者表示,他們的這項工作提供了對殘差連接、批標準化等實踐方法的理論理解?!皻埐钸B接和批標準化(Batch Normalization)這些結構上的特征,可能在定義好的模型類(model class)中有著重要的作用,而不是僅僅簡單地能夠提高訓練的效率。”

CNN可以被訓練的深度,就是信號能完全通過的層數(shù)

在物理學和概率論中,平均場論(Mean Field Theory,MFT)是對大且復雜的隨機模型的一種簡化。未簡化前的模型通常包含數(shù)量巨大且存在相互作用的小個體。

平均場理論則做了這樣的近似:對于某個獨立的小個體,所有其他個體對它產(chǎn)生的作用可以用一個平均的量給出,這樣簡化后的模型就成了一個單體問題。

這種思想源于皮埃爾·居里(對,就是居里夫人的老公)和法國物理學家皮埃爾·外斯(Pierre-Ernest Weiss)對相變的研究?,F(xiàn)在,平均場論廣泛用于如傳染病模型、排隊論、計算機網(wǎng)絡性能和博弈論當中。

在深度學習領域,平均場論也得到了研究。這些研究都揭示了一點,那就是在初始化階段,信號能在網(wǎng)絡中傳輸?shù)纳疃却嬖谝粋€最大值,而深度網(wǎng)絡之所以能夠被訓練,恰恰是因為信號能夠全部通過這些層。

平均場論預測信號在網(wǎng)絡中傳輸深度存在一個最大值,這也就是網(wǎng)絡可以被訓練的深度

在這項工作中,作者基于平均場論開發(fā)了一個理論框架,研究深度CNN中信號的傳播情況。通過研究信號在網(wǎng)絡中向前和向后傳播而不衰減的必要條件,他們得出了一個初始化方案,在不對網(wǎng)絡的結構進行任優(yōu)化(比如做殘差連接、批標準化)的情況下,這個方案能幫助訓練超級深——10000乃至更深的原始CNN。

簡單初始化策略,訓練10000層原始CNN

那么,這個初始化方案是什么呢?先從結論說起,就是這個算法

這是一個生成隨機正交卷積核的算法,目的是為了實現(xiàn)動態(tài)等距(dynamical isometry)。

大家都知道,深度神經(jīng)網(wǎng)絡中權重的初始化會對學習速度有很大的影響。實際上,深度學習建立在這樣一個觀察之上,即無監(jiān)督的預訓練為隨后通過反向傳播進行的微調(diào)提供了一組好的初始權重。

這些隨機權重的初始化主要是由一個原理驅(qū)動,即深度網(wǎng)絡雅可比矩陣輸入-輸出的平均奇異值應該保持在1附近。這個條件意味著,隨機選擇的誤差向量在反向傳播時將保持其范數(shù)。由于誤差信息在網(wǎng)絡中進行忠實地、等距地反向傳播,因此這個條件就被稱為“動態(tài)等距”。

對深度線性網(wǎng)絡學習的非線性動力學的精確解進行理論分析后發(fā)現(xiàn),滿足了動態(tài)等距的權重初始化能夠大大提高學習速度。對于這樣的線性網(wǎng)絡,正交權重初始化實現(xiàn)了動態(tài)等距,并且它們的學習時間(以學習輪數(shù)的數(shù)量來衡量)變得與深度無關。

這表明深度網(wǎng)絡雅可比矩陣奇異值的整個分布形狀,會對學習速度產(chǎn)生巨大的影響。只有控制二階矩,避免指數(shù)級的梯度消失和爆炸,才能留下顯著的性能優(yōu)勢。

現(xiàn)在,最新的這項研究發(fā)現(xiàn),在卷積神經(jīng)網(wǎng)絡中也存在類似的情況。作者將要傳播的信號分解為獨立的傅里葉模式,促進這些信號進行均勻的傳播。由此證明了可以比較容易地訓練10000層或更多的原始CNN。

清除訓練任意深度原始CNN的所有主要障礙

ICLR 2017的一篇論文中,谷歌的研究人員,包括深度學習教父 Geoffrey Hinton 和谷歌技術大牛 Jeff Dean在內(nèi),提出了一個超大規(guī)模的神經(jīng)網(wǎng)絡——稀疏門控混合專家層(Sparsely-Gated Mixture-of-Experts layer,MoE)。

MoE 包含上萬個子網(wǎng)絡(也即“專家”),每個專家都有一個簡單的前饋神經(jīng)網(wǎng)絡和一個可訓練的門控網(wǎng)絡(gating network),門控網(wǎng)絡會選擇專家的一個稀疏組合來處理每個輸入。

嵌入在循環(huán)語言模型中的混合專家(Mixture of Experts,MoE)模塊。在這種情況下,稀疏門函數(shù)選擇兩個專家來執(zhí)行計算,它們的輸出由門控網(wǎng)絡的輸出控制。

最終的網(wǎng)絡雖然是含有1370億個參數(shù)的龐然大物,但由于實現(xiàn)了條件計算的好處,模型容量得到了超過1000倍的提升,而計算效率只有相對微小的損失。MoE在大規(guī)模語言建模和機器翻譯基準測試中,花費很小的計算力實現(xiàn)了性能的顯著提升。這項工作也是深度網(wǎng)絡條件計算在產(chǎn)業(yè)實踐中的首次成功。

2017年6月,F(xiàn)acebook人工智能實驗室與應用機器學習團隊合作,提出了一種新的方法,能夠大幅加速機器視覺任務的模型訓練過程,僅 1 小時就訓練完ImageNet這樣超大規(guī)模的數(shù)據(jù)集。Facebook 團隊提出的方法是增加一個新的預熱階段(a new warm-up phase),隨著時間的推移逐漸提高學習率和批量大小,從而幫助保持較小的批次的準確性。

現(xiàn)在,谷歌大腦的這項工作,提供了對這些實踐方法的理論理解。作者在論文中寫道,

我們的結果表明,我們已經(jīng)清除了在訓練任意深度的原始卷積網(wǎng)絡時存在的所有主要的障礙。在這樣做的過程中,我們也為解決深度學習社區(qū)中的一些突出問題奠定了基礎,例如單憑深度是否可以提高泛化性能。

我們的初步結果表明,在一定的深度上,在幾十或幾百層的這個數(shù)量級上,原始卷積結構的測試性能已經(jīng)飽和。

這些觀察結果表明,殘差連接和批標準化(Batch Normalization)這些結構上的特征,可能在定義好的模型類(model class)中有著重要的作用,而不是僅僅簡單地能夠提高訓練的效率。

這一發(fā)現(xiàn)對深度學習研究社區(qū)有著重大的意義。不用批標準化,也不用殘差連接,僅僅通過一個初始化函數(shù),就訓練10000層的原始CNN。

即使你不訓練10000層,這個初始化帶來的訓練速度提升也是可觀。

不過,作者目前只在MNIST和CIFAR10數(shù)據(jù)集上驗證了他們的結果,推廣到更大的數(shù)據(jù)集后情況會如何,還有待觀察。

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

    關注

    42

    文章

    4772

    瀏覽量

    100845
  • 深度學習
    +關注

    關注

    73

    文章

    5504

    瀏覽量

    121229
  • cnn
    cnn
    +關注

    關注

    3

    文章

    352

    瀏覽量

    22237

原文標題:【谷歌ICML】簡單初始化,訓練10000層CNN

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    人工神經(jīng)網(wǎng)絡原理及下載

    這個網(wǎng)絡輸入和相應的輸出來“訓練”這個網(wǎng)絡,網(wǎng)絡根據(jù)輸入和輸出不斷地調(diào)節(jié)自己的各節(jié)點之間的權值來滿足輸入和輸出。這樣,當訓練結束后,我們給定
    發(fā)表于 06-19 14:40

    神經(jīng)網(wǎng)絡教程(李亞非)

      第1章 概述  1.1 人工神經(jīng)網(wǎng)絡研究與發(fā)展  1.2 生物神經(jīng)元  1.3 人工神經(jīng)網(wǎng)絡的構成  第2章人工神經(jīng)網(wǎng)絡基本模型  2.1 MP模型  2.2 感知器模型  2.3
    發(fā)表于 03-20 11:32

    訓練好的神經(jīng)網(wǎng)絡用于應用的時候,權值是不是不能變了?

    訓練好的神經(jīng)網(wǎng)絡用于應用的時候,權值是不是不能變了????就是已經(jīng)訓練好的神經(jīng)網(wǎng)絡是不是相當于得到一個公式了,權值不能變了
    發(fā)表于 10-24 21:55

    請問Labveiw如何調(diào)用matlab訓練好的神經(jīng)網(wǎng)絡模型呢?

    我在matlab中訓練好了一個神經(jīng)網(wǎng)絡模型,想在labview中調(diào)用,請問應該怎么做呢?或者labview有自己的神經(jīng)網(wǎng)絡工具包嗎?
    發(fā)表于 07-05 17:32

    【案例分享】ART神經(jīng)網(wǎng)絡與SOM神經(jīng)網(wǎng)絡

    元,它決定了該輸入向量在地位空間中的位置。SOM神經(jīng)網(wǎng)絡訓練的目的就是為每個輸出層神經(jīng)元找到合適的權向量,以達到保持拓撲結構的目的。SOM的訓練過程其實很
    發(fā)表于 07-21 04:30

    簡單神經(jīng)網(wǎng)絡的實現(xiàn)

    簡單神經(jīng)網(wǎng)絡
    發(fā)表于 09-11 11:57

    【AI學習】第3篇--人工神經(jīng)網(wǎng)絡

    `本篇主要介紹:人工神經(jīng)網(wǎng)絡的起源、簡單神經(jīng)網(wǎng)絡模型、更多神經(jīng)網(wǎng)絡模型、機器學習的步驟:訓練與預測、訓練
    發(fā)表于 11-05 17:48

    基于光學芯片的神經(jīng)網(wǎng)絡訓練解析,不看肯定后悔

    基于光學芯片的神經(jīng)網(wǎng)絡訓練解析,不看肯定后悔
    發(fā)表于 06-21 06:33

    matlab實現(xiàn)神經(jīng)網(wǎng)絡 精選資料分享

    神經(jīng)神經(jīng)網(wǎng)絡,對于神經(jīng)網(wǎng)絡的實現(xiàn)是如何一直沒有具體實現(xiàn)一下:現(xiàn)看到一個簡單神經(jīng)網(wǎng)絡模型用于訓練
    發(fā)表于 08-18 07:25

    優(yōu)化神經(jīng)網(wǎng)絡訓練方法有哪些?

    優(yōu)化神經(jīng)網(wǎng)絡訓練方法有哪些?
    發(fā)表于 09-06 09:52

    如何進行高效的時序圖神經(jīng)網(wǎng)絡訓練

    現(xiàn)有的圖數(shù)據(jù)規(guī)模極大,導致時序圖神經(jīng)網(wǎng)絡訓練需要格外長的時間,因此使用多GPU進行訓練變得成為尤為重要,如何有效地將多GPU用于時序圖神經(jīng)網(wǎng)絡訓練
    發(fā)表于 09-28 10:37

    如何訓練和優(yōu)化神經(jīng)網(wǎng)絡

    神經(jīng)網(wǎng)絡是人工智能領域的重要分支,廣泛應用于圖像識別、自然語言處理、語音識別等多個領域。然而,要使神經(jīng)網(wǎng)絡在實際應用中取得良好效果,必須進行有效的訓練和優(yōu)化。本文將從神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-01 14:14 ?481次閱讀

    卷積神經(jīng)網(wǎng)絡訓練的是什么

    、訓練過程以及應用場景。 1. 卷積神經(jīng)網(wǎng)絡的基本概念 1.1 卷積神經(jīng)網(wǎng)絡的定義 卷積神經(jīng)網(wǎng)絡是一種前饋深度學習模型,其核心思想是利用卷積操作提取輸入數(shù)據(jù)的局部特征,并通過多層結構進
    的頭像 發(fā)表于 07-03 09:15 ?428次閱讀

    怎么對神經(jīng)網(wǎng)絡重新訓練

    重新訓練神經(jīng)網(wǎng)絡是一個復雜的過程,涉及到多個步驟和考慮因素。 引言 神經(jīng)網(wǎng)絡是一種強大的機器學習模型,廣泛應用于圖像識別、自然語言處理、語音識別等領域。然而,隨著時間的推移,數(shù)據(jù)分布可能會
    的頭像 發(fā)表于 07-11 10:25 ?472次閱讀

    脈沖神經(jīng)網(wǎng)絡怎么訓練

    脈沖神經(jīng)網(wǎng)絡(SNN, Spiking Neural Network)的訓練是一個復雜但充滿挑戰(zhàn)的過程,它模擬了生物神經(jīng)元通過脈沖(或稱為尖峰)進行信息傳遞的方式。以下是對脈沖神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-12 10:13 ?627次閱讀