傳統的神經網絡集成
傳統上,集成組合若干不同的模型,讓它們基于相同的輸入做出預測。接著通過某種平均化方法決定集成的最終預測??赡苁峭ㄟ^簡單的投票或取均值,也可能是通過另一個模型,該模型基于集成模型的結果學習預測正確值或標簽。嶺回歸是一種組合若干預測的特定方法,Kaggle競賽冠軍使用過這一方法。
集成應用于深度學習時,組合若干網絡的預測以得到最終預測。通常,使用不同架構的神經網絡比較好,因為不同架構的網絡更可能在不同的訓練樣本上犯錯,因而集成的收益會更大。
然而,你也可以集成同一架構的模型,并得到出乎意料的好效果。比如,在這篇快照集成的論文中,作者在訓練同一個網絡時保存了權重快照,在訓練之后,創建了同一架構、不同權重的網絡集成。這可以提升測試表現,同時也是一個非常節省開銷的方法,因為你只訓練一個模型,訓練一次,只不過不時地保存權重。
每個學習率周期末尾保存模型;圖片來源:原論文
你可以閱讀文章開頭提到的Vitaly Bushaev的博客文章了解細節。如果你到目前為止還沒有嘗試過周期性學習率,那你真應該嘗試一下,它正在成為當前最先進的技術,而且非常簡單,算力負擔也不重,可以說是在幾乎不增加額外開銷的前提下提供顯著的增益。
快照集成使用周期性學習率退火;圖片來源:Vitaly Bushaev
上面所有的例子都是模型空間內的集成,組合若干模型,接著使用這些模型的預測以得到最終模型。
而本文開頭提到的論文,作者提出的是權重空間內的集成。該方法通過組合同一網絡在訓練的不同階段的權重得到一個集成,接著使用組合的權重做出預測。這一方法有兩大優勢:
組合權重后,我們最終仍然得到一個模型,這有利于加速預測。
該方法超過了當前最先進的快照集成。
在我們看看這一方法是如何工作之前,我們需要先理解損失平面(loss surface)和概化解(generalizable solution)。
權重空間的解
第一個重要的洞見是,一個訓練好的網絡是多維權重空間中的一點。對任何給定的架構而言,每個不同的網絡權重組合產生一個不同的模型。任何給定架構都有無窮的權重組合,因而有無窮的解。訓練神經網絡的目標是找到一個特定的解(權重空間中的點),使得訓練數據集和測試數據集上的損失函數的值都比較低。
在訓練中,訓練算法通過改變權重來改變網絡并在權重空間中漫游。梯度下降算法在一個損失平面上漫游,該平面的海拔為損失函數的值。
狹窄最優和平坦最優
可視化和理解多維權重空間的幾何學非常困難。與此同時,了解它又非常重要,因為隨機梯度下降本質上是在訓練時穿過這一高維空間中的損失平面,試圖找到一個良好的解——損失平面上的一“點”,那里損失值較低。研究表明,這一平面有很多局部最優值。但這些局部最優值并不同樣良好。
為了處理一個14維空間中的超平面,可視化一個3維空間,然后大聲對自己說“十四”。每個人都這么做。
-- Hinton (出處:coursera課程)
可以區分良好的解與糟糕的解的一個量度是平坦性(flatness)。背后的想法是訓練數據集和測試數據集會產生相似但不是完全一樣的損失平面。你可以將其想象為測試平面相對訓練平面平移了一點。對一個狹窄的解而言,測試時期,損失較低的點可能因為這一平移產生變為損失較高的點。這意味著這一狹窄的解概括性不好——訓練損失低,測試損失高。另一方面,對于寬而平的解而言,這一平移造成的訓練損失和測試損失間的差異較小。
我解釋了兩種解之間的差異,因為本文關注的新方法可以導向良好、寬闊的解。
快照集成
起初,SGD會在權重空間中跳一大步。接著,由于余弦退火,學習率會降低,SGD將收斂于某個局部解,算法將保存一個模型的“快照”。接著學習率重置為高值,SGD再次邁一大步,以此類推。
快照集成的周期長度為20到40個epoch。較長的學習率周期是為了在權重空間中找到足夠不同的模型,以發揮集成的優勢。
快照集成表現優異,提升了模型的表現,但是快速幾何集成(Fast Geometric Ensembling)效果更好。
快速幾何集成(FGE)
快速幾何集成和快照集成非常相似。它們的不同主要有兩點。第一,快速幾何集成使用線性分段周期學習率規劃,而不是余弦退火。第二,FGE的周期長度要短得多——2到4個epoch。這是因為作者發現,在足夠不同的模型之間,存在著損失較低的連通路徑。沿著這些路徑小步前進所得的模型差異較大,足夠發揮集成的優勢。因此,相比快照集成,FGE表現更好,搜尋模型的步調更?。ú秸{更小使其訓練更快)。
如上圖左側的圖像所示,根據傳統的直覺,良好的局部極小值被高損失區域分隔開來(圖中虛線)。而上圖中、右的圖像顯示,局部極小值之間存在著路徑,這些路徑上的損失都很低(圖中實線)。FGE沿著這些路徑保存快照,從而創建快照的集成。
快照集成和FGE都需要儲存多個模型,接著讓每個模型做出預測,之后加以平均以得到最終預測。因此,我們為集成的額外表現支付了更高的算力代價。所以天下沒有免費的午餐。真的沒有嗎?讓我們看看隨機加權平均吧。
隨機加權平均(SWA)
隨機加權平均只需快速集合集成的一小部分算力,就可以接近其表現。SWA導向我之前提到過的廣闊的極小值。在經典定義下,SWA不算集成,因為在訓練的最終階段你得到一個模型,但它的表現超過了快照集成,接近FGE。
SWA的直覺來自以下由經驗得到的觀察:每個學習率周期得到的局部極小值傾向于堆積在損失平面的低損失值區域的邊緣(上圖左側的圖形中,褐色區域誤差較低,點W1、W2、3分別表示3個獨立訓練的網絡,位于褐色區域的邊緣)。對這些點取平均值,可能得到一個寬闊的概化解,其損失更低(上圖左側圖形中的WSWA)。
上圖中間的圖形顯示,WSWA在測試集上的表現超越了SGD。而上圖右側的圖形顯示,WSWA在訓練時的損失比SGD要高。結合WSWA在測試集上優于SGD的表現,這意味著盡管WSWA訓練時的損失較高,它的概括性更好。
下面是SWA的工作機制。SWA只保存兩個模型,而不是許多模型的集成:
第一個模型保存模型權重的平均值(wSWA)。在訓練結束后,它將是用于預測的最終模型。
第二個模型(w)將穿過權重空間,基于周期性學習率規劃探索權重空間。
SWA權重更新公式;
在每個學習率周期的末尾,第二個模型的當前權重將用來更新第一個模型的權重(公式見上)。因此,訓練階段中,只需訓練一個模型,并在內存中儲存兩個模型。預測時只需要平均模型,基于其進行預測將比之前描述的集成快很多,因為在集成中,你需要使用多個模型進行預測,最后進行平均。
-
集成
+關注
關注
1文章
176瀏覽量
30260 -
神經網絡
+關注
關注
42文章
4773瀏覽量
100882 -
深度學習
+關注
關注
73文章
5507瀏覽量
121265
原文標題:權重空間集成學習背后的直覺
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論