隨機(jī)加權(quán)平均使得深度學(xué)習(xí)獲得最優(yōu)的辦法

這兩篇論文提供了一種簡(jiǎn)單的方式骆捧,通過(guò)使用一種巧妙的集成方法提升神經(jīng)網(wǎng)絡(luò)的性能。

  1. Garipov 等人提出的 “Loss Surfaces, Mode Connectivity, and Fast Ensembling of DNNs”
    https://arxiv.org/abs/1802.10026

  2. Izmailov 等人提出的 “Averaging Weights Leads to Wider Optima and Better Generalization”
    https://arxiv.org/abs/1803.05407

若希望更容易理解這篇博客顿膨,可以先閱讀這一篇論文:

傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)集成方法

傳統(tǒng)的集成方法通常是結(jié)合幾種不同的模型锅锨,并使他們對(duì)相同的輸入進(jìn)行預(yù)測(cè),然后使用某種平均方法得到集合的最終預(yù)測(cè)恋沃。 它可以是簡(jiǎn)單的投票法必搞,平均法∧矣剑或者甚至可以使用另一個(gè)模型恕洲,根據(jù)集成模型的輸入學(xué)習(xí)并預(yù)測(cè)正確的值或標(biāo)簽。嶺回歸是一種特殊的集成方法梅割,被許多在 Kaggle 競(jìng)賽獲獎(jiǎng)的機(jī)器學(xué)習(xí)從業(yè)人員所使用霜第。

網(wǎng)絡(luò)快照集成法是在每次學(xué)習(xí)率周期結(jié)束時(shí)保存模型,然后在預(yù)測(cè)過(guò)程中同時(shí)使用保存下來(lái)的模型户辞。

當(dāng)集成方法應(yīng)用在深度學(xué)習(xí)中時(shí)泌类,可以通過(guò)組合多個(gè)神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè),從而得到一個(gè)最終的預(yù)測(cè)結(jié)果底燎。通常情況下刃榨,集成不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)是一個(gè)很好的方法弹砚,因?yàn)椴煌哪P涂赡茉诓煌挠?xùn)練樣本上犯錯(cuò),因此集成模型將會(huì)得到更大的好處枢希。

網(wǎng)絡(luò)快照集成法使用基于退火策略的循環(huán)學(xué)習(xí)率策略桌吃。

但是,你也可以集成相同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型苞轿,也會(huì)得到很棒的結(jié)果茅诱。在網(wǎng)絡(luò)快照集成法論文中,作者基于這種方法使用了一個(gè)非撑皇海酷的技巧让簿。作者在訓(xùn)練相同網(wǎng)絡(luò)時(shí)使用權(quán)重快照,在訓(xùn)練結(jié)束后用這些結(jié)構(gòu)相同但權(quán)重不同的模型創(chuàng)建一個(gè)集成模型秀睛。這種方法使測(cè)試集效果提升尔当,而且這也是一種非常簡(jiǎn)單的方法,因?yàn)槟阒恍枰?xùn)練一次模型蹂安,將每一時(shí)刻的權(quán)重保存下來(lái)就可以了椭迎。

想要了解更多的細(xì)節(jié),你可以參考這個(gè)博客田盈。如果你還沒(méi)有使用循環(huán)學(xué)習(xí)率策略畜号,那么你一定要了解它。因?yàn)檫@是當(dāng)前最先進(jìn)而且最簡(jiǎn)單的訓(xùn)練技巧了允瞧,計(jì)算量不大简软,也幾乎不需要額外成本就可以提供很大的收益。

上面的例子都是基于模型的集成方法述暂,因?yàn)樗鼈兪峭ㄟ^(guò)結(jié)合多個(gè)模型的預(yù)測(cè)從而產(chǎn)生最終的預(yù)測(cè)結(jié)果痹升。

但在這篇博客即將討論的論文中,作者提出了一種新的基于權(quán)重的集成方法畦韭。這種方法通過(guò)結(jié)合相同網(wǎng)絡(luò)結(jié)構(gòu)不同訓(xùn)練階段的權(quán)重獲得集成模型疼蛾,然后進(jìn)行預(yù)測(cè)。這種方法有兩個(gè)優(yōu)點(diǎn):

  • 當(dāng)結(jié)合權(quán)重時(shí)艺配,我們最后仍然是得到一個(gè)模型察郁,這提升了預(yù)測(cè)的速度
  • 實(shí)驗(yàn)結(jié)果表明,這種方法打敗了當(dāng)前最先進(jìn)的網(wǎng)絡(luò)快照集成法

