Batch Normalization論文翻譯——中文版

文章作者:Tyan
博客:noahsnail.com | CSDN | 簡書

聲明:作者翻譯論文僅為學習,如有侵權請聯系作者刪除博文,謝謝!

翻譯論文匯總:https://github.com/SnailTyan/deep-learning-papers-translation

摘要

訓練深度神經網絡的復雜性在于,每層輸入的分布在訓練過程中會發(fā)生變化,因為前面的層的參數會發(fā)生變化。通過要求較低的學習率和仔細的參數初始化減慢了訓練,并且使具有飽和非線性的模型訓練起來非常困難。我們將這種現象稱為內部協變量轉移,并通過標準化層輸入來解決這個問題。我們的方法力圖使標準化成為模型架構的一部分,并為每個訓練小批量數據執(zhí)行標準化。批標準化使我們能夠使用更高的學習率,并且不用太注意初始化。它也作為一個正則化項,在某些情況下不需要Dropout。將批量標準化應用到最先進的圖像分類模型上,批標準化在取得相同的精度的情況下,減少了14倍的訓練步驟,并以顯著的差距擊敗了原始模型。使用批標準化網絡的組合,我們改進了在ImageNet分類上公布的最佳結果:達到了4.9% top-5的驗證誤差(和4.8%測試誤差),超過了人類評估者的準確性。

1. 引言

深度學習在視覺、語音等諸多方面顯著提高了現有技術的水平。隨機梯度下降(SGD)已經被證明是訓練深度網絡的有效方式,并且已經使用諸如動量(Sutskever等,2013)和Adagrad(Duchi等人,2011)等SGD變種取得了最先進的性能。SGD優(yōu)化網絡參數\Theta,以最小化損失

\Theta = \arg \min_{\Theta}\frac {1}{N}\sum_{i=1}^N \ell(x_i, \Theta)

x_{1\ldots N}是訓練數據集。使用SGD,訓練將逐步進行,在每一步中,我們考慮一個大小為m小批量數據x_{1 \ldots m}。通過計算\frac {1} {m} \sum_{i=1} ^m \frac {\partial \ell(x_i, \Theta)} {\partial \Theta},使用小批量數據來近似損失函數關于參數的梯度。使用小批量樣本,而不是一次一個樣本,在一些方面是有幫助的。首先,小批量數據的梯度損失是訓練集上的梯度估計,其質量隨著批量增加而改善。第二,由于現代計算平臺提供的并行性,對一個批次的計算比單個樣本計算m次效率更高。

雖然隨機梯度是簡單有效的,但它需要仔細調整模型的超參數,特別是優(yōu)化中使用的學習速率以及模型參數的初始值。訓練的復雜性在于每層的輸入受到前面所有層的參數的影響——因此當網絡變得更深時,網絡參數的微小變化就會被放大。

層輸入的分布變化是一個問題,因為這些層需要不斷適應新的分布。當學習系統的輸入分布發(fā)生變化時,據說會經歷協變量轉移(Shimodaira,2000)。這通常是通過域適應(Jiang,2008)來處理的。然而,協變量漂移的概念可以擴展到整個學習系統之外,應用到學習系統的一部分,例如子網絡或一層??紤]網絡計算\ell = F_2(F_1(u, \Theta_1), \Theta_2) F_1F_2是任意變換,學習參數\Theta_1,\Theta_2以便最小化損失\ell。學習\Theta_2可以看作輸入x=F_1(u,\Theta_1)送入到子網絡\ell = F_2(x, \Theta_2)。

例如,梯度下降步驟\Theta_2\leftarrow \Theta_2 - \frac {\alpha} {m} \sum_{i=1}^m \frac {\partial F_2(x_i,\Theta_2)} {\partial \Theta_2}(對于批大小m和學習率\alpha)與輸入為x的單獨網絡F_2完全等價。因此,輸入分布特性使訓練更有效——例如訓練數據和測試數據之間有相同的分布——也適用于訓練子網絡。因此x的分布在時間上保持固定是有利的。然后,\Theta_2不必重新調整來補償x分布的變化。

子網絡輸入的固定分布對于子網絡外的層也有積極的影響??紤]一個激活函數為g(x) = \frac{1}{1+\exp(-x)}的層,u是層輸入,權重矩陣W和偏置向量b是要學習的層參數,g(x) = \frac{1}{1+\exp(-x)}。隨著|x|的增加,g'(x)趨向于0。這意味著對于x=Wu+b的所有維度,除了那些具有小的絕對值之外,流向u的梯度將會消失,模型將緩慢的進行訓練。然而,由于xW,b和下面所有層的參數的影響,訓練期間那些參數的改變可能會將x的許多維度移動到非線性的飽和狀態(tài)并減慢收斂。這個影響隨著網絡深度的增加而放大。在實踐中,飽和問題和由此產生的梯度消失通常通過使用修正線性單元(Nair & Hinton, 2010) ReLU(x)=\max(x,0),仔細的初始化(Bengio & Glorot, 2010; Saxe et al., 2013)和小的學習率來解決。然而,如果我們能保證非線性輸入的分布在網絡訓練時保持更穩(wěn)定,那么優(yōu)化器將不太可能陷入飽和狀態(tài),訓練將加速。

