【AutoML】归一化(Normalization)方法如何进行自动学习和配置
大家好,歡迎來到專欄《AutoML》,在這個專欄中我們會講述AutoML技術在深度學習中的應用。這一期講述在歸一化機制中的應用。
作者&編輯 | 言有三
數據經過歸一化和標準化后可以加快梯度下降的求解速度,這是Batch Normalization等技術非常流行的原因,它使得可以使用更大的學習率更穩定地進行梯度傳播,甚至增加網絡的泛化能力。
1 Switchable Normalization
現在我們在每一個網絡層中都使用同樣的歸一化,這是最優的配置嗎?顯然不是,因為實際應用中不同的問題就有它最合適的歸一化操作。比如RNN等時序模型,有時候同一個batch內部的訓練實例長度不一(不同長度的句子),則不同的時態下需要保存不同的統計量,無法正確使用BN層,只能使用Layer Normalization。對于圖像生成以及風格遷移類應用,使用Instance Normalization更加合適。對于Batch比較小的情況下,Group Normalization是一個替換的方案。
Switchable Normalization[1]的研究便是關注如何讓不同的網絡層學習到最適合該層的歸一化機制,方法就是在包含各類歸一化方法的池中進行選擇,然后用精度進行比較擇優。
上圖是對于各類任務中,學習到的最適合該方法的BN,IN,LN,GN的比例。
可以看到,對于分類,檢測任務主干模型,BN更常用,對于LSTM任務,LN一家獨大,對于Image Style Transfer任務,IN一家獨大。
這便是Switchable Normalization(SN),具體的搜索過程大家可以閱讀原文細節以及開源的代碼。
2 SN與minibatch
眾所周知,minibatch size的變化對BN是有影響的,minibatch過小,均值和方差統計量的估計噪聲就過大,影響模型的泛化性能。IN,LN和GN計算統計量時雖然與minibatch無關,卻也失去了BN帶來的正則化能力,因此更容易產生明顯的過擬合。SN在任務中自適應地學習出最佳配置,從而使得模型對minibatch更加不敏感。
具體來說,minibatch越小,BN越不穩定,權重系數越小,IN和LN的權重系數則越大;minibatch越大,BN的權重系數就越大,反之IN和LN的權重系數越小。
上圖為不同minibatch下的權重系數的比例,括號中分別表示GPU數目,每個GPU的樣本數。可以看出,隨著minibatch的不斷減小,BN的權重越來越低。
3 SN的改進
針對SN中使用softmax進行重要性學習存在的冗余計算問題,Sparse Switchable Normalization方法將softmax轉換成了稀疏的形式,對每一個歸一化層只選擇一個歸一化操作。
由于歸一化方法的不同在于用于計算歸一化的集合,所以往后的發展可能集中在如何選擇用于歸一化的集合,以及針對具體任務學習均值和方差,感興趣的可以繼續跟進。
[1]?Luo P, Ren J, Peng Z, et al. Differentiable learning-to-normalize via switchable normalization[J]. arXiv preprint arXiv:1806.10779, 2018.
[2]?Shao W, Meng T, Li J, et al. Ssn: Learning sparse switchable normalization via sparsestmax[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 443-451.
[3] github鏈接
https://github.com/switchablenorms/Switchable-Normalization
https://github.com/switchablenorms/Sparse_SwitchNorm
總結
本次我們介紹了一種對各類歸一化方法進行自動學習的機制,它相比固定的配置歸一化方法更加靈活,也能取得更優的結果。
下期預告:AutoML在優化方法中的應用。
有三AI秋季劃
有三AI秋季劃已經正式啟動報名,模型優化,人臉算法,圖像質量共24個項目,助力提升深度學習計算機視覺算法和工程項目能力。
轉載文章請后臺聯系
侵權必究
往期文章
總結
以上是生活随笔為你收集整理的【AutoML】归一化(Normalization)方法如何进行自动学习和配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我为什么要冒险从工业界离职做内容平台有三
- 下一篇: 【知识星球】卷积核和感受野可动态分配的分