來(lái)看看它是怎么實(shí)現(xiàn)的吧转唉。但首先我們需要了解一些關(guān)于損失平面和泛化問(wèn)題的重要結(jié)論皮钠。

權(quán)重空間中的解決方案

第一個(gè)重要的觀點(diǎn)是:一個(gè)訓(xùn)練好的網(wǎng)絡(luò)是多維權(quán)重空間中的一個(gè)點(diǎn)。對(duì)于一個(gè)給定的網(wǎng)絡(luò)結(jié)構(gòu)酝掩,每一種不同的權(quán)重組合將得到不同的模型鳞芙。因?yàn)樗心P徒Y(jié)構(gòu)都有無(wú)限多種權(quán)重組合,所以將有無(wú)限多種組合方法期虾。訓(xùn)練神經(jīng)網(wǎng)絡(luò)的目標(biāo)是找到一個(gè)特別的解決方案(權(quán)重空間中的點(diǎn))原朝,從而使訓(xùn)練集和測(cè)試集上的損失函數(shù)的值達(dá)到很小。

訓(xùn)練過(guò)程中镶苞,通過(guò)改變權(quán)重喳坠,訓(xùn)練算法改變網(wǎng)絡(luò)的結(jié)構(gòu),并在權(quán)重空間中不斷搜索茂蚓。隨機(jī)梯度下降法在損失平面上傳播壕鹉,損失平面的高低由損失函數(shù)的值決定。

局部與全局最優(yōu)解

可視化與理解多維權(quán)重空間的幾何特點(diǎn)是非常困難的聋涨。同時(shí)晾浴,這也是非常重要的,因?yàn)樵谟?xùn)練時(shí)牍白,隨機(jī)梯度下降法的本質(zhì)是在多維空間的損失平面上傳播脊凰,并努力找到一個(gè)好的解決方案--損失平面上的一個(gè)損失函數(shù)值很低的"點(diǎn)”。眾所周知茂腥,這些平面有許多局部最優(yōu)解狸涌,但并不是所有局部最優(yōu)解都是優(yōu)秀的解決方案。

Hinton: “為了處理14維空間中的超平面最岗, 可視化3維空間并大聲對(duì)自己說(shuō)“14”帕胆。 每個(gè)人都這樣做“愣桑“

局部和全局最優(yōu)解懒豹。在訓(xùn)練和測(cè)試過(guò)程中,平滑的最低值會(huì)產(chǎn)生相似的損失驯用。然而脸秽,訓(xùn)練和測(cè)試過(guò)程中產(chǎn)生的局部損失,有非常大的差異晨汹。換句話說(shuō)豹储,全局最小值比局部最小值更通用。

判斷解決方案好壞的一個(gè)標(biāo)準(zhǔn)就是該方案解的平滑性淘这。 這一思想在于訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)會(huì)產(chǎn)生類似的但并不完全一樣的損失面剥扣。你可以想象一下,一個(gè)測(cè)試表面相對(duì)于訓(xùn)練表面移動(dòng)一點(diǎn)铝穷。對(duì)于一個(gè)局部解钠怯,在測(cè)試過(guò)程中,因?yàn)檫@一點(diǎn)移動(dòng)曙聂,一個(gè)給出低損失值的點(diǎn)會(huì)給出一個(gè)高損失值晦炊。這意味著這個(gè)”局部“解決方案沒(méi)有產(chǎn)生最優(yōu)值——訓(xùn)練損失小,而測(cè)試損失大。另一方面断国,對(duì)于一個(gè)”全局“平滑解決方案贤姆,這一點(diǎn)移動(dòng)會(huì)導(dǎo)致訓(xùn)練和測(cè)試損失的差值很小。

我之所以解釋局部和全局解決方案的不同稳衬,是因?yàn)檫@篇博客聚焦的新方法提供非常好的全局解決方案霞捡。

快照集成

最初,隨機(jī)梯度下降(SGD薄疚,Stochastic Gradient Descent) 會(huì)在權(quán)重空間產(chǎn)生大的躍變碧信。隨后,當(dāng)學(xué)習(xí)率由于余弦退火算法越來(lái)越小時(shí)街夭, SGD 會(huì)收斂到某個(gè)局部解砰碴,該算法會(huì)對(duì)模型拍個(gè)”快照“,即將這個(gè)局部解加入到集合中板丽。接著呈枉,學(xué)習(xí)率再次被重置成高值,SGD在收斂到某個(gè)不同的局部解之前檐什,再次產(chǎn)生一個(gè)大的躍變碴卧。

