NetAug 韓松團隊新作

【GiantPandaCV導語】本文介紹的是韓松團隊針對欠擬合問題提出的一種解決方案,在代價可接受範圍內能夠提升小模型的性能。

引入

專用於解決小型網絡模型欠擬合 帶來的問題,通過引入更大的模型包圍住小模型從而得到額外的監督信息。欠擬合情況下使用正則化方法進行處理會導致性能更差。

NetAug適用場景:

  • 數據集量比較大

  • 模型參數量相對而言比較小

  • 由於模型容量有限導致的欠擬合問題

問題明確

  • 與知識蒸餾區別:

知識蒸餾相當於學習一個soft label(或者說learned label smoothing), 而NetAug主要強調處理欠擬合問題,通過增強小模型的模型寬度來獲取更多監督信息。

  • 與普通正則化方法區別:

正則化方法有數據增強方法(Cutout,Mixup,AutoAug,RandAug)和Dropout系列(Dropout,StochasticDepth, SpatialDropout,DropBlock)。與這些解決過擬合正則化方法不同,NetAug主要關注欠擬合問題,進行數據增強反而會導致欠擬合問題。

核心方法

如上圖所示,訓練的過程中會引入比原先小模型更寬的一系列網絡,用寬網絡的監督信號來增強小模型的學習。

第一項是訓練單個小網絡需要的loss, 第二項是寬網絡帶來的輔助監督信息,其中$\alpha_i
$是縮放係數

寬網絡獲取方式:augmentation factor r和diversity factor s兩個係數。

  • r 是用於選擇最寬的邊界,假設基礎寬度爲w,那麼寬度選擇範圍爲【w, rxw】

  • s則是控制採樣頻率,從w到rxw等距採樣s個寬模型。

訓練過程:

實際訓練過程權重更新如下:

\[W_{t}^{n+1}=W_{t}^{n}-\eta\left(\frac{\partial \mathcal{L}\left(W_{t}^{n}\right)}{\partial W_{t}^{n}}+\alpha \frac{\partial \mathcal{L}\left(\left[W_{t}^{n}, W_{i}^{n}\right]\right)}{\partial W_{t}^{n}}\right) \]

每次權重更新只訓練小網絡和單個寬網絡,這樣可以降低計算代價,並且通過實驗發現,沒必要同時採樣多個寬網絡進行訓練,那樣會導致性能的下降。

通過以上改進爲欠擬合小模型帶來了一定的收益,同時訓練開銷僅增大了17%

實驗

首先,論文爲了證明NetAug和蒸餾方法是不相等的(正交),設計了一系列實驗。

最優模型實際上是同時使用了知識蒸餾和NetAug的方案。

爲了證明NetAug作用在欠擬合模型,設計了以下實驗:

ProxylessNAS Mobile, MCUNet,MobileNetv2都是小模型,在這些小模型上使用NetAug均可以取得不錯的提升。但是在比較大的模型ResNet50上,不存在欠擬合的問題,所以起到了反作用。

爲了證明NetAug和其他正則化方法不同,設計了以下實驗。

可以發現,在使用KD情況下加入正則化會導致性能下降。

但是使用KD情況下,採用NetAug會使得精度進一步提升。

在目標檢測算法中應用:

總結

圖源https://zhuanlan.zhihu.com/p/72038532

針對過擬合有很多耳熟能詳的處理策略,比如Dropout,數據增強,增加數據,控制模型複雜度,正則化等。

而針對模型容量不足帶來的欠擬合問題,通常採用的是增加模型容量,或者增加特徵表示。

本文針對欠擬合問題提出了一種更優的解法,在保證模型大小不變的情況下,提升小模型的實際性能,具有很高的價值(缺點是實現起來比較複雜)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章