我們把訓練過程中深度網絡內部結點的分布變化稱為內部協變量轉移。消除它可以保證更快的訓練。我們提出了一種新的機制,我們稱為為批標準化,它是減少內部協變量轉移的一個步驟,這樣做可以顯著加速深度神經網絡的訓練。它通過標準化步驟來實現,標準化步驟修正了層輸入的均值和方差。批標準化減少了梯度對參數或它們的初始值尺度上的依賴,對通過網絡的梯度流動有有益的影響。這允許我們使用更高的學習率而沒有發(fā)散的風險。此外,批標準化使模型正則化并減少了對Dropout(Srivastava et al., 2014)的需求。最后,批標準化通過阻止網絡陷入飽和模式讓使用飽和非線性成為可能。

在4.2小節(jié),我們將批標準化應用到性能最好的ImageNet分類網絡上,并且表明我們可以使用僅7%的訓練步驟來匹配其性能,并且可以進一步超過其準確性一大截。通過使用批標準化訓練的網絡的集合,我們取得了top-5錯誤率,其改進了ImageNet分類上已知的最佳結果。

2. 減少內部協變量轉變

由于訓練過程中網絡參數的變化,我們將內部協變量轉移定義為網絡激活分布的變化。為了改善訓練,我們尋求減少內部協變量轉移。隨著訓練的進行,通過固定層輸入x的分布,我們期望提高訓練速度。眾所周知(LeCun et al., 1998b; Wiesler & Ney, 2011)如果對網絡的輸入進行白化,網絡訓練將會收斂的更快——即輸入線性變換為具有零均值和單位方差,并去相關。當每一層觀察下面的層產生的輸入時,實現每一層輸入進行相同的白化將是有利的。通過白化每一層的輸入,我們將采取措施實現輸入的固定分布,消除內部協變量轉移的不良影響。

我們考慮在每個訓練步驟或在某些間隔來白化激活值,通過直接修改網絡或根據網絡激活值來更改優(yōu)化方法的參數(Wiesler et al., 2014; Raiko et al., 2012; Povey et al., 2014; Desjardins & Kavukcuoglu)。然而,如果這些修改分散在優(yōu)化步驟中,那么梯度下降步驟可能會試圖以要求標準化進行更新的方式來更新參數,這會降低梯度下降步驟的影響。例如,考慮一個層,其輸入u加上學習到的偏置b,通過減去在訓練集上計算的激活值的均值對結果進行歸一化:\hat x=x - E[x],x = u+b, X=\{x_{1\ldots N}\}是訓練集上x值的集合,E[x] = \frac{1}{N}\sum_{i=1}^N x_i。如果梯度下降步驟忽略了E[x]b的依賴,那它將更新b\leftarrow b+\Delta b,其中\Delta b\propto -\partial{\ell}/\partial{\hat x}。然后u+(b+\Delta b) -E[u+(b+\Delta b)] = u+b-E[u+b]。因此,結合b的更新和接下來標準化中的改變會導致層的輸出沒有變化,從而導致損失沒有變化。隨著訓練的繼續(xù),b將無限增長而損失保持不變。如果標準化不僅中心化而且縮放了激活值,問題會變得更糟糕。我們在最初的實驗中已經觀察到了這一點,當標準化參數在梯度下降步驟之外計算時,模型會爆炸。

上述方法的問題是梯度下降優(yōu)化沒有考慮到標準化中發(fā)生的事實。為了解決這個問題,我們希望確保對于任何參數值,網絡總是產生具有所需分布的激活值。這樣做將允許關于模型參數損失的梯度來解釋標準化,以及它對模型參數\Theta的依賴。設x為層的輸入,將其看作向量,\cal X是這些輸入在訓練集上的集合。標準化可以寫為變換\hat x=Norm(x, \cal X)它不僅依賴于給定的訓練樣本x而且依賴于所有樣本\cal X——它們中的每一個都依賴于\Theta,如果x是由另一層生成的。對于反向傳播,我們將需要計算Jacobians\frac {\partial Norm(x,\cal X)} {\partial x}\frac {\partial Norm(x,\cal X)} {\partial \cal X};忽略后一項會導致上面描述的爆炸。在這個框架中,白化層輸入是昂貴的,因為它要求計算協方差矩陣Cov[x]=E_{x\in \cal X}[x x^T]- E[x]E[x]^T和它的平方根倒數,從而生成白化的激活Cov[x]^{-1/2}(x-E[x])和這些變換進行反向傳播的偏導數。這促使我們尋求一種替代方案,以可微分的方式執(zhí)行輸入標準化,并且在每次參數更新后不需要對整個訓練集進行分析。

