NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀

AMiner学术头条發表於2020-11-24

論文名稱:Improving Auto-Augment via Augmentation-Wise Weight Sharing

背景與挑戰

資料增強是深度學習中被廣泛運用的一項正則化技術,其被用於提升資料分佈的多樣性。例如對影像資料,常用的操作有仿射變換、調整色相/飽和度/曝光、銳化等。最近一些自動資料增強演算法被提出,其旨在自動搜尋一些資料增強策略(通常可表示為各個操作的機率分佈),使得在這些策略下進行訓練的模型可以得到更好的效能表現。這些自動演算法已經取得了顯著的成果,在許多工上遠遠超過了人工設計的增強策略。然而,這項技術仍然存在挑戰:

1.速度:一個最直接的搜尋方式是每次從頭訓練模型,以其最終的驗證集效能為指標來評估增強策略並更新。這需要成千上萬次的反覆訓練,開銷巨大。只有Google最早的自動資料增強[1] 使用了這樣的搜尋方式。我們把這個搜尋方式稱為“原始任務”。

2.可靠性:後續許多自動增強演算法選擇犧牲可靠性來換取效率。這些演算法大都採用了迭代近似的思想,設計了一項“代理任務”代替“原始任務”,即:只完整地訓練一次模型;每隔一個或數個模型最佳化迭代步數,就選擇一次指標來評估、更新資料增強策略。然而最近一些神經網路架構搜尋(NAS)的工作指出,對訓練早期的模型進行評估往往是不準確的(早期表現優秀的模型,在後期不一定仍然優秀)。這在我們的實驗中也得到了驗證。如下圖,不同資料增強策略下的模型,在訓練過程中的相對排名變化很大。

NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀

一個更理想的自動資料增強演算法需要同時兼顧效率與可靠性。為實現這一點,我們觀察了帶有資料增強的訓練過程。透過發現的一些性質,同時藉由NAS領域的權重共享策略,我們提出了一種新型自動資料增強演算法。

動機

1.資料增強的性質

我們不妨先從另一項正則化手段入手:早停(Early Stopping),即在驗證集誤差開始顯著上升時停止訓練。早停非常符合直覺,其也許能體現過擬合帶來的負面影響往往是在後期才顯露出來的。因此,我們猜想資料增強也有類似性質:資料增強主要是在後期提升模型的泛化能力。為了驗證這一點,我們在CIFAR10上使用Google AutoAug [1]對ResNet18在不同階段進行了資料增強。即:我們始終訓練300輪(epoch)模型,但只在開頭或結尾的Naug輪裡進行資料增強。結果如下圖,藍色實線代表在開頭數個輪次的訓練中帶有資料增強,橙色虛線代表在末尾數個輪次的訓練中帶有資料增強。例如圖中標出的藍點表示在第1至第75個輪次裡使用了資料增強,而在第76至第300個輪次裡未使用。
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀

由圖可見資料增強確實在後期作用更加顯著。例如均只在x輪採用資料增強,那麼將x輪放在訓練後期比放在前期會帶來更大的提升;同時,為了達到相同的精度,在後期進行增強相比在前期進行增強,需要的輪數更少。

2.權重共享的思想

既然資料增強在後期更加重要,我們大可利用這一點,嘗試將前期不太重要的階段“共享”起來,只聚焦在後期進行評估和搜尋,來達到提升效率的目的。受NAS中權重共享思想的啟發,我們提出了一個新的“代理任務”,它把模型的訓練過程分為前期、後期兩階段。在前期,模型會在一個“共享策略”的增強下進行訓練,得到“共享權重”;在後期我們才真正進行策略評估和搜尋,模型會在當前正在被搜尋的策略的增強下進行訓練,得到最終的驗證集效能並用於更新策略。

方法介紹

1.問題建模與搜尋演算法

自動資料增強旨在自動搜尋能使驗證集效能最好的資料增強策略。原始任務需要反覆從頭訓練模型,並以最終驗證集準確度作為評估指標。這是一個典型的雙層最佳化問題(ω表示分類器模型的權重,θ表示自動資料增強策略的權重):
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀

