作者:Sergey Ioffe Christian Szegedy 翻譯:七月在線DL翻譯組 譯者:陳媛媛 管楓 任遠(yuǎn)航 責(zé)編:翟惠良 July 聲明:本譯文僅供學(xué)習(xí)交流,,有任何翻譯不當(dāng)之處,,敬請(qǐng)留言指正。轉(zhuǎn)載請(qǐng)注明出處,。 原文:https:///pdf/1502.03167v3.pdf ——前言: 我們將訓(xùn)練過程中深度網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)分布的變化作為內(nèi)部協(xié)變量轉(zhuǎn)移,,消除它可以提供一個(gè)更快的訓(xùn)練,對(duì)此我們提出了一個(gè)新的機(jī)制——批量歸一化,,它將減少內(nèi)部協(xié)變量轉(zhuǎn)移,,這樣做可以大大地加快深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。 緒論 在深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,,先前層參數(shù)的調(diào)整會(huì)導(dǎo)致之后每一層輸入值的分布發(fā)生變化,,這種現(xiàn)象使模型的訓(xùn)練變得很復(fù)雜。所以在深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練中,,通常需要仔細(xì)選取初始參數(shù)并采取較小的學(xué)習(xí)率,,這不但導(dǎo)致模型訓(xùn)練的效率低下,而且使得飽和非線性模型的訓(xùn)練極為困難,。我們把這種現(xiàn)象稱為內(nèi)部協(xié)變量轉(zhuǎn)移(covariate shift),,并通過歸一化(normalizing)每層的輸入來解決這個(gè)問題。我們方法的強(qiáng)大之處在于把歸一化的步驟作為模型訓(xùn)練架構(gòu)的一部分來實(shí)現(xiàn), 并且對(duì)每個(gè)訓(xùn)練小批量都執(zhí)行歸一化操作,。批量歸一化允許我們使用很高的學(xué)習(xí)率并且對(duì)初始化不太在意,。它在一定情況下也可以起到正則化的作用,并減輕了對(duì)Dropout的需求,。我們?cè)谧钕冗M(jìn)的圖像分類模型中使用批量歸一化法,,在減少了14倍訓(xùn)練步驟的情況下實(shí)現(xiàn)了與原模型相同的精度,并以顯著增量擊敗了原始模型,。我們使用批量歸一化的網(wǎng)絡(luò)模型,,增強(qiáng)了在ImageNet分類上發(fā)布的最佳結(jié)果:獲得了4.9%前5驗(yàn)證誤差(和4.8%測(cè)試誤差),這超出了人類評(píng)估者的準(zhǔn)確率,。 1 簡(jiǎn)介 深度學(xué)習(xí)極大地提升了視覺,,語(yǔ)言和許多其他領(lǐng)域。隨機(jī)梯度下降(SGD)已經(jīng)被證明是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一個(gè)有效的方法,,并且隨機(jī)梯度下降變種方法如動(dòng)量和Adagrad已經(jīng)被用來獲得最先進(jìn)的性能,。 使用小批量的樣本,而不是一次一個(gè)樣本,,在幾個(gè)方面是有幫助的,。首先,小批量上的損失梯度是訓(xùn)練集上梯度的一個(gè)估計(jì),,其質(zhì)量隨著批量大小的增加而提高,。第二,由于現(xiàn)代計(jì)算平臺(tái)提供的并行性,,對(duì)一個(gè)批量的計(jì)算比每個(gè)樣本m次計(jì)算更有效,。 雖然隨機(jī)梯度是簡(jiǎn)單有效的,但是它需要仔細(xì)調(diào)整模型超參數(shù),,特別是使用在優(yōu)化中的學(xué)習(xí)率以及模型參數(shù)的初始值,。由于每層的輸入受所有先前層的參數(shù)影響的事實(shí),使訓(xùn)練復(fù)雜化,,以致于網(wǎng)絡(luò)參數(shù)的小變化隨著網(wǎng)絡(luò)變得更深而放大,。 由于層需要不斷地適應(yīng)新的分布,層輸入的分布的變化提出了一個(gè)問題,。當(dāng)一個(gè)學(xué)習(xí)系統(tǒng)的輸入分布改變時(shí),,也就認(rèn)為經(jīng)歷了協(xié)變量移位,這個(gè)通常通過領(lǐng)域適應(yīng)(domainadaptation)來處理,。但是,,協(xié)變量移位的概念可以作為一個(gè)整體延伸超出學(xué)習(xí)系統(tǒng),適用于他自身的部分,,比如子網(wǎng)絡(luò)或者一個(gè)層,。設(shè)想一個(gè)計(jì)算如下公式的網(wǎng)絡(luò): 例如,一個(gè)梯度下降步驟: 因此,,輸入分布的屬性使得訓(xùn)練更有效——比如在訓(xùn)練和測(cè)試數(shù)據(jù)之間有相同的分布——也適用于子網(wǎng)絡(luò)的訓(xùn)練,。因此有利于X的分布隨時(shí)間保持不變。 固定一個(gè)子網(wǎng)絡(luò)輸入的分布將對(duì)子網(wǎng)絡(luò)外的層產(chǎn)生積極的影響,。用一個(gè)sigmoid激活函數(shù)z=g(Wu b)考慮一個(gè)層,,其中u是層輸入,權(quán)重矩陣U和閾值是學(xué)習(xí)的層參數(shù),,因?yàn)閄是受W,,b和下面所有層參數(shù)的影響,在訓(xùn)練期間對(duì)這些參數(shù)的改變將可能將X的許多維度移動(dòng)到非線性的飽和狀態(tài)并且收斂減慢,。這種效果是隨著網(wǎng)絡(luò)的深度的增加而放大的,。在實(shí)際應(yīng)用中,飽和問題(saturationproblem)和導(dǎo)致的消失梯度通常通過使用Rectified Linear Units(ReLU)來解決,。ReLU(x)=max(x,0),,仔細(xì)的初始化和小的學(xué)習(xí)率,。然而,如果我們可以確保非線性輸入的分布在網(wǎng)絡(luò)訓(xùn)練時(shí)保持更加穩(wěn)定,,那么優(yōu)化將不太可能在飽和狀態(tài)中停滯,,并且訓(xùn)練將加速。 我們將訓(xùn)練過程中深度網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)分布的變化作為內(nèi)部協(xié)變量轉(zhuǎn)移,,消除它可以提供一個(gè)更快的訓(xùn)練,,對(duì)此我們提出了一個(gè)新的機(jī)制——批量歸一化,它將減少內(nèi)部協(xié)變量轉(zhuǎn)移,,這樣做可以大大地加快深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,。它通過一個(gè)歸一化步驟——固定層輸入的平均值和方差不變來實(shí)現(xiàn)。通過減少梯度對(duì)參數(shù)規(guī)?;蚱涑跏贾档囊蕾囆?,批量歸一化還對(duì)網(wǎng)絡(luò)的梯度流動(dòng)具有有效的效果,這就允許我們?cè)跊]有發(fā)散的風(fēng)險(xiǎn)下使用更高的學(xué)習(xí)率,。此外,,批量歸一化正則化模型可以減少對(duì)Dropout的需求。最后,,通過防止網(wǎng)絡(luò)陷入飽和模式使得批量歸一化可以使用飽和非線性,。 在實(shí)驗(yàn)過程中,我們將批量歸一化運(yùn)用到性能最佳的ImageNet分類網(wǎng)絡(luò),,結(jié)果表明我們可以只使用7%的訓(xùn)練步驟去匹配其性能,,并且可以進(jìn)一步大幅度的超過其精確度。使用用批量歸一化訓(xùn)練的這種網(wǎng)絡(luò)集合,,我們可以獲得前5的誤差率,,它增強(qiáng)了在ImageNet上已知的最佳結(jié)果。 2 減少內(nèi)部協(xié)變量轉(zhuǎn)移 我們把在訓(xùn)練期間由于網(wǎng)絡(luò)參數(shù)的變化而造成的網(wǎng)絡(luò)激活函數(shù)輸出值分布的變化定義為內(nèi)部協(xié)變量轉(zhuǎn)移,。為了增強(qiáng)訓(xùn)練,,我們要尋求減少內(nèi)部協(xié)變量轉(zhuǎn)移。我們期待通過在訓(xùn)練過程中保持層輸入X的分布來提高訓(xùn)練速度,。眾所周知如果層輸入被白化(whitened),,也就是說把層輸入線性變換為零均值和單位方差并且去相關(guān),則網(wǎng)絡(luò)訓(xùn)練就會(huì)收斂得更快,。由于每層的輸入是由下面層產(chǎn)生的輸出,,因此對(duì)每層輸入進(jìn)行相同程度的白化將是有利的。通過白化每層輸入,,我們就可以向?qū)崿F(xiàn)輸入的固定分布,,并向消除內(nèi)部協(xié)變量轉(zhuǎn)移的不良影響的目標(biāo)前進(jìn)一步。 我們可以考慮對(duì)每個(gè)訓(xùn)練步驟或者以一定間隔的激活函數(shù)進(jìn)行白化,也可以通過直接修改網(wǎng)絡(luò)或者根據(jù)網(wǎng)絡(luò)激活值改變優(yōu)化算法的參數(shù),。但是,,如果僅僅將這些修改與優(yōu)化步驟直接穿插擺放,則梯度下降的步驟對(duì)參數(shù)的調(diào)整可能會(huì)改變激活輸出的分布并導(dǎo)致重新歸一化,,而這有可能會(huì)使得梯度下降的效果減弱,。 我們?cè)诔跏荚囼?yàn)中觀察到,當(dāng)歸一化參數(shù)在梯度下降步驟外計(jì)算時(shí)模型就會(huì)因?yàn)閰?shù)發(fā)散而不收斂,。 上述方法的問題是梯度下降優(yōu)化沒有考慮歸一化發(fā)生的事實(shí)。為了解決這個(gè)問題,,我們要確保對(duì)于任何參數(shù)值網(wǎng)絡(luò)都會(huì)產(chǎn)生具有期望分布的激活,。 可以將歸一化寫成一個(gè)轉(zhuǎn)換: 這不僅取決于給定的訓(xùn)練樣本,而取決于所有樣本x,,后面,,計(jì)算雅克比: 忽略后一項(xiàng)導(dǎo)致上述參數(shù)發(fā)散。在這個(gè)框架內(nèi),,白化層輸入代價(jià)非常大,。 我們需要尋找一種歸一化的替代方案,它需要光滑可微,,并且不需要在每個(gè)參數(shù)更新之后對(duì)整個(gè)訓(xùn)練集進(jìn)行計(jì)算,。 一些以前的方法使用在單個(gè)訓(xùn)練樣本上計(jì)算的統(tǒng)計(jì)量,或者在圖像網(wǎng)絡(luò)情況下,,在一個(gè)給定位置上的不同特征,。但是,丟棄激活的絕對(duì)標(biāo)量會(huì)改變網(wǎng)絡(luò)的表示能力,。相對(duì)于整個(gè)訓(xùn)練數(shù)據(jù)的統(tǒng)計(jì),,我們想要通過在一個(gè)訓(xùn)練樣本里歸一化激活來保存網(wǎng)絡(luò)中的信息。 3 通過小批量統(tǒng)計(jì)歸一化 由于每層的輸入完全白化代價(jià)太大,,并且不是處處可微,,所以我們做兩個(gè)必要簡(jiǎn)化。第一個(gè)在白化層的輸入的特征向量和輸出向量時(shí),,我們將歸一化每個(gè)維度 : 其中期望值和方差是在訓(xùn)練數(shù)據(jù)集上計(jì)算的,。 但是值得注意的是,簡(jiǎn)單的歸一化層的每一個(gè)輸入有可能會(huì)改變層表達(dá)的內(nèi)容,。比如,,歸一化sigmoid的輸入會(huì)使得這些非線性函數(shù)局限在他們的線性部分上(譯者注:這樣非線性函數(shù)就失去了意義)。為了解決上述問題,,我們要確保插入在網(wǎng)絡(luò)中的(歸一化)變換在特定的情況下也可以是單位變換,。 在批量訓(xùn)練模式中(使用全部訓(xùn)練集),訓(xùn)練步驟中的每個(gè)步驟都是基于整個(gè)訓(xùn)練集,我們可以使用整個(gè)集合去歸一化激活,。但這在隨機(jī)優(yōu)化(使用小批量)中是做不到的,。因此,我們做第二個(gè)簡(jiǎn)化:由于我們?cè)陔S機(jī)梯度訓(xùn)練中使用小批量,,用每個(gè)小批量來估計(jì)每個(gè)激活分布的均值和方差,。在這種情況下,用于歸一化的統(tǒng)計(jì)量可以完全參與梯度反向傳播,。這里再次注意:使用小批量,,只能計(jì)算每個(gè)維度的方差而不是聯(lián)合協(xié)方差;因?yàn)樵诼?lián)合情況中,,由于小批量的大小可能小于被白化的激活的數(shù)量,,導(dǎo)致奇異協(xié)方差矩陣的產(chǎn)生,所以可能需要正則化,。 構(gòu)想一個(gè)大小為m的小批量B,。歸一化被獨(dú)立的運(yùn)用到每個(gè)激活函數(shù),有下面的算法: BN變換可以被添加到網(wǎng)絡(luò)中任何一個(gè)激活上,。如上面的算法1:BN變換,,應(yīng)用于小批量上的激活x。 在訓(xùn)練過程中我們需要計(jì)算反向傳播損失的梯度,,這一過程中也同時(shí)計(jì)算了BN變換的相關(guān)的參數(shù)的梯度,。我們使用的鏈?zhǔn)椒▌t如下所示(在簡(jiǎn)化之前): 因此BN變換是將歸一化激活引入網(wǎng)絡(luò)的可微分轉(zhuǎn)換。這確保了當(dāng)模型在訓(xùn)練時(shí),,層可以持續(xù)在內(nèi)部協(xié)變量轉(zhuǎn)移較少的輸入狀態(tài)下進(jìn)行學(xué)習(xí),,從而加速訓(xùn)練。 3.1訓(xùn)練和擬合批量歸一化網(wǎng)絡(luò) 對(duì)網(wǎng)絡(luò)進(jìn)行批量歸一化時(shí),,我們先確定一個(gè)激活函數(shù)的子集,,然后根據(jù)算法1為子集中的每一個(gè)激活插入BN變換。任何層由先前的接收x作為輸入到現(xiàn)在的接收BN(x)作為輸入,。在加入了批量歸一化的網(wǎng)絡(luò)上,,可以使用批量梯度下降,或小批量m>1的隨機(jī)梯度下降,,或者它的任何一個(gè)隨機(jī)梯度下降法的變體比如Adagrad來做優(yōu)化,。 在模型訓(xùn)練階段,依賴小批量的激活的歸一化可以有效地加速訓(xùn)練,,但是在擬合階段就沒有必要依賴小批量,。我們希望在擬合時(shí),輸入能夠完全確定地決定輸出,。為此,,一旦訓(xùn)練結(jié)束,,擬合時(shí)我們要使用全部樣本來計(jì)算歸一化的統(tǒng)計(jì)量: 而不是使用小批量。使用這些統(tǒng)計(jì)量的移動(dòng)平均,,我們可以追蹤模型訓(xùn)練的精確性,。而擬合時(shí),均值和方差都是固定不變的(因?yàn)槭褂昧巳繕颖?,,歸一化僅僅是應(yīng)用于每個(gè)激活的線性變換,。 如此,算法2總結(jié)了訓(xùn)練批量歸一化網(wǎng)絡(luò)的過程,。 算法2:訓(xùn)練一個(gè)批量歸一化網(wǎng)絡(luò) 3.2 批量歸一化卷積網(wǎng)絡(luò) 批量歸一化可以應(yīng)用于網(wǎng)絡(luò)中激活的任何集合,。在這里,我們考慮由一個(gè)仿射變換與一個(gè)一元非線性函數(shù)組成的激活函數(shù): 其中W和b是模型的學(xué)習(xí)參數(shù),,這個(gè)公式涵蓋全連接層和卷積層,。我們?cè)诜蔷€性函數(shù)作用之前對(duì)X=Wu b進(jìn)行BN歸一化變換。我們之所以不直接歸一化層輸入u,,是因?yàn)閡一般是另一個(gè)非線性層的輸出,其分布的形狀可能在訓(xùn)練期間改變,,只約束其第一和第二矩將不會(huì)消除協(xié)變量轉(zhuǎn)移,。相反的,Wu b更可能具有對(duì)稱,,非稀疏分布,,即“更高斯”;歸一化它可能產(chǎn)生具有穩(wěn)定分布的激活,。 3.3批量歸一化令使用高學(xué)習(xí)率成為可能 在傳統(tǒng)深度網(wǎng)絡(luò)中,,過高的學(xué)習(xí)率可能會(huì)導(dǎo)致梯度發(fā)散或者消失為零,以及使得損失函數(shù)陷入不好的局部最小值,。批量歸一化對(duì)解決這個(gè)問題有所幫助,。通過歸一化整個(gè)網(wǎng)絡(luò)中的激活,可以防止參數(shù)的微小變化通過深層網(wǎng)絡(luò)擴(kuò)大為梯度的次優(yōu)變化:比如它阻止了訓(xùn)練陷入非線性的飽和狀態(tài),。 批量歸一化還使模型訓(xùn)練對(duì)參數(shù)值的大小變化有更強(qiáng)的容忍度,。通常,大的學(xué)習(xí)率可能增加層參數(shù)的絕對(duì)數(shù)值,,然后在反向傳播期間放大梯度并導(dǎo)致模型發(fā)散,。但是,在批量歸一化下,,一個(gè)層的反向傳播是不受它的參數(shù)絕對(duì)大小影響,。事實(shí)上,對(duì)于一個(gè)標(biāo)量a 參數(shù)的絕對(duì)大小不影響層的雅可比矩陣,,也不影響梯度傳播,。此外,,較大的權(quán)重導(dǎo)致較小的梯度,并且批量歸一化將使參數(shù)穩(wěn)定增長(zhǎng),。 3.4 批量歸一化可以正則化模型 當(dāng)使用批處理標(biāo)準(zhǔn)化進(jìn)行訓(xùn)練時(shí),,結(jié)合小批量中的其他樣本來看訓(xùn)練樣本,訓(xùn)練網(wǎng)絡(luò)不再為一個(gè)給定的訓(xùn)練樣本產(chǎn)生確定的值,。在我們的實(shí)驗(yàn)中,,我們發(fā)現(xiàn)這種效果有利于網(wǎng)絡(luò)的泛化。Dropout通常用于減少過擬合,,在批量歸一化網(wǎng)絡(luò)中,,我們發(fā)現(xiàn)它可以被去除或降低強(qiáng)度。 4 實(shí)驗(yàn) 4.1 隨時(shí)間的激活 驗(yàn)證內(nèi)部協(xié)變量轉(zhuǎn)移對(duì)訓(xùn)練的影響,,以及批量歸一化消除內(nèi)部協(xié)變量轉(zhuǎn)移的能力,,我們考慮了在MNIST數(shù)據(jù)集上預(yù)測(cè)數(shù)字類別的問題。我們使用一個(gè)非常簡(jiǎn)單的網(wǎng)絡(luò),,用一個(gè)28*28二進(jìn)制圖像作為輸入,,3個(gè)全連接隱藏層,每層100個(gè)激活神經(jīng)元,,每個(gè)隱藏層用sigmoid非線性計(jì)算y=g(Wu b),,權(quán)重W被初始化為小的隨機(jī)高斯值。最后一個(gè)隱藏層后面是一個(gè)有10個(gè)激活的完全連接層(一個(gè)表表一個(gè)類)和交叉熵?fù)p失,,我們?cè)O(shè)置訓(xùn)練網(wǎng)絡(luò)為50000步,,每個(gè)小批量有60個(gè)樣本。我們向網(wǎng)絡(luò)的每個(gè)隱藏層添加了批量歸一化,,如3.1節(jié)所示,。我們對(duì)基線和批量歸一化的網(wǎng)絡(luò)之間的對(duì)比感興趣,而不是在MNIST上實(shí)現(xiàn)的最先進(jìn)的性能,。 圖1:(a)MNIST分別在有BN和沒有BN訓(xùn)練的網(wǎng)絡(luò)上的測(cè)試準(zhǔn)確性,,對(duì)比在不同數(shù)量的訓(xùn)練步驟。批量歸一化網(wǎng)絡(luò)幫助網(wǎng)絡(luò)訓(xùn)練更快并且獲得更高的準(zhǔn)確性,。(b,c)在訓(xùn)練過程中,,一個(gè)典型的sigmoid輸入分布的演變,顯示為{15%,,50%,,85%}。批量歸一化使得分布更加穩(wěn)定并且減少了內(nèi)部協(xié)變量轉(zhuǎn)移,。 圖1(a)顯示的是隨著訓(xùn)練的進(jìn)展,,兩個(gè)網(wǎng)絡(luò)對(duì)互斥測(cè)試數(shù)據(jù)的正確預(yù)測(cè)的分?jǐn)?shù)。批量歸一化的網(wǎng)絡(luò)測(cè)試準(zhǔn)確性比較高,。為了研究為什么,,在訓(xùn)練過程中,,我們?cè)谠季W(wǎng)絡(luò)N和批量歸一化網(wǎng)絡(luò)C中研究了S形的輸入(算法2)。在圖1中,,我們顯示,,對(duì)于來自每個(gè)網(wǎng)絡(luò)的最后一個(gè)隱藏層的一個(gè)典型激活,其分布如何演變,。原始網(wǎng)絡(luò)中的分布隨時(shí)間在它們的平均值和方差中改變顯著,,這使的后續(xù)層的訓(xùn)練變得復(fù)雜。相比之下,,批處理歸一化網(wǎng)絡(luò)中的分布隨著訓(xùn)練進(jìn)展而更加穩(wěn)定,這是有助于訓(xùn)練的,。 4.2 ImageNet 分類 我們將批量標(biāo)準(zhǔn)化應(yīng)用于Inception網(wǎng)絡(luò)的一個(gè)新變體,在ImageNet分類任務(wù)上進(jìn)行了訓(xùn)練,。這個(gè)網(wǎng)絡(luò)有大量的卷積和池化層,一個(gè)預(yù)測(cè)圖像類別超出1000個(gè)可能性的softmax層,。卷積層使用ReLU作為非線性。 在我們的實(shí)驗(yàn)中,,我們?cè)u(píng)估了歸一化的Inception的幾個(gè)修改。在所有情況下,,批量歸一化應(yīng)用于每個(gè)非線性的輸入,,以卷積方式(如3.2節(jié)所描述),同時(shí)保持架構(gòu)的其余部分不變,。 4.2.1 加速BN網(wǎng)絡(luò) 簡(jiǎn)單地將Batch Normalization添加到網(wǎng)絡(luò)并不能充分利用我們的方法,。為此,我們進(jìn)一步改變了網(wǎng)絡(luò)及其訓(xùn)練參數(shù),,如下:
圖2:Inception的單一作物驗(yàn)證的準(zhǔn)確性及它的批量歸一化變體,,對(duì)比,,訓(xùn)練步驟的數(shù)量。 4.2.2 單個(gè)網(wǎng)絡(luò)分類 我們?cè)u(píng)估了以下網(wǎng)絡(luò),,所有這些網(wǎng)絡(luò)都訓(xùn)練了LSVRC2012訓(xùn)練數(shù)據(jù),,并對(duì)驗(yàn)證數(shù)據(jù)進(jìn)行了測(cè)試:
事實(shí)上,BN-x5-Sigmoid獲得了69.8%的準(zhǔn)確率,。沒有批量歸一化,具有sigmoid的Inception從未達(dá)到比1/1000更高的精度,。 圖3:對(duì)于Inception和批量歸一化變體,,達(dá)到Inception(72.2%)的最大準(zhǔn)確率和網(wǎng)絡(luò)達(dá)到的最大準(zhǔn)確率需要的訓(xùn)練步驟的數(shù)量,。 4.2.3集合分類 由ILSVRC 服務(wù)器評(píng)估后者顯示前5誤差率為4.94%。在這,,我們報(bào)告一個(gè)前5驗(yàn)證誤差率為4.9%和測(cè)試誤差率為4.82%(通過ILSVR服務(wù)器)。這改善了先前的最佳結(jié)果,,并且超過根據(jù)的人類評(píng)估者的估計(jì)準(zhǔn)確度根據(jù)。 對(duì)于我們的集合,,我們使用6個(gè)網(wǎng)絡(luò)。每個(gè)都基于BN-x30,,通過以下一些修改:增加卷積層中的初始權(quán)重,使用Dropout(對(duì)原始Inception,,Dropout為5%或者10%,對(duì)比40%),;和使用非卷積,每次激活使用模型的最后一個(gè)隱藏層進(jìn)行批量歸一化,。 我們?cè)趫D4中證明,批量歸一化允許我們?cè)贗mageNet分類挑戰(zhàn)基準(zhǔn)上設(shè)置新的最先進(jìn)的健康邊緣,。 5 總結(jié) 我們提出了一個(gè)新的機(jī)制用來以顯著的加速深度網(wǎng)絡(luò)的訓(xùn)練,。協(xié)變量轉(zhuǎn)移會(huì)使機(jī)器學(xué)習(xí)系統(tǒng)的訓(xùn)練復(fù)雜化,我們的方法基于兩個(gè)前提,, 1. 協(xié)變量轉(zhuǎn)移關(guān)于整個(gè)系統(tǒng)的結(jié)論,也適用于子網(wǎng)絡(luò)和層,; 2. 從網(wǎng)絡(luò)的內(nèi)部激活中去除協(xié)變量轉(zhuǎn)移可以輔助訓(xùn)練。 我們提出的方法強(qiáng)大之處在于歸一化激活,,并且將這種歸一化結(jié)合在網(wǎng)絡(luò)架構(gòu)本身中,。這確保了歸一化可以與任何訓(xùn)練網(wǎng)絡(luò)的優(yōu)化方法合理融合,。為了實(shí)現(xiàn)在深度網(wǎng)絡(luò)訓(xùn)練中常用的隨機(jī)優(yōu)化方法,我們對(duì)每個(gè)小批量執(zhí)行歸一化,,并且通過歸一化參數(shù)反向傳播梯度。批量歸一化在每個(gè)激活只增加了兩個(gè)額外參數(shù),,而這兩個(gè)參數(shù)是為了保存網(wǎng)絡(luò)的表述能力。我們提出了一個(gè)用于構(gòu)建,,訓(xùn)練和執(zhí)行推理與批量歸一化網(wǎng)絡(luò)的算法。生成的網(wǎng)絡(luò)可以用飽和非線性訓(xùn)練,,可以容忍更大的學(xué)習(xí)率,,并且可以減少或者減弱對(duì)Dropout正則化的使用,。 僅僅將批量歸一化添加到最先進(jìn)圖像分類模型中,就在訓(xùn)練中產(chǎn)生了實(shí)質(zhì)的加速,。通過進(jìn)一步提高學(xué)習(xí)率,去除Dropout,,并運(yùn)用由批量規(guī)一化提供的其他修改,我們只用相對(duì)很少的訓(xùn)練步驟就達(dá)到了以前的最好結(jié)果——并且在單個(gè)網(wǎng)絡(luò)圖像分類上得到了更好的結(jié)果,。此外,通過組合使用批量歸一化訓(xùn)練的多個(gè)模型,,我們?cè)贗mageNet上執(zhí)行得比已知最好的系統(tǒng)好得多。 批量歸一化的目標(biāo)是在整個(gè)訓(xùn)練中實(shí)現(xiàn)激活值的一個(gè)穩(wěn)定分布,。在我們的實(shí)驗(yàn)中,我們?cè)诩せ詈瘮?shù)的非線性部分之前歸一化一階矩和二階矩,,這樣做更容易導(dǎo)致穩(wěn)定的激活函數(shù)值分布。在我們的大規(guī)模圖像分類實(shí)驗(yàn)中,,不管是否進(jìn)行歸一化,我們都沒有觀察到稀疏的非線性輸入,。批量歸一化的其他顯著區(qū)別特征包括,BN使用兩個(gè)學(xué)習(xí)參數(shù)來保持網(wǎng)絡(luò)的表達(dá)能力(標(biāo)準(zhǔn)化層不需要這樣做,,因?yàn)榫o隨其后就是被訓(xùn)練的線性變換,而這個(gè)線性變換可以提供必要的縮放與偏移),。除此之外BN的特性還包括其對(duì)卷積層的處理;其不依賴于小批量的確定性推理,;以及其批量歸一化網(wǎng)絡(luò)中的每個(gè)卷積層。 在這項(xiàng)工作中,,我們還沒有探討批量歸一化潛在可能實(shí)現(xiàn)的全部可能性。我們未來的工作包括我們的方法到循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用, 其中內(nèi)部協(xié)變量轉(zhuǎn)移和梯度的消失或發(fā)散可能特別嚴(yán)重,,并且這將允許我們更徹底地測(cè)試歸一化改善梯度傳播的假設(shè)。我們也計(jì)劃研究一下,,批量規(guī)一化是否可以幫助在傳統(tǒng)意義上的域適應(yīng)—比如,對(duì)群體均值和方差的重新計(jì)算(算法2)的歸一化網(wǎng)絡(luò)是否更容易適應(yīng)新的數(shù)據(jù)分布,。最后,,我們相信對(duì)算法的進(jìn)一步理論分析將允許更多的改進(jìn)和應(yīng)用,。 完,。 |
|