以前的一些方法(例如(Lyu&Simoncelli,2008))使用通過單個訓練樣本計算的統計信息,或者在圖像網絡的情況下,使用給定位置處不同特征圖上的統計。然而,通過丟棄激活值絕對尺度改變了網絡的表示能力。我們希望通過對相對于整個訓練數據統計信息的單個訓練樣本的激活值進行歸一化來保留網絡中的信息。

3. 通過Mini-Batch統計進行標準化

由于每一層輸入的整個白化是代價昂貴的并且不是到處可微分的,因此我們做了兩個必要的簡化。首先是我們將單獨標準化每個標量特征,從而代替在層輸入輸出對特征進行共同白化,使其具有零均值和單位方差。對于具有d維輸入x = (x^{(1)}\ldots x^{(d)})的層,我們將標準化每一維\hat x^{(k)} = \frac{x^{(k)} - E[x^{(k)}]} {\sqrt {Var[x^{(k)}]}}其中期望和方差在整個訓練數據集上計算。如(LeCun et al., 1998b)中所示,這種標準化加速了收斂,即使特征沒有去相關。

注意簡單標準化層的每一個輸入可能會改變層可以表示什么。例如,標準化sigmoid的輸入會將它們約束到非線性的線性狀態(tài)。為了解決這個問題,我們要確保插入到網絡中的變換可以表示恒等變換。為了實現這個,對于每一個激活值x^{(k)},我們引入成對的參數\gamma^{(k)},\beta^{(k)},它們會歸一化和移動標準化值:y^{(k)} = \gamma^{(k)}\hat x^{(k)} + \beta^{(k)}.這些參數與原始的模型參數一起學習,并恢復網絡的表示能力。實際上,通過設置\gamma^{(k)} = \sqrt{Var[x^{(k)}]}\beta^{(k)} = E[x^{(k)}],我們可以重新獲得原始的激活值,如果這是要做的最優(yōu)的事。

每個訓練步驟的批處理設置是基于整個訓練集的,我們將使用整個訓練集來標準化激活值。然而,當使用隨機優(yōu)化時,這是不切實際的。因此,我們做了第二個簡化:由于我們在隨機梯度訓練中使用小批量,每個小批量產生每次激活平均值和方差的估計。這樣,用于標準化的統計信息可以完全參與梯度反向傳播。注意,通過計算每一維的方差而不是聯合協方差,可以實現小批量的使用;在聯合情況下,將需要正則化,因為小批量大小可能小于白化的激活值的數量,從而導致單個協方差矩陣。

考慮一個大小為m的小批量數據\cal B。由于標準化被單獨地應用于每一個激活,所以讓我們集中在一個特定的激活x^{(k)},為了清晰忽略k。在小批量數據里我們有這個激活的m個值,\cal B=\lbrace x_{1\ldots m} \rbrace.設標準化值為\hat x_{1\ldots m},它們的線性變換為y_{1\ldots m}。我們把變換BN_{\gamma,\beta}: x_{1\ldots m}\rightarrow y_{1\ldots m}看作批標準化變換。我們在算法1中提出了BN變換。在算法中,為了數值穩(wěn)定,\epsilon是一個加到小批量數據方差上的常量。

Algorithm 1

BN變換可以添加到網絡上來操縱任何激活。在公式y = BN_{\gamma,\beta}(x)中,我們指出參數\gamma\beta需要進行學習,但應該注意到在每一個訓練樣本中BN變換不單獨處理激活。相反,BN_{\gamma,\beta}(x)取決于訓練樣本和小批量數據中的其它樣本??s放和移動的值y傳遞到其它的網絡層。標準化的激活值\hat x在我們的變換內部,但它們的存在至關重要。只要每個小批量的元素從相同的分布中進行采樣,如果我們忽略\epsilon,那么任何\hat x值的分布都具有期望為0,方差為1。這可以通過觀察\sum_{i=1}^m \hat x_i = 0\frac {1} {m} \sum_{i=1}^m \hat x_i^2 = 1看到,并取得預期。每一個標準化的激活值\hat x^\{(k)}可以看作由線性變換y^{(k)}=\gamma^{(k)}\hat x^{(k)}+\beta^{(k)}組成的子網絡的輸入,接下來是原始網絡的其它處理。所有的這些子網絡輸入都有固定的均值和方差,盡管這些標準化的\hat x^{(k)}的聯合分布可能在訓練過程中改變,但我們預計標準化輸入的引入會加速子網絡的訓練,從而加速整個網絡的訓練。

在訓練過程中我們需要通過這個變換反向傳播損失\ell的梯度,以及計算關于BN變換參數的梯度。我們使用的鏈式法則如下(簡化之前):