直接求解雙層最佳化問題會非常耗時。而對於我們的分階段代理任務,在早期我們會選取一個能夠代表各種策略的共享策略,在其增強下訓練一個共享的模型權重
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀

在後期我們則會讓分類器模型繼承早期的共享權重,進行fine-tune和策略搜尋
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀由於早期訓練使用的策略是共享策略,與搜尋過程完全解耦,因此共享權重只需訓練一次即可用於後續的全部搜尋,顯著提升了搜尋效率。我們將這一權重共享思想稱為“Augmentation-wiseWeight Sharing”。

於是當前問題轉化為:如何選取具有代表性的共享策略?經過推導發現,一個均勻分佈下的策略,可以使單獨訓練和共享訓練的增強操作取樣分佈之間的KL散度最小。至此,我們便可以得到完整的AWS Auto-Aug搜尋演算法:
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀
2.搜尋空間與搜尋策略

為了與先前工作進行更公平的對比,我們選擇了與其幾乎一致的搜尋空間(我們甚至在搜尋空間中去掉了更強大的增強操作:Cutout與Sample Pairing)。對於搜尋策略,由於我們提出的方法是通用的,任何啟發式搜尋演算法均適用。實驗中我們發現PPO強化學習演算法(也是Google AutoAug使用的演算法)已經有了足夠好的表現。

實驗結果

1.表現對比

我們在3個最主流的影像分類資料集和4個主流模型上進了演算法表現對比。結果如下,在各資料集、各模型上我們均取得了最優表現;尤其是在未使用額外資料的CIFAR-10上,在我們搜尋得到的資料增強策略下,PyramidNet取得了新的SOTA效能(舊的SOTA效能為Adv. AA [2] 策略下的PyramidNet):
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀2.時間開銷對比

我們以OHL AutoAug [3] 的時間開銷為基準(1x),以WideResNet-28x10在CIFAR-10上使用Cutout的錯誤率為基準(0%),對比各方法的時間開銷和相對誤差降低如下。可見我們的方法在可接受的計算量內取得了很好的表現。
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀3.代理任務可靠性對比

為了驗證我們所選擇代理任務相比其他代理任務的高可靠性,我們計算了在搜尋過程中取得的準確度和最終準確度的相關性,結果如圖所示:
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀4.消融實驗

為了驗證我們搜尋得到的策略的有效性,我們將我們的策略和Google AutoAug的策略中機率最高的增強操作逐個去除,並觀察效能的變化。結果如下表所示,可見我們搜尋得到的策略確實更有效。
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀5.搜尋過程展示

最後,我們還展示了我們的策略分佈在整個搜尋過程中的變化。如下圖所示(左右分別對應CIFAR-10、ImageNet),增強操作在最初均為均勻分佈(圖中做了平滑);隨著搜尋程式推進,多數操作的機率開始趨向0,而為數不多的數個操作的機率則不斷增大,體現出分化的過程。
NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動資料增強方法解讀

結語

在這項工作中我們提出了一種利用權重共享思想的新型自動資料增強方法。該方法很好地解決了自動資料增強的評估效率與評估可靠性之間的矛盾問題,充足的實驗結果也驗證了其的高效性和有效性。最後,我們還期待這項工作中的現象或蘊含的思想能夠對更多的超引數最佳化工作帶來幫助和啟發。如果您希望作進一步討論,歡迎與我們聯絡:tiankeyu.00@gmail.com。

References

[1] Cubuk, Ekin D., et al. "Autoaugment: Learning augmentation policies from data." arXiv preprint arXiv:1805.09501 (2018).
[2] Zhang, Xinyu, et al. "Adversarial autoaugment." arXiv preprint arXiv:1912.11188 (2019).
[3] Lin, Chen, et al. "Online hyper-parameter learning for auto-augmentation strategy."Proceedings of the IEEE International Conference on Computer Vision. 2019.

相關文章