【GiantPandaCV導(dǎo)語】本文介紹的是韓松團(tuán)隊針對欠擬合問題提出的一種解決方案,在代價可接受范圍內(nèi)能夠提升小模型的性能。
引入
專用于解決小型網(wǎng)絡(luò)模型欠擬合 帶來的問題,通過引入更大的模型包圍住小模型從而得到額外的監(jiān)督信息。欠擬合情況下使用正則化方法進(jìn)行處理會導(dǎo)致性能更差。
NetAug適用場景:
-
數(shù)據(jù)集量比較大
-
模型參數(shù)量相對而言比較小
-
由于模型容量有限導(dǎo)致的欠擬合問題
問題明確
- 與知識蒸餾區(qū)別:
知識蒸餾相當(dāng)于學(xué)習(xí)一個soft label(或者說learned label smoothing), 而NetAug主要強(qiáng)調(diào)處理欠擬合問題,通過增強(qiáng)小模型的模型寬度來獲取更多監(jiān)督信息。
- 與普通正則化方法區(qū)別:
正則化方法有數(shù)據(jù)增強(qiáng)方法(Cutout,Mixup,AutoAug,RandAug)和Dropout系列(Dropout,StochasticDepth, SpatialDropout,DropBlock)。與這些解決過擬合正則化方法不同,NetAug主要關(guān)注欠擬合問題,進(jìn)行數(shù)據(jù)增強(qiáng)反而會導(dǎo)致欠擬合問題。
核心方法
如上圖所示,訓(xùn)練的過程中會引入比原先小模型更寬的一系列網(wǎng)絡(luò),用寬網(wǎng)絡(luò)的監(jiān)督信號來增強(qiáng)小模型的學(xué)習(xí)。
第一項是訓(xùn)練單個小網(wǎng)絡(luò)需要的loss, 第二項是寬網(wǎng)絡(luò)帶來的輔助監(jiān)督信息,其中$alpha_i
$是縮放系數(shù)
寬網(wǎng)絡(luò)獲取方式:augmentation factor r和diversity factor s兩個系數(shù)。
-
r 是用于選擇最寬的邊界,假設(shè)基礎(chǔ)寬度為w,那么寬度選擇范圍為【w, rxw】
-
s則是控制采樣頻率,從w到rxw等距采樣s個寬模型。
訓(xùn)練過程:
實(shí)際訓(xùn)練過程權(quán)重更新如下:
每次權(quán)重更新只訓(xùn)練小網(wǎng)絡(luò)和單個寬網(wǎng)絡(luò),這樣可以降低計算代價,并且通過實(shí)驗發(fā)現(xiàn),沒必要同時采樣多個寬網(wǎng)絡(luò)進(jìn)行訓(xùn)練,那樣會導(dǎo)致性能的下降。
通過以上改進(jìn)為欠擬合小模型帶來了一定的收益,同時訓(xùn)練開銷僅增大了17%
實(shí)驗
首先,論文為了證明NetAug和蒸餾方法是不相等的(正交),設(shè)計了一系列實(shí)驗。
最優(yōu)模型實(shí)際上是同時使用了知識蒸餾和NetAug的方案。
為了證明NetAug作用在欠擬合模型,設(shè)計了以下實(shí)驗:
ProxylessNAS Mobile, MCUNet,MobileNetv2都是小模型,在這些小模型上使用NetAug均可以取得不錯的提升。但是在比較大的模型ResNet50上,不存在欠擬合的問題,所以起到了反作用。
為了證明NetAug和其他正則化方法不同,設(shè)計了以下實(shí)驗。
可以發(fā)現(xiàn),在使用KD情況下加入正則化會導(dǎo)致性能下降。
但是使用KD情況下,采用NetAug會使得精度進(jìn)一步提升。
在目標(biāo)檢測算法中應(yīng)用:
總結(jié)
針對過擬合有很多耳熟能詳?shù)奶幚聿呗?,比如Dropout,數(shù)據(jù)增強(qiáng),增加數(shù)據(jù),控制模型復(fù)雜度,正則化等。
而針對模型容量不足帶來的欠擬合問題,通常采用的是增加模型容量,或者增加特征表示。
本文針對欠擬合問題提出了一種更優(yōu)的解法,在保證模型大小不變的情況下,提升小模型的實(shí)際性能,具有很高的價值(缺點(diǎn)是實(shí)現(xiàn)起來比較復(fù)雜)。
本文摘自 :https://www.cnblogs.com/