快照集成方法的循環(huán)長(zhǎng)度是20到40個(gè) epoch(使用訓(xùn)練集的全部數(shù)據(jù)對(duì)模型進(jìn)行一次完整的訓(xùn)練,稱為一個(gè)epoch)乃正。長(zhǎng)學(xué)習(xí)率循環(huán)的思想在于能夠在權(quán)重空間找到足夠多不同的模型住册。如果模型相似度太高,集合中各網(wǎng)絡(luò)的預(yù)測(cè)就會(huì)太接近瓮具,而體現(xiàn)不出集成帶來(lái)的好處荧飞。

快照集成確實(shí)效果很好,提高了模型的性能名党,但是快速幾何集成更有效叹阔。

快速幾何集成 (FGE)

快速幾何集成與快照集成類似,但有一些與快照集成不同的特征传睹。FGE使用線性分段循環(huán)學(xué)習(xí)率策略代替余弦耳幢。其次,F(xiàn)GE的循環(huán)長(zhǎng)度更短——每個(gè)循環(huán)只有2到4個(gè)epoch欧啤。最初的直覺(jué)認(rèn)為睛藻,短循環(huán)是錯(cuò)誤的,因?yàn)槊看窝h(huán)結(jié)束時(shí)產(chǎn)生的模型都非常相似邢隧,差別不大店印,所以集成這些模型不能帶來(lái)益處。然而倒慧,正如作者發(fā)現(xiàn)的按摘,由于在足夠多的不同模型間包券,存在低損失的連接通路,沿著那些通路炫贤,采用短循環(huán)是可行的溅固,而且在這一過(guò)程中,會(huì)產(chǎn)生差異足夠大的模型照激,集成這些模型會(huì)產(chǎn)生很好的結(jié)果发魄。因此盹牧,與快照集成相比俩垃,F(xiàn)GE提高了模型的性能,每次循環(huán)經(jīng)過(guò)更少的epoch就能找到差異足夠大的模型(這使訓(xùn)練速度更快)汰寓。

左邊:傳統(tǒng)觀點(diǎn)認(rèn)為好的局部最小值被高損失區(qū)域分隔開(kāi)口柳。如果我們觀察連接局部最小值的直線,會(huì)發(fā)現(xiàn)這是正確的有滑。中間和右邊:然而跃闹,在局部最小值之間存在通路,這些通路上的損失值始終很低毛好。FGE沿著這些通路拍快照望艺,并利用這些快照構(gòu)建一個(gè)集合。

為了從快照集成或者FGE中獲益肌访,需要存儲(chǔ)多種模型并得出這些模型的預(yù)測(cè)找默,然后對(duì)這些預(yù)測(cè)求平均,作為最終的預(yù)測(cè)吼驶。因此惩激,集合的附加性能需要消耗更多的計(jì)算。所以沒(méi)有免費(fèi)的午餐蟹演》缱辏或許是有的?這是一篇關(guān)于隨機(jī)加權(quán)平均的新論文所獲得的成果酒请。

隨機(jī)加權(quán)平均(SWA骡技,Stochastic Weight Averaging)

隨機(jī)加權(quán)平均和快速幾何集成非常近似,除了計(jì)算損失的部分羞反。 SWA 可以應(yīng)用于任何架構(gòu)和數(shù)據(jù)集布朦,而且都能產(chǎn)生較好的結(jié)果。這篇論文給出了參考建議苟弛,SWA可以得到更大范圍的最小值喝滞,上文已經(jīng)討論過(guò)這一點(diǎn)的好處。SWA不是經(jīng)典意義上的集成膏秫。在訓(xùn)練結(jié)束的時(shí)候右遭,會(huì)產(chǎn)生一個(gè)模型做盅,這個(gè)模型的性能優(yōu)于快照集成,接近FGE窘哈。

左邊:W1,W2和W3 代表了3個(gè)獨(dú)立的訓(xùn)練網(wǎng)絡(luò)吹榴,Wswa是它們的平均。 中間:與SGD相比滚婉,Wswa 在測(cè)試集上產(chǎn)生了更優(yōu)越的性能图筹。右邊:注意即使Wswa在訓(xùn)練集上的性能更差,它在測(cè)試集上的效果仍然更好让腹。