\begin {align} &\frac {\partial \ell}{\partial \hat x\_i} = \frac {\partial \ell} {\partial y\_i} \cdot \gamma\\\\ &\frac {\partial \ell}{\partial \sigma\_\cal B^2} = \sum\_{i=1}^m \frac {\partial \ell}{\partial \hat x\_i}\cdot(x\_i-\mu\_\cal B)\cdot \frac {-1}{2}(\sigma\_\cal B^2+\epsilon)^{-3/2}\\\\ &\frac {\partial \ell}{\partial \mu\_\cal B} = \sum\_{i=1}^m \frac {\partial \ell}{\partial \hat x\_i}\cdot \frac {-1} {\sqrt {\sigma\_\cal B^2 + \epsilon}}\\\\ &\frac {\partial \ell}{\partial x\_i} = \sum\_{i=1}^m \frac {\partial \ell}{\partial \hat x\_i} \cdot \frac {-1} {\sqrt {\sigma\_\cal B^2 + \epsilon}} + \frac {\partial \ell}{\partial \sigma\_\cal B^2} \cdot \frac {2(x\_i - \mu\_\cal B)} {m} + \frac {\partial \ell} {\partial \mu\_\cal B} \cdot \frac {1} {m}\\\\ &\frac {\partial \ell}{\partial \gamma} = \sum\_{i=1}^m \frac {\partial \ell}{\partial y\_i} \cdot \hat x\_i \\\\ &\frac {\partial \ell}{\partial \beta} = \sum\_{i=1}^m \frac {\partial \ell}{\partial y\_i} \end{align}

因此,BN變換是將標準化激活引入到網絡中的可微變換。這確保了在模型訓練時,層可以繼續(xù)學習輸入分布,表現出更少的內部協變量轉移,從而加快訓練。此外,應用于這些標準化的激活上的學習到的仿射變換允許BN變換表示恒等變換并保留網絡的能力。

3.1 批標準化網絡的訓練和推斷

為了批標準化一個網絡,根據算法1,我們指定一個激活的子集,然后在每一個激活中插入BN變換。任何以前接收x作為輸入的層現在接收BN(x)作為輸入。采用批標準化的模型可以使用批梯度下降,或者用小批量數據大小為m>1的隨機梯度下降,或使用它的任何變種例如Adagrad (Duchi et al., 2011)進行訓練。依賴小批量數據的激活值的標準化可以有效地訓練,但在推斷過程中是不必要的也是不需要的;我們希望輸出只確定性地取決于輸入。為此,一旦網絡訓練完成,我們使用總體統計來進行標準化\hat x=\frac {x - E[x]} {\sqrt{Var[x] + \epsilon}},而不是小批量數據統計。跟訓練過程中一樣,如果忽略\epsilon,這些標準化的激活具有相同的均值0和方差1。我們使用無偏方差估計Var[x] = \frac {m} {m-1} \cdot E\_\cal B[\sigma\_\cal B^2],其中期望是在大小為m的小批量訓練數據上得到的,\sigma\_\cal B^2是其樣本方差。使用這些值移動平均,我們在訓練過程中可以跟蹤模型的準確性。由于均值和方差在推斷時是固定的,因此標準化是應用到每一個激活上的簡單線性變換。它可以進一步由縮放\gamma和轉移\beta組成,以產生代替BN(x)的單線性變換。算法2總結了訓練批標準化網絡的過程。

Algorithm 2

3.2. 批標準化卷積網絡

批標準化可以應用于網絡的任何激活集合。這里我們專注于仿射變換和元素級非線性組成的變換:z = g(Wu+b) 其中Wb是模型學習的參數,g(\cdot)是非線性例如sigmoid或ReLU。這個公式涵蓋了全連接層和卷積層。我們在非線性之前通過標準化x=Wu+b加入BN變換。我們也可以標準化層輸入u,但由于u可能是另一個非線性的輸出,它的分布形狀可能在訓練過程中改變,并且限制其第一矩或第二矩不能去除協變量轉移。相比之下,Wu+b更可能具有對稱,非稀疏分布,即“更高斯”(Hyv?rinen&Oja,2000);對其標準化可能產生具有穩(wěn)定分布的激活。

注意,由于我們對Wu+b進行標準化,偏置b可以忽略,因為它的效應將會被后面的中心化取消(偏置的作用會歸入到算法1的\beta)。因此,z = g(Wu+b)z = g(BN(Wu))替代,其中BN變換獨立地應用到x=Wu的每一維,每一維具有單獨的成對學習參數\gamma^{(k)},\beta^{(k)}。

另外,對于卷積層我們希望標準化遵循卷積特性——為的是同一特征映射的不同元素,在不同的位置,以相同的方式進行標準化。為了實現這個,我們在所有位置聯合標準化了小批量數據中的所有激活。在算法1中,我們讓\cal B是跨越小批量數據的所有元素和空間位置的特征圖中所有值的集合——因此對于大小為m的小批量數據和大小為p\times q的特征映射,我們使用有效的大小為m'=|\cal B| = m\cdot p\, q的小批量數據。我們每個特征映射學習一對參數\gamma^{(k)}\beta^{(k)},而不是每個激活。算法2進行類似的修改,以便推斷期間BN變換對在給定的特征映射上的每一個激活應用同樣的線性變換。

