康奈爾大學提出使用隨機加權平均訓練神經網路,提高網路泛化性能
原文來源:arXiv
作者:Pavel Izmailov、Dmitrii Podoprikhin、Timur Garipov、Dmitry Vetrov、Andrew Gordon Wilson
「雷克世界」編譯:嗯~是阿童木呀、EVA
一般來說,深度神經網路的訓練通常是通過一個隨機梯度下降(SGD)變體,再結合一個衰減的學習速率對一個損失函數進行優化,直到其收斂來進行的。我們指出,沿著SGD軌跡的多個點的簡單平均,具有周期性或恆定的學習率,能比常規訓練更好地進行泛化。我們還表明,這個隨機加權平均(Stochastic Weight Averaging ,SWA)過程發現了比SGD更廣泛的優化方法,並近似於近期使用單個模型進行的快速幾何集成(Fast Geometric Ensembling ,FGE)方法。通過使用SWA,我們在傳統SGD訓練上的測試精確度取得了顯著進步,而這個訓練是在CIFAR-10、CIFAR-100和ImageNet上使用一系列最先進的殘差網路(residual networks)、金字塔網路(PyramidNets)、密集網路(DenseNets)和ShakeShake網路進行的。總而言之,SWA非常容易實施,它改進了泛化,並且幾乎沒有計算開銷。
通過對多層網路的損耗面有更好的了解,我們可以加快深度學習中訓練過程的收斂性、穩定性和精確度。近期的研究(Garipov等人於2018年、Draxler等人於2018年提出)表明,SGD所發現的局部最優能通過近乎恆定損耗的簡單曲線連接起來。基於這一見解,Garipov等人(於2018年)也開發了快速幾何集成(Fast Geometric Ensembling ,FGE),以在權重空間中採樣多個鄰近點,從而在需要訓練單個深度神將網路(DNN)的時候創造出高性能的集成效果。
在CIFAR-100上使用預激活ResNet-110的SWA和SGD說明。左圖:三個FGE樣本的測試誤差曲面以及相應的SWA解(平均重量空間)。中間和右側:測試誤差和訓練損失曲面,顯示SGD(在收斂時)和SWA所提出的權重, 125個訓練輪數後,從SGD的相同初始化開始。
FGE使用一個具有高頻率循環學習率的SGD來選擇網路進行集成。在圖1(左)中我們可以看到,由FGE集成的網路的權重在最理想的解的外圍。這一觀察結果表明,它在權重空間而不是模型空間對這些點進行平均的效果更好。雖然維持由SGD遍歷的權重的運行平均這個想法可以追溯到Ruppert(於1988年年提出),但是這個過程通常不會被用來訓練神經網路。它有時被用作指數衰減的運行平均,與衰減的學習率(被稱為指數平均數指標(exponential moving average))相結合應用,它使傳統SGD的軌跡更為平滑,但它們表現得又不是完全不同。然而,我們指出,一個同樣由SGD遍歷的這些點的加權平均具有周期性或恆定的學習率,我們稱之為隨機加權平均(Stochastic Weight Averaging,SWA),具有許多令人驚訝的和有發展前景的特徵足以用於訓練深度神經網路,從而使它們的損耗面的幾何形狀能被更好地理解。實際上,具有周期性或恆定學習率的SWA可以作為一個替代元件,替代對多層網路的標準SGD訓練——但是它改進了泛化,並且基本上沒有開銷。特別是:
?我們表明,具有周期性(Loshchilov和Hutter於2016年提出)或恆定學習率的SGD遍歷了與高性能網路相一致的權重空間區域。我們發現,雖然這些模型圍繞最優集移動,但它們始終沒有達到它的中心點。我們指出,通過對SGD迭代的平均權重進行計算,我們可以進入這個更理想的點空間。
Top:作為迭代函數的周期性學習率。底部:在CIFAR-100上,使用預激活ResNet-110規劃的循環學習速率,作為迭代函數的測試誤差。圓圈表示對應於最小學習率的迭代。
?雖然FGE集成(Garipov等人於2018年提出)可以在同一時間內作為一個單個模型被訓練,但是對k個模型集成的測試預測需要k倍的計算。我們證明,SWA可以被解釋為FGE集成的近似值,但是它具有單個模型的測試時間、方便性和可解釋性。
?我們證明,相較於SGD,SWA能夠使所取得的解在本質上具有更寬泛的優化。凱斯卡爾等人(於2017)推測,最優寬度與泛化之間有著密切的關係。我們可舉例說明,訓練上的損失是相對於測試誤差而進行移位的(圖1,中間和右側面板)。我們經過實驗研究證明,SGD一般收斂於最優點的寬闊平坦區域邊界附近的點。另一方面,SWA能夠找到一個位於該地區中心的點,通常情況下,它的訓練損失很不理想,但本質上在測試誤差方面要好得多。
?SWA在若干個基準測試中對一系列廣泛的架構所進行的訓練取得了顯著性的進步。特別是,在ImageNet上只需要運行SWA約10個輪數,我們就能夠相較於ResNet-50和DenseNet-161提高約0.8%的性能,相較於ResNet-150提高0.6%的性能。並且,我們使用預激活ResNet-110、VGG-16和Wide ResNet-28-10,在CIFAR-100上的性能表現實現了超過1.3%的提升,而在CIFAR-10上的性能改進超過了0.4%。與此同時,我們也為Shake-Shak網路和金字塔網路上的性能表現實現了實質性的改善。
?SWA非常容易實現,並且與傳統的訓練方案相比,幾乎沒有計算開銷。
在一個具有(頂部)周期性和(底部)恆定學習速率的軌跡,包含第一、中間和最後點(用黑色十字表示)的平面上,在CIFAR-100上使用預激活ResNet-110的L2-正則化的交叉熵訓練損失(左)和測試誤差(右)表面。
在本文中,我們已經提出了一個用於訓練神經網路的隨機加權平均(SWA)。SWA非常易於實施,且架構獨立,並且相較於傳統的訓練,它幾乎不需要任何附加的成本就可以提高泛化性能。
從長遠來看,未來的研究有很多令人興奮的方向。由於演算法所遍歷的權重幾何形狀的存在,SWA並不要求每個權重的平均值對應一個好的解。因此,有可能開發一個SWA,使其能夠較之標準SGD更快地進行收斂。人們也可以將SWA與大批量大小結合起來,同時保持泛化性能,因為SWA發現了比傳統SGD訓練更為寬泛的最優化。除此之外,循環學習率使SWA能夠探索神經網路權重中具有較高後驗密度(posterior density)的區域。這樣的學習速率可以結合隨機馬爾科夫鏈蒙特卡羅(MCMC)方法一起開發,以鼓勵在提供高質量樣本的同時進行進一步的探索。也可以使用Garipov等人(於2018]年)發現的高精度曲線來開發SWA以對整個具有優良解的區域進行平均。
總而言之,對多層網路的損耗表面進行更好的了解將有助於持續釋放這些豐富模型所存在的潛力。我們希望SWA能夠激勵這一領域進行進一步的發展。
※融資1億!「知因」讓產業鏈金融更「智慧」
※Yoshua Bengio團隊發布最新強化學習智能體研究
TAG:雷克世界 |