SWA的靈感來(lái)自于實(shí)際觀察远剩,每次學(xué)習(xí)率循環(huán)結(jié)束時(shí)產(chǎn)生的局部最小值趨向于在損失面的邊緣區(qū)域累積,這些邊緣區(qū)域上的損失值較泻稀(上面左圖中瓜晤,顯示低損失的紅色區(qū)域上的點(diǎn)W1,W2和W3)腹纳。通過(guò)對(duì)幾個(gè)這樣的點(diǎn)取平均痢掠,很有可能得到一個(gè)甚至更低損失的、全局化的通用解(上面左圖上的Wswa)嘲恍。

這兒展示了 SWA 是如何工作的足画。不需要集成很多模型,只需要兩個(gè)模型佃牛。

第一個(gè)模型存儲(chǔ)模型權(quán)重的平均值(公式中的 w_swa )淹辞。這就是訓(xùn)練結(jié)束后的最終模型,用于預(yù)測(cè)吁脱。

第二個(gè)模型(公式中的w)變換權(quán)重空間桑涎,利用循環(huán)學(xué)習(xí)率策略找到最優(yōu)權(quán)重空間。

隨機(jī)加權(quán)平均權(quán)重更新公式

每次學(xué)習(xí)率循環(huán)結(jié)束的時(shí)候兼贡,第二個(gè)模型的當(dāng)前權(quán)重會(huì)被用于更新正在運(yùn)行的平均模型的權(quán)重攻冷,即對(duì)已有的平均權(quán)重和第二個(gè)模型產(chǎn)生的新權(quán)重進(jìn)行加權(quán)平均(左圖中的公式)。采用這個(gè)方法遍希,訓(xùn)練時(shí)等曼,只需要訓(xùn)練一個(gè)模型,存儲(chǔ)兩個(gè)模型凿蒜。而預(yù)測(cè)時(shí)禁谦,只需要一個(gè)當(dāng)前的平均模型進(jìn)行預(yù)測(cè)。用這個(gè)模型做預(yù)測(cè)废封,比前面提到的方法州泊,速度快得多。之前的方法是用集合中的多個(gè)模型做預(yù)測(cè)漂洋,然后對(duì)多個(gè)預(yù)測(cè)結(jié)果求平均遥皂。

實(shí)現(xiàn)

該論文的作者提供了他們自己的實(shí)現(xiàn)力喷,這個(gè)實(shí)現(xiàn)是用PyTorch完成的。

當(dāng)然演训,著名的fast.ai庫(kù)也實(shí)現(xiàn)了SWA弟孟。每個(gè)人應(yīng)該都在使用這個(gè)庫(kù)。如果你還沒(méi)有看到這個(gè)課程样悟,請(qǐng)點(diǎn)擊此鏈接拂募。

原文鏈接:

https://towardsdatascience.com/stochastic-weight-averaging-a-new-way-to-get-state-of-the-art-results-in-deep-learning-c639ccf36a

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市窟她,隨后出現(xiàn)的幾起案子陈症,更是在濱河造成了極大的恐慌,老刑警劉巖礁苗,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爬凑,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡试伙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門于样,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疏叨,“玉大人,你說(shuō)我怎么就攤上這事穿剖≡槁” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵糊余,是天一觀的道長(zhǎng)秀又。 經(jīng)常有香客問(wèn)我,道長(zhǎng)贬芥,這世上最難降的妖魔是什么吐辙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮蘸劈,結(jié)果婚禮上昏苏,老公的妹妹穿的比我還像新娘。我一直安慰自己威沫,他們只是感情好贤惯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著棒掠,像睡著了一般孵构。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烟很,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天颈墅,我揣著相機(jī)與錄音棒假,去河邊找鬼。 笑死精盅,一個(gè)胖子當(dāng)著我的面吹牛帽哑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叹俏,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼妻枕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了粘驰?” 一聲冷哼從身側(cè)響起屡谐,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蝌数,沒(méi)想到半個(gè)月后愕掏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡顶伞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年饵撑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唆貌。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡滑潘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锨咙,到底是詐尸還是另有隱情语卤,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布酪刀,位于F島的核電站粹舵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏骂倘。R本人自食惡果不足惜眼滤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稠茂。 院中可真熱鬧柠偶,春花似錦、人聲如沸睬关。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)电爹。三九已至蔫仙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丐箩,已是汗流浹背摇邦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工恤煞, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人施籍。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓居扒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丑慎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子喜喂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容