3.3. 批標準化可以提高學習率

在傳統的深度網絡中,學習率過高可能會導致梯度爆炸或梯度消失,以及陷入差的局部最小值。批標準化有助于解決這些問題。通過標準化整個網絡的激活值,在數據通過深度網絡傳播時,它可以防止層參數的微小變化被放大。例如,這使sigmoid非線性更容易保持在它們的非飽和狀態(tài),這對訓練深度sigmoid網絡至關重要,但在傳統上很難實現。

批標準化也使訓練對參數的縮放更有彈性。通常,大的學習率可能會增加層參數的縮放,這會在反向傳播中放大梯度并導致模型爆炸。然而,通過批標準化,通過層的反向傳播不受其參數縮放的影響。實際上,對于標量aBN(Wu) = BN((aW)u)因此\frac {\partial BN((aW)u)} {\partial u}= \frac {\partial BN(Wu)} {\partial u},因此標量不影響層的Jacobian行列式,從而不影響梯度傳播。此外,\frac {\partial BN((aW)u)} {\partial (aW)}=\frac {1} {a} \cdot \frac {\partial BN(Wu)} {\partial W}因此更大的權重會導致更小的梯度,并且批標準化會穩(wěn)定參數的增長。

我們進一步推測,批標準化可能會導致雅可比行列式的奇異值接近于1,這被認為對訓練是有利的(Saxe et al., 2013)。考慮具有標準化輸入的兩個連續(xù)的層,并且變換位于這些標準化向量之間:\hat z = F(\hat x)。如果我們假設\hat x\hat z是高斯分布且不相關的,那么F(\hat x)\approx J \hat x是對給定模型參數的一個線性變換,\hat x\hat z有單位方差,并且I=Cov[\hat z] =J Cov[\hat x] J^T = JJ^T。因此,J是正交的,其保留了反向傳播中的梯度大小。盡管上述假設在現實中不是真實的,但我們希望批標準化有助于梯度傳播更好的執(zhí)行。這有待于進一步研究。

4. 實驗

4.1. 隨時間激活

為了驗證內部協變量轉移對訓練的影響,以及批標準化對抗它的能力,我們考慮了在MNIST數據集上預測數字類別的問題(LeCun et al., 1998a)。我們使用非常簡單的網絡,28x28的二值圖像作為輸入,以及三個全連接層,每層100個激活。每一個隱藏層用sigmoid非線性計算y = g(Wu+b),權重W初始化為小的隨機高斯值。最后的隱藏層之后是具有10個激活(每類1個)和交叉熵損失的全連接層。我們訓練網絡50000次迭代,每份小批量數據中有60個樣本。如第3.1節(jié)所述,我們在網絡的每一個隱藏層后添加批標準化。我們對基準線和批標準化網絡之間的比較感興趣,而不是實現在MNIST上的最佳性能(所描述的架構沒有)。

圖1(a)顯示了隨著訓練進行,兩個網絡在提供的測試數據上正確預測的分數。批標準化網絡具有更高的測試準確率。為了調查原因,我們在訓練過程中研究了原始網絡N和批標準化網絡N\_{BN}^{tr}(Alg. 2)中的sigmoid輸入。在圖1(b,c)中,我們顯示,對于來自每個網絡的最后一個隱藏層的一個典型的激活,其分布如何演變。原始網絡中的分布隨著時間的推移而發(fā)生顯著變化,無論是平均值還是方差,都會使后面的層的訓練復雜化。相比之下,隨著訓練的進行,批標準化網絡中的分布更加穩(wěn)定,這有助于訓練。

Figure 1

圖1。(a)使用批標準化和不使用批標準化訓練的網絡在MNIST上的測試準確率,以及訓練的迭代次數。批標準化有助于網絡訓練的更快,取得更高的準確率。(b,c)典型的sigmoid在訓練過程中輸入分布的演變,顯示為15%,50%,85%。批標準化使分布更穩(wěn)定并降低了內部協變量轉移。

4.2. ImageNet分類

我們將批標準化化應用于在ImageNet分類任務(Russakovsky等,2014)上訓練的Inception網絡的新變種(Szegedy等,2014)。網絡具有大量的卷積和池化層,和一個softmax層用來在1000個可能之中預測圖像的類別。卷積層使用ReLU作為非線性。與(Szegedy等人,2014年)中描述的網絡的主要區(qū)別是5×5卷積層被兩個連續(xù)的3x3卷積層替換,最多可以有128個濾波器。該網絡包含13.6 \cdot 10^6個參數,除了頂部的softmax層之外,沒有全連接層。在其余的文本中我們將這個模型稱為Inception。訓練在大型分布式架構(Dean et al。,2012)上進行,10個模型副本中的每一個都使用了5個并行步驟,使用異步帶動量的SGD(Sutskever等,2013),小批量數據大小為32。隨著訓練進行,所有網絡都通過計算驗證準確率@1來評估,即每幅圖像使用單個裁剪圖像,在1000個可能性中預測正確標簽的概率。

