【深度学习】NetAug(网络增强)—Dropout的反面
很久沒看到這么精彩的提升小模型精度的文章了,細(xì)細(xì)品味。
Large Model vs Tiny Model
本文明確指出大模型過擬合,需要通過dropout等正則化技術(shù)和數(shù)據(jù)增強(qiáng)來提升精度;而小模型是欠擬合的,需要增強(qiáng)網(wǎng)絡(luò)技術(shù),正則化技術(shù)對(duì)小網(wǎng)絡(luò)是有害的。
如上圖所示ResNet50(大模型)正則化后,精度都有所提升,NetAug會(huì)掉點(diǎn);而MobileNetV2-Tiny(小模型)正則化會(huì)掉點(diǎn),NetAug會(huì)提升精度。
Formulation
標(biāo)準(zhǔn)的隨機(jī)梯度下降公式為:
因?yàn)樾∧P偷娜萘渴芟?#xff0c;比起大模型更容易陷入局部最優(yōu),最終導(dǎo)致不能得到最佳性能。為了提升小模型的精度,就需要引入額外的監(jiān)督信號(hào)(比如KD和multi-task learning方法)。dropout方法鼓勵(lì)模型的子集進(jìn)行預(yù)測,而本文提出的NetAug則鼓勵(lì)小模型作為一組大模型的子模型進(jìn)行預(yù)測(這組大模型通過增強(qiáng)小模型的width構(gòu)建的)。總的loss函數(shù)可以寫成:
??表示一個(gè)增強(qiáng)的大模型(包含需要的小模型??,參數(shù)共享),??是縮放系數(shù)。
Constructing Augmented Models
如左圖所示,構(gòu)建一個(gè)最大的增強(qiáng)模型(包含需要的小模型,參數(shù)共享),其他增強(qiáng)模型從最大增強(qiáng)模型中采樣。這種參數(shù)共享構(gòu)建supernet的方式,之前在one-shot NAS中非常流行,詳細(xì)可以看我之前的文章:https://zhuanlan.zhihu.com/p/74985066。
如右圖所示,NetAug通過調(diào)整width構(gòu)建其他增強(qiáng)模型,比起通過調(diào)整depth構(gòu)建增強(qiáng)模型,訓(xùn)練開銷更小。構(gòu)建增強(qiáng)模型引入augmentation factor r和diversity factor s兩個(gè)超參數(shù),假設(shè)我們需要的小模型其中一個(gè)卷積寬度是w,最大增強(qiáng)模型的卷積寬度就是rxw,s表示從w到rw寬度之間等間距采樣s個(gè)增強(qiáng)模型卷積寬度。比如r=3,s=2,那么widths=[w, 2w, 3w]。
訓(xùn)練階段,NetAug在每個(gè)step采樣一個(gè)增強(qiáng)模型進(jìn)行輔助訓(xùn)練。NetAug訓(xùn)練額外開銷相比baseline增加了16.7%,推理額外開銷為0。
Experiments
1.Effectiveness of NetAug for Tiny Deep Learning
可以看到,NetAug和KD是正交的,可以在KD基礎(chǔ)上繼續(xù)提升性能。
在流行的小模型和NAS模型基礎(chǔ)上,NetAug可以繼續(xù)提升性能,但是對(duì)于大模型(ResNet50)來說,NetAug是有害的。
2.Comparison with Regularization Methods
正則化技術(shù)對(duì)于小模型來說是有害的。
3.Combined with Network Pruning
在Pruning的基礎(chǔ)上,NetAug也能提升性能。
4.Large Model vs Tiny Model
上圖清晰的揭示了本文提出的結(jié)論,小模型欠擬合,NetAug可以提升性能;大模型過擬合,NetAug是有害的。
5.The Number of Augmented Model
實(shí)驗(yàn)表明,每個(gè)step采樣一個(gè)augmented model是最有的,r和s超參數(shù)都設(shè)置為3最優(yōu)。
總結(jié)
NetAug vs OFA
NetAug和之前的OFA非常相似,OFA先構(gòu)建一個(gè)大模型,然后訓(xùn)練這個(gè)大模型,最后通過搜索的方式得到小模型。
從上表可以看到,在OFA搜索得到模型的基礎(chǔ)上,NetAug還可以繼續(xù)提升性能,也驗(yàn)證了NetAug可以進(jìn)行網(wǎng)絡(luò)增強(qiáng)的作用。
OFA和NetAug其實(shí)是一體兩面:一個(gè)是自上而下通過supernet搜索最好的子網(wǎng)絡(luò),另一個(gè)是自下而上通過supernet輔助訓(xùn)練小網(wǎng)絡(luò)。一個(gè)是終點(diǎn)未知,找最優(yōu)終點(diǎn)(類似搜索);另一個(gè)是終點(diǎn)已知,增強(qiáng)終點(diǎn)性能(類似動(dòng)態(tài)規(guī)劃)。
OFA的問題在于,大量的時(shí)間資源花費(fèi)在可能跟最終目的無關(guān)的子模型上,而NetAug的優(yōu)勢在于,已知想要的小模型,通過supernet來提升小模型的精度。
小模型欠擬合,需要增加而外的監(jiān)督信息(NetAug、KD、multi-task learning);大模型過擬合,需要正則化。
NetAug和KD的差別在于,KD是通過outer network來輔助訓(xùn)練(提供信息),而NetAug是通過inner network來輔助訓(xùn)練(共享參數(shù))。
正如標(biāo)題所言,NetAug(網(wǎng)絡(luò)增強(qiáng))是Dropout的反面。
Reference
1.https://zhuanlan.zhihu.com/p/74985066
2.ONCE-FOR-ALL: TRAIN ONE NETWORK AND SPE- CIALIZE IT FOR EFFICIENT DEPLOYMENT
3.NETWORK AUGMENTATION FOR TINY DEEP LEARNING
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課黃海廣老師《機(jī)器學(xué)習(xí)課程》711頁完整版課件本站qq群554839127,加入微信群請掃碼:
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的【深度学习】NetAug(网络增强)—Dropout的反面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 优酷视频手机上能发现投屏设备,但投屏失败
- 下一篇: 腾讯视频vip会员_腾讯视频如何查看版本