大家好,歡迎來到專欄《AutoML》,在這個專欄中我們會講述AutoML技術在深度學習中的應用。這一期講述在激活函數設計中的應用。
激活機制是一個網絡非線性表達能力的來源,早期研究人員已經設計出了不少的激活函數,從sigmoid到relu系列,關於詳細解讀可以查看往期文章。
隨著AutoML技術的發展,現在研究人員開始使用搜索技術來進行設計,本文簡介相關技術發展。
1 從Relu到Swish
Google Brain是AutoML的先驅,從自動設計網絡的NAS到自動數據增強的AutoAugment,因此很自然也最早做自動搜索最優的激活函數工作。
文[1]就在一系列一元函數和二元函數組成的搜索空間中,進行了比較細緻的組合搜索實驗。
結論是好用的激活函數都比較簡單,不會超過兩個基本函數的乘的組合。搜到了一些比Relu表現更好的函數,最好的是一個這樣的函數:x · σ(βx),被稱為Swish,它在某個特定的參數下也和ReLU及其變種類似,看看圖就知道了。
該方法做實驗時的一元函數和二元函數的搜索空間已經覆蓋我們能想到的一些簡單的函數了。
後來研究者們[2]驗證了Swish甚至在很多的NLP任務中都非常有效。
在Swish的基礎上,後續的研究人員設計了EliSH,HardEliSH[3],並針對不同的任務學習到了最好的激活函數。
2 Hybrid DNN
每一個網絡層都使用同樣的激活函數,這是最優的配置嗎?顯然不是。Hybrid DNN[4]的研究人員就研究了對不同的網絡層進行不同激活函數機制的搜索問題,其流程如下:
從流程上來看,就是有一個激活函數庫,然後每次從中選擇配置到每一個網絡層,使用驗證集精度來進行最優配置搜索。
關於每一個網絡層配置不同的策略,以後我們還會講到不同的歸一化層等配置,這也是一個小的研究方向吧。
參考文獻
[1] Ramachandran P, Zoph B, Le Q V. Searching for activation functions[J]. arXiv preprint arXiv:1710.05941, 2017.
[2] Eger S, Youssef P, Gurevych I. Is it time to swish? comparing deep learning activation functions across NLP tasks[J]. arXiv preprint arXiv:1901.02671, 2019.
[3] Basirat M , Roth P M . The Quest for the Golden Activation Function[J]. 2018.
[4] Marchisio A, Hanif M A, Rehman S, et al. A Methodology for Automatic Selection of Activation Functions to Design Hybrid Deep Neural Networks[J]. arXiv preprint arXiv:1811.03980, 2018.
[5] Nwankpa C , Ijomah W , Gachagan A , et al. Activation Functions: Comparison of trends in Practice and Research for Deep Learning[J]. 2018.
總結
本次我們討論的內容不涉及到一些學習參數的激活函數如Prelu,而是集中於全新的激活函數形式的探索以及逐層自適應的方案。研究點雖小,也有可以關注一下的。
下期預告:AutoML在歸一化機制中的應用。
閱讀更多 有三AI 的文章