在我們的實驗中,我們評估了幾個帶有批標準化的Inception修改版本。在所有情況下,如第3.2節(jié)所述,批標準化以卷積方式應用于每個非線性的輸入,同時保持架構的其余部分不變。

4.2.1. 加速BN網絡

將批標準化簡單添加到網絡中不能充分利用我們方法的優(yōu)勢。為此,我們進行了以下修改:

提高學習率。在批標準化模型中,我們已經能夠從高學習率中實現訓練加速,沒有不良的副作用(第3.3節(jié))。

刪除丟棄。我們發(fā)現從BN-Inception中刪除丟棄可以使網絡實現更高的驗證準確率。我們推測,批標準化提供了類似丟棄的正則化收益,因為對于訓練樣本觀察到的激活受到了同一小批量數據中樣本隨機選擇的影響。

更徹底地攪亂訓練樣本。我們啟用了分布內部攪亂訓練數據,這樣可以防止同一個例子一起出現在小批量數據中。這導致驗證準確率提高了約1%,這與批標準化作為正則化項的觀點是一致的:它每次被看到時都會影響一個樣本,在我們的方法中內在的隨機化應該是最有益的。

減少L2全中正則化。雖然在Inception中模型參數的L2損失會控制過擬合,但在修改的BN-Inception中,損失的權重減少了5倍。我們發(fā)現這提高了在提供的驗證數據上的準確性。

加速學習率衰減。在訓練Inception時,學習率呈指數衰減。因為我們的網絡訓練速度比Inception更快,所以我們將學習速度降低加快6倍。

刪除局部響應歸一化。雖然Inception和其它網絡(Srivastava等人,2014)從中受益,但是我們發(fā)現使用批標準化它是不必要的。

減少光照扭曲。因為批標準化網絡訓練更快,并且觀察每個訓練樣本更少的次數,所以通過更少地扭曲它們,我們讓訓練器關注更多的“真實”圖像。

4.2.2. 單網絡分類

我們評估了下面的網絡,所有的網絡都在LSVRC2012訓練數據上訓練,并在驗證數據上測試:

Inception:在4.2小節(jié)開頭描述的網絡,以0.0015的初始學習率進行訓練。

BN-Baseline:每個非線性之前加上批標準化,其它的與Inception一樣。

BN-x5:帶有批標準化的Inception,修改在4.2.1小節(jié)中。初始學習率增加5倍到了0.0075。原始Inception增加同樣的學習率會使模型參數達到機器無限大。

BN-x30:類似于BN-x5,但初始學習率為0.045(Inception學習率的30倍)。

BN-x5-Sigmoid:類似于BN-x5,但使用sigmoud非線性g(t)=\frac{1}{1+\exp(-x)}來代替ReLU。我們也嘗試訓練帶有sigmoid的原始Inception,但模型保持在相當于機會的準確率。

在圖2中,我們顯示了網絡的驗證集準確率,作為訓練步驟次數的函數。Inception網絡在31 \cdot 10^6次訓練步驟后達到了72.2%的準確率。圖3顯示,對于每個網絡,達到同樣的72.2%準確率需要的訓練步驟數量,以及網絡達到的最大驗證集準確率和達到該準確率的訓練步驟數量。

Figure 2

圖2。Inception和它的批標準化變種在單個裁剪圖像上的驗證準確率以及訓練步驟的數量。

Figure 2

圖3。對于Inception和它的批標準化變種,達到Inception最大準確率(72.2%)所需要的訓練步驟數量,以及網絡取得的最大準確率。

通過僅使用批標準化(BN-Baseline),我們在不到Inception一半的訓練步驟數量內將準確度與其相匹配。通過應用4.2.1小節(jié)中的修改,我們顯著提高了網絡的訓練速度。BN-x5需要比Inception少14倍的步驟就達到了72.2%的準確率。有趣的是,進一步提高學習率(BN-x30)使得該模型最初訓練有點慢,但可以使其達到更高的最終準確率。這種現象是違反直覺的,應進一步調查。在6 \cdot 10^6步驟之后,BN-x30達到74.8%的準確率,即比Inception達到72.2%的準確率所需的步驟減少了5倍。

我們也證實了盡管訓練這樣的網絡是眾所周知的困難,但是當使用sigmoid作為非線性時,內部協變量轉移的減少允許具有批標準化的深層網絡被訓練。的確,BN-x5-Sigmoid取得了69.8%的準確率達。沒有批標準化,使用sigmoid的Inception從未達到比1/1000準確率更好的結果。

