新的網站優化方法
傳統的神經網絡集成
一般咱們說的「集成」(ensemble),就是組合若干不同的模型,讓它們根據相同的輸入做出猜測,接著經過某種均勻化辦法決議集成模型的終究猜測。這個決議過程可能是經過簡略的投票或取均值,也可能是經過另一個模型,該模型根據集成模型的成果,學習猜測正確值或標簽。嶺回歸是一種可以組合若干個不同猜測的成果的辦法,Kaggle 上衛星數據辨認熱帶雨林比賽的冠軍就運用過這一辦法。
快照集成是在每次學習率周期結尾保存模型,然后在猜測時運用。
集成應用于深度學習時,組合若干網絡的猜測以得到一個終究的猜測。一般,運用好幾個不同架構的神經網絡比較好,由于不同架構的網絡一般會在不同的練習樣本上犯錯,因而集成的收益會更大。
快照集成運用周期性學習率退火
當然,你也可以集成同一架構的模型,或許作用會出人意料的好。就比如這篇快照集成的論文,作者在練習同一個網絡的過程中保存了不同的權值快照,然后在練習之后創立了同一架構、不同權值的集成網絡。這么做可以提高測驗的體現,一起也超省錢——由于你只需求練習一個模型、練習一次就好,只需記得隨時保存權值就行。
你可以仔細閱讀下文章開始說到的那篇 Vitaly Bushaev 的關于學習率的文章。假如你到目前為止還沒有嘗試過周期性學習率,那你真該去試試,它正在成為當時作用最好的、也最規范的做法,它簡略易上手,核算量很輕,可以說十分事半功倍了。
上文羅列的所有比如都是模型空間內的集成。組合若干模型,接著運用這些模型的猜測以得到終究的猜測成果。
而本文我想給咱們介紹的論文中,作者提出了一種全新的權值空間內的集成。該辦法經過組合同一網絡在練習的不同階段的權值得到一個集成,接著運用組合的權值做出猜測。這種辦法有兩個優點:
組合權重后,咱們終究依然得到一個模型,這有利于加速猜測。事實證明,這種辦法勝過當時最先進的快照集成。
在了解這一辦法是怎么作業之前,咱們首要需求了解丟失平面(loss surface)和泛化的解(generalizable solution)。
權重空間內的解
榜首個不得不說到的是,經過練習的網絡是高維權值空間中的一個點。對給定的架構而言,每個不同的網絡權值組合都代表了一個不同的模型。任何給定架構都有無量的權重組合,因而有無量多的解。練習神經網絡的目標是找到一個特定的解(權值空間中的點),使得練習數據集和測驗數據集上的丟失函數的值都比較低。
在練習期間,練習算法經過改動權值來改動網絡并在權值空間中周游。梯度下降算法在一個丟失平面上周游,該平面的海拔為丟失函數的值。
窄極值和寬極值
率直的講,可視化并了解高維權值空間的幾許特性十分困難,但咱們又不得不去了解它。由于隨機梯度下降的實質是,在練習時穿過這一高維空間中的丟失平面,企圖找到一個良好的解——丟失平面上的一個丟失值較低的「點」。不過后來咱們發現,這一平面有許多部分極值。但這些部分極值并不都有相同好的性質。
Geoffery Hinton:「為了處理一個 14 維空間中的超平面,可視化了一個 3 維空間,并對自己大聲說『十四』。每個人都是這樣做的。」(出處:coursera 課程)
寬的極值和窄的極值。寬的部分極小值在練習和測驗過程中發生類似的丟失;但關于窄的部分極小值而言,練習和測驗中發生的丟失就會有很大區別。這意味著,寬的極值比窄的極值有更好的泛化性。
平整度可以用來衡量一個解的好壞。其間的原理是,練習數據集和測驗數據聚會發生類似但不盡相同的丟失平面。你可以將其幻想為測驗平面相對練習平面而言平移了一點。對窄的解來說,一個在測驗的時分丟失較低的點可能由于這一平移發生變為丟失較高的點。這意味著窄的(尖利的)解的泛化性不好——練習丟失低,測驗丟失高。另一方面,關于寬的(平整的)解而言,這一平移形成的練習丟失和測驗丟失間的差異較小。
我解說了兩種解決方案之間的區別,是由于這篇論文的提出的辦法、也是我這篇文章要點介紹的辦法,就能帶來討人喜歡的、寬的(平整的)解。
快照集成(Snapshot Ensembling)
開始,SGD 會在權值空間中跳出一大步。接著,由于余弦退火,學習率會逐步降低,SGD 將逐步收斂于某個部分解,算法將保存一個模型的「快照」,把它參加集成模型。接著學習率重置為高值,SGD 再次邁一大步,找到另一個部分極值,以此類推。
快照集成的周期長度為 20 到 40 個 epoch。較長的學習率周期是為了在權值空間中找到滿足具有差異化的模型,以發揮集成的優勢。假如模型太類似,那么集成模型中不同網絡的猜測將會過于接近,以至于集成并不會帶來多大益處了。
快照集成體現優異,提高了模型的體現,但快速幾許集成作用更好。
快速幾許集成(Fast Geometric Ensembling,FGE)
《DNNs 的丟失外表、形式連接和快速集成》中提出的快速幾許集成 FGE 和快照集成十分像,可是也有一些共同的特點。它們的不同主要有兩點。榜首,快速幾許集成運用線性分段周期學習率規劃,而不是余弦改變。第二,FGE 的周期長度要短得多——2 到 4 個 epoch。乍一看咱們必定直覺上覺得這么短的周期是不對的,由于每個周期完畢的時分的得到的模型互相之間離得太近了,這樣得到的集成模型沒有什么優勢。但是作者們發現,在滿足不同的模型之間,存在著丟失較低的連通途徑。咱們有時機沿著這些途徑用較小的步長跋涉,一起這些模型也可以有滿足大的差異,滿足發揮集成的優勢。因而,相比快照集成, FGE 體現更好,搜索模型的步長更小(這也使其練習更快)。
FGE 沿著這些途徑保存快照,然后創立快照的集成。
要從快照集成或 FGE 中獲益,需求存儲多個模型,接著讓每個模型做出猜測,之后加以均勻以得到終究猜測。因而,咱們為集成的額定體現支付了更高的算力價值。所以天下沒有免費的午飯。真的沒有嗎?這就是隨機加權均勻的用武之地了。
成都全網推廣-了解更多此方面的朋友請登陸:http://www.zitec.com.cn/!這里有更多的驚喜等著您!