4.2.3. 組合分類

目前在ImageNet大型視覺識別競賽中報道的最佳結果是傳統模型(Wu et al。,2015)的Deep Image組合和(He等,2015)的組合模型。后者報告了ILSVRC測試服務器評估的4.94%的top-5錯誤率。這里我們在測試服務器上報告4.82%的測試錯誤率。這提高了以前的最佳結果,并且根據(Russakovsky等,2014)這超過了人類評估者的評估準確率。

對于我們的組合,我們使用了6個網絡。每個都是基于BN-x30的,進行了以下一些修改:增加卷積層中的初始重量;使用Dropout(丟棄概率為5%或10%,而原始Inception為40%);模型最后的隱藏層使用非卷積批標準化。每個網絡在大約6 \cdot 10^6個訓練步驟之后實現了最大的準確率。組合預測是基于組成網絡的預測類概率的算術平均。組合和多裁剪圖像推斷的細節(jié)與(Szegedy et al,2014)類似。

我們在圖4中證實了批標準化使我們能夠在ImageNet分類挑戰(zhàn)基準上設置新的最佳結果。

我們在圖4中證實了批標準化使我們能夠在ImageNet分類挑戰(zhàn)基準上設置新的最佳結果。

Figure 4

圖4。批標準化Inception與以前的最佳結果在提供的包含5萬張圖像的驗證集上的比較。組合結果是在測試集上由測試服務器評估的結果。BN-Inception組合在驗證集的5萬張圖像上取得了4.9% top-5的錯誤率。所有報道的其它結果是在驗證集上。

5. 結論

我們提出了一個新的機制,大大加快了深度網絡的訓練。它是基于前提協變量轉移的,已知其會使機器學習系統的訓練復雜化,也適用于子網絡和層,并且從網絡的內部激活中去除它可能有助于訓練。我們提出的方法從其標準化激活中獲取其功能,并將這種標準化合并到網絡架構本身。這確保了標準化可以被用來訓練網絡的任何優(yōu)化方法進行恰當的處理。為了讓深度網絡訓練中常用的隨機優(yōu)化方法可用,我們對每個小批量數據執(zhí)行標準化,并通過標準化參數來反向傳播梯度。批標準化每個激活只增加了兩個額外的參數,這樣做可以保持網絡的表示能力。我們提出了一個算法,其用于構建,訓練和執(zhí)行推斷批標準化網絡。所得到的網絡可以用飽和非線性進行訓練,能更容忍增加的訓練率,并且通常不需要丟棄來進行正則化。

僅僅將批標準化添加到了最新的圖像分類模型中便在訓練中取得了實質的加速。通過進一步提高學習率,刪除丟棄和應用批標準化所提供的其它修改,我們只用了少部分的訓練步驟就達到了以前的技術水平——然后在單網絡圖像分類中擊敗了最先進的技術。此外,通過組合多個使用批標準化訓練的模型,我們在ImageNet上的表現顯著優(yōu)于最好的已知系統。

我們的方法與(Gül?ehre&Bengio,2013)的標準化層相似,盡管這兩個方法解決的目標不同。批標準化尋求在整個訓練過程中激活值的穩(wěn)定分布,并且對非線性的輸入進行歸一化,因為這時更有可能穩(wěn)定分布。相反,標準化層被應用于非線性的輸出,這導致了更稀疏的激活。我們沒有觀察到非線性輸入是稀疏的,無論是有批標準化還是沒有批標準化。批標準化的其它顯著差異包括學習到的縮放和轉移允許BN變換表示恒等,卷積層處理以及不依賴于小批量數據的確定性推斷。

在這項工作中,我們沒有探索批標準化可能實現的全部可能性。我們的未來工作包括將我們的方法應用于循環(huán)神經網絡(Pascanu et al.,2013),其中內部協變量轉移和梯度消失或爆炸可能特別嚴重,這將使我們能夠更徹底地測試假設標準化改善了梯度傳播(第3.3節(jié))。需要對批標準化的正則化屬性進行更多的研究,我們認為這是BN-Inception中刪除丟棄時我們觀察到的改善的原因。我們計劃調查批標準化是否有助于傳統意義上的域自適應——即網絡執(zhí)行標準化是否能夠更容易泛化到新的數據分布,也許僅僅是對總體均值和方差的重新計算(Alg.2)。最后,我們認為,該算法的進一步理論分析將允許更多的改進和應用。

致謝

我們感謝Vincent Vanhoucke和Jay Yagnik的幫助和討論,以及審稿人的深刻評論。

References

Bengio, Yoshua and Glorot, Xavier. Understanding the difficulty of training deep feedforward neural networks. In Proceedings of AISTATS 2010, volume 9, pp. 249–256, May 2010.

Dean, Jeffrey, Corrado, Greg S., Monga, Rajat, Chen, Kai, Devin, Matthieu, Le, Quoc V., Mao, Mark Z., Ranzato, Marc’Aurelio, Senior, Andrew, Tucker, Paul, Yang, Ke, and Ng, Andrew Y. Large scale distributed deep networks. In NIPS, 2012.

Desjardins, Guillaume and Kavukcuoglu, Koray. Natural neural networks. (unpublished).

Duchi, John, Hazan, Elad, and Singer, Yoram. Adaptive subgradient methods for online learning and stochastic optimization. J. Mach. Learn. Res., 12:2121–2159, July 2011. ISSN 1532-4435.

Gu ?lc ?ehre, C ? aglar and Bengio, Yoshua. Knowledge matters: Importance of prior information for optimization. CoRR, abs/1301.4083, 2013.

He, K., Zhang, X., Ren, S., and Sun, J. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification. ArXiv e-prints, February 2015.

Hyva ?rinen, A. and Oja, E. Independent component analysis: Algorithms and applications. Neural Netw., 13(4-5): 411–430, May 2000.
Jiang, Jing. A literature survey on domain adaptation of statistical classifiers, 2008.

LeCun, Y., Bottou, L., Bengio, Y., and Haffner, P. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, November 1998a.

LeCun, Y., Bottou, L., Orr, G., and Muller, K. Efficient backprop. In Orr, G. and K., Muller (eds.), Neural Networks: Tricks of the trade. Springer, 1998b.

Lyu, S and Simoncelli, E P. Nonlinear image representation using divisive normalization. In Proc. Computer Vision and Pattern Recognition, pp. 1–8. IEEE Computer Society, Jun 23-28 2008. doi: 10.1109/CVPR.2008.4587821.

Nair, Vinod and Hinton, Geoffrey E. Rectified linear units improve restricted boltzmann machines. In ICML, pp. 807–814. Omnipress, 2010.

Pascanu, Razvan, Mikolov, Tomas, and Bengio, Yoshua. On the difficulty of training recurrent neural networks. In Proceedings of the 30th International Conference on Machine Learning, ICML 2013, Atlanta, GA, USA, 16-21 June 2013, pp. 1310–1318, 2013.

Povey, Daniel, Zhang, Xiaohui, and Khudanpur, Sanjeev. Parallel training of deep neural networks with natural gradient and parameter averaging. CoRR, abs/1410.7455, 2014.

Raiko, Tapani, Valpola, Harri, and LeCun, Yann. Deep learning made easier by linear transformations in perceptrons. In International Conference on Artificial Intelligence and Statistics (AISTATS), pp. 924–932, 2012.

Russakovsky, Olga, Deng, Jia, Su, Hao, Krause, Jonathan, Satheesh, Sanjeev, Ma, Sean, Huang, Zhiheng, Karpathy, Andrej, Khosla, Aditya, Bernstein, Michael, Berg, Alexander C., and Fei-Fei, Li. ImageNet Large Scale Visual Recognition Challenge, 2014.

Saxe, Andrew M., McClelland, James L., and Ganguli, Surya. Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. CoRR, abs/1312.6120, 2013.

Shimodaira, Hidetoshi. Improving predictive inference under covariate shift by weighting the log-likelihood function. Journal of Statistical Planning and Inference, 90 (2):227–244, October 2000.

Srivastava, Nitish, Hinton, Geoffrey, Krizhevsky, Alex, Sutskever, Ilya, and Salakhutdinov, Ruslan. Dropout: A simple way to prevent neural networks from overfitting. J. Mach. Learn. Res., 15(1):1929–1958, January 2014.

Sutskever, Ilya, Martens, James, Dahl, George E., and Hinton, Geoffrey E. On the importance of initialization and momentum in deep learning. In ICML (3), volume 28 of JMLR Proceedings, pp. 1139–1147. JMLR.org, 2013.

Szegedy, Christian, Liu, Wei, Jia, Yangqing, Sermanet, Pierre, Reed, Scott, Anguelov, Dragomir, Erhan, Dumitru, Vanhoucke, Vincent, and Rabinovich, Andrew. Going deeper with convolutions. CoRR, abs/1409.4842, 2014.

Wiesler, Simon and Ney, Hermann. A convergence analysis of log-linear training. In Shawe-Taylor, J., Zemel, R.S., Bartlett, P., Pereira, F.C.N., and Weinberger, K.Q. (eds.), Advances in Neural Information Processing Systems 24, pp. 657–665, Granada, Spain, December 2011.

Wiesler, Simon, Richard, Alexander, Schlu ?ter, Ralf, and Ney, Hermann. Mean-normalized stochastic gradient for large-scale deep learning. In IEEE International Conference on Acoustics, Speech, and Signal Processing, pp. 180–184, Florence, Italy, May 2014.

Wu, Ren, Yan, Shengen, Shan, Yi, Dang, Qingqing, and Sun, Gang. Deep image: Scaling up image recognition, 2015.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容