作者 | 陳大鑫
激活函數,想必大家再熟悉不過了,做深度學習很難不用到激活函數。
現代神經網絡的激活層都要使用到非線性函數來激活神經元,而現代神經網絡往往層數都動不動上百層,那某一層的激活函數對這一層的所有神經元都要激活嗎?
如果某些神經元不激活,效果會不會更好呢?
如果是,那到底什麼時候應該激活什麼時候不激活呢?
最近,馬寧寧、張祥雨、孫劍等人合作的一篇題為《Activate or Not: Learning Customized Activation》的論文提出了一種新的激活函數:ACON,它可以自適應地學習是否激活神經元。
論文連結:https//arxiv.org/abs/2009.04759.pdf
論文第一作者:馬寧寧,香港科技大學與曠視聯合培養博士,導師quan long,主要研究方向為計算機視覺和高性能卷積神經網絡。
馬寧寧博士這兩年來已經發過三篇ECCV 一作:ShuffleNet V2、WeightNet,FReLU:
其中的ShuffleNet V2在業界很有名氣:
孫劍博士不是別人,正是大家所熟知的曠視首席科學家、曠視研究院院長。
張祥雨博士是孫劍首個深度學習博士,曾經3年看完1800篇論文,目前是曠視研究院基礎模塊組負責人。
他也是CV圈大名鼎鼎的研究員,是曾經和何凱明大神合作ResNet的第二作者,
以下是AI科技評論對本論文的詳細介紹。
1
簡介
Relu激活函數已成為神經網絡中的一個有效組成部分,是當前計算機視覺算法的基礎。隨著一系列後續研究,NAS(神經架構搜索)技術驗證了Swish激活在具有挑戰性的ImageNet數據集上能獲得顯著提升。許多後續的神經網絡結構通過使用Swish獲得了更好的性能。
我們的目標是解釋這個搜索結果背後的機制,並提出更有效的激活函數。儘管NAS在現代激活上取得了新進展,但一個自然的問題是:NAS搜索的Swish事實上是如何工作的?
我們發現Swish可以表示為ReLU的簡單而通用的平滑近似:
我們把該方法稱為ACON,它遵循從ReLU到Swish轉換的原則,通過同樣的平滑近似公式將ReLU族轉換為ACON族。
轉換後的函數(ACON-A,ACON-B,ACON-C)是平滑可微的,Swish是其中的一個特例(ACON-A)。
ACON概念簡單,不增加計算開銷,但是它顯著提高了準確率。為了得到這個結果,我們認為梯度中固定的上下界是阻礙精度提高的主要原因,並給出了具有可學習上下界的ACON。
直觀上來說,ACON是ReLU到Swish轉換的擴展,通過優化轉換因子來學習在激活或不激活之間切換。
然而,實驗表明,直接優化參數不能很好地在線性和非線性之間進行切換。
因此,為了快速學習,我們顯式地優化了轉換因子,並提出了Meta-ACON來學習是否激活(見圖1)。
圖1:我們展示了一個ACON,它可以學習是否自適應地激活神經元。左:ReLU網絡;右:學習激活(橙色)或不激活(白色)的ACON網絡。
儘管它看起來只是一個微小的改變,但meta-ACON帶來很大的影響:它提高了各種結構(甚至是高度優化和極深的SENet-154)的準確性,並通過元學習提供了一個新的架構設計空間,可以是層級、通道級或像素級的設計空間。在所提供的設計空間中的具體研究不是本文的重點,但是未來的研究的一個重要方向。
我們的工作總結如下:
1、我們發現NAS搜索的Swish可以被解釋為ReLU的平滑近似;
2、同樣地,我們對ReLU族做同樣的平滑近似,並得到簡單而有效的新型激活函數ACON族;
3、我們提出了Meta-ACON,它可以顯式地學習激活或不激活神經元,顯著地提高了性能,為新的架構設計空間提供了可能。
為了驗證ACON的有效性,我們通過在具有挑戰性的ImageNet任務上的實驗表明ACON有顯著的提升:它在MobileNet-0.25和ResNet-152上分別提高了6.7%和1.8%。每層激活度的不確定性也可以作為一個正則化器,有助於泛化,並在目標檢測和語義分割任務上證明了該泛化方法的有效性。
2
ACON
在本文中,我們首先說明如何使用平滑近似公式:平滑最大值來執行ReLU到Swish的轉換。接下來,我們轉換ReLU族中的其他激活函數,這是一個自然和直觀的想法,並使Swish成為ACON的一個特例。
最後,通過一個簡單的轉換因子,ACON可以學習激活(非線性)或非(線性)激活,我們引入了Meta-ACON,它學習顯式地優化因子,並顯示出顯著的提升。
平滑最大值
我們簡單回顧平滑最大值開始,考慮n個值的標準最大函數max(x1,…,xn),我們有其平滑可微的近似值:
式中,β為轉換因子:當β∞時,Sβmax;當β0時,Sβ算術平均值。
在神經網絡中,許多常見的激活函數都是 的函數形式(例如 及其變體),其中 和表示線性函數。我們的目標是用這個公式來近似這些激活函數。因此,我們考慮當n=2時,我們將σ表示為Sigmoid函數,近似值為:
ACON-A
當,則 ,我們稱之為ACON-A,它恰好是Swish的公式。
Swish是近年來出現的一種新的激活函數,並通過NAS驗證了其有效性,雖然近年來得到了廣泛的應用,但它提高性能的原因卻缺乏合理的解釋。
從上面的角度來看,Swish其實是ReLU的一個平滑近似。
ACON-B
直觀上,基於上面的平滑近似方程,我們可以將ReLU族中其他基於最大值的激活函數(例如Leaky ReLU、PReLU等)轉換為ACON族。
接下來,我們給出PReLU的平滑近似。它的原始形式是f(x)=max(x,0)+p·min(x,0),其中p是可學習的參數,初始化為0.25。然而,在大多數情況下p
因此我們考慮在等式2中時的情況。
得到以下我們稱之為ACON-B的新激活:
ACON-C
我們提出了一個簡單且更一般的情況,稱之為ACON-C。我們採用相同的雙參數函數,並附加了一個超參數。ACON-C遵循ACON-B的原則,簡單的通過超參數對特徵圖縮放。形式上,設 , :
我們對ACON-C的定義是一個非常簡單和一般的情況(見圖2、圖3)。
圖2
圖3
此外,在ReLU族中可能有許多更複雜的情況(例如ηa(x)和ηb(x)的更複雜的公式),這超出了本文的範圍。我們重點討論這個簡單形式的轉換性質。
一階導數的上下界
Swish有固定的上/下界(圖2b),但是ACON-C允許梯度有可學習的上/下界(圖2c)。形式上計算ACON-C的一階導數及其極限如下:
為了計算上限/下限,即最大/最小值,需要計算二階導數:
令 ,簡化得到,其中,解方程得到,這樣就可以得到等式5的最大值和最小值:
這與一階導數中具有固定上/下限(1.0998,-0.0998)的Swish不同。
在Swish中,超參數β只決定一階導數漸近於上界和下界的速度,但界是可學習的,並由ACON-C中的p1和p2決定(見圖2c)。可學習邊界對於簡化優化是必不可少的,我們通過實驗表明,這些可學習的上下界是提高結果的關鍵。
表1:ReLU族和ACON族總結,表示Sigmoid。
元ACON(Meta-ACON)
當轉換因子β控制激活為非線性或線性時,ACON將激活轉換為激活或不激活。具體來說,當β∞時, ;當β0時,。
因此,與傳統的激活如ReLU族不同,ACON允許每個神經元自適應學習激活或不激活(見圖1)。這種自適應的激活行為有助於提高泛化和傳輸性能。
這在我們的自適應激活中起著關鍵作用,並促使我們提出以下meta ACON。
我們提出的概念很簡單:依賴輸入樣本來顯式地學習轉換因子β。
我們的目的不是提出一個具體的結構,而是在生成函數中提供一個新的設計空間。
設計空間
這個概念比特定的體系結構更重要,它可以是逐層級、逐通道級、逐像素級的結構。我們的目標是給出一些簡單的設計實例,這些實例能夠顯著提高精度,並說明這種新的設計空間的重要性。
我們簡要地使用路由函數來計算基於輸入特徵的β,並給出一些簡單的結構。
1、結構可以是逐層級的,這意味著每一層共享相同的轉換因子。
在形式上,我們有:
2、逐通道級的結構,即每一通道中的元素共享相同的轉換因子。
形式上用來表示,用 來代表參數(默認r=16)。
3、像素級結構,所有元素都使用獨特的因子。
雖然有很多結構設計方法,但我們只是簡單地給出了一個非常簡單的結構,目的是給出一個像素級的例子。
在形式上,我們有:。
我們注意到我們的meta-ACON有一個簡單的結構,對於下面的meta-ACON實驗,除非另有說明,我們使用通道結構和ACON-C。
雖然更複雜的設計有可能提高性能,但不是本文的重點。
表2:ACON在MobileNets,、ShuffleNetV2和ResNets上的複雜對比:ImageNet數據集的top-1誤差率(在224x224輸入大小上訓練和測試)。
表3:meta-ACON在MobileNets,、ShuffleNetV2和ResNets上的複雜對比:ImageNet數據集的top-1誤差率(在224x224輸入大小上訓練和測試)。
3
實驗
圖像分類
我們對具有挑戰性的ImageNet 2012分類數據集以及全面消融進行了徹底的實驗比較。對於訓練,我們遵循常規做法,使用相同輸入的224x224大小對所有模型進行訓練,並報告標準的top-1錯誤率。
我們首先在輕量cnn(MobileNets和ShuffleNetV2)和深度cnn(ResNets)上評估我們的ACON方法。
對於輕量級cnn,我們遵循中的訓練配置;對於較大號的ResNet,我們使用0.1的線性衰減學習率調度,權重衰減為1e-4,批量大小為256,迭代次數為600k。
我們進行了大量的實驗來分析ACON激活函數的行為,只需簡單地改變不同網絡結構和不同模型大小的所有激活。基線網絡是ReLU網絡,ACON網絡中的額外參數可以忽略不計。
我們從表2和圖2中有三個主要的觀察結果:
1、 與基於max的函數相比,ACON-A、ACON-B和ACON-C都顯著提高了計算精度,這顯示了可微和平滑轉換的好處。
2、ACON-C的性能優於ACON-A(Swish)和ACON-B,這得益於ACON-C一階導數的自適應上下界。
3、儘管隨著模型的深入和擴大(ResNet-101上的0.1%),ACON-A(Swish)顯示出了微小的改進,但我們仍然從ACON-C獲得了連續的精度提高(ResNet-101上為0.7%)。
下一步,我們計算Meta-ACON函數。對於輕量CNN,我們將所有ReLU激活改為meta-ACON,對於deep-CNN(ResNet-50,ResNet-101),我們將每個構建塊中的一個ReLU(經過3×3卷積後)改為meta-ACON,以避免過擬合問題。
表3中的結果表明,我們能夠在所有網絡結構中獲得顯著的精度增益。對於輕量化的cnn,meta-ACON在MobileNetV1 0.25上提高了6.7%,在300M級別的模型上仍然有大約3%的精確度提高。對於更深層次的ResNet,meta-ACON仍然顯示出顯著的改進,在ResNet-50和ResNet-101上分別是2.0%和1.7%。
為了揭示其背後原因,在下圖中比較了ResNet-50中學習到的β分布。
ACON在數據集中的所有不同樣本具有相同的β分布,但是在meta-ACON中,不同的樣本具有不同的非線性程度,而不是在ACON中共享相同的非線性程度。具體地說,一些樣本往往有更多接近於零的值,這意味著對於此類樣本,網絡的非線性程度較低。
而有些樣本往往有更多遠離零的值,這意味著網絡會自適應地為這些樣本學習更高的非線性。這是一個直觀合理的結果,因為不同的樣本通常具有截然不同的特性和性質。
消融研究
與其他激活的比較
meta-ACON中的設計空間
我們在meta-ACON中提供了一個新的架構設計空間。
我們的目標是提供一個廣闊的設計空間,為未來的神經網絡設計提供更多的可能性。
下表顯示了ShuffleNetV2 0.5××的比較。結果表明,這三個層次都能顯著提高精度,只要設計更細緻,就可以有更高效的模塊。
meta-ACON中的轉換因子分布
我們採用元學習模塊來明確學習轉換因子β。圖4顯示了學習因子在ResNet-50的最後一個激活層的分布,我們比較meta-ACON和ACON,並隨機選擇7個樣本來顯示結果。
分布表明三個結論:
1、meta-ACON學習比ACON具有更廣泛的分布;
2、每個樣本都有自己的轉換因子,而不是共用一個;
3、有些樣本有更多接近於零的值,這意味著有些神經元在這一層中往往不被激活。
我們對輕量cnn和深度cnn進行了全面的比較,下表顯示,meta-ACON在所有網絡結構上都顯著優於SENet。
此外,我們在高度優化的超大網絡SENet-154上進行了實驗,這對進一步提高精度具有挑戰性。為了公平性比較,我們重新實現了SENet-154,並在相同的實驗環境下將激活改為ACON。
下表顯示了結果:
泛化性能
為了評估不同激活的結果,我們使用ImageNet預訓練的ResNet-50作為主幹網絡。
表8 :在COCO目標檢測任務上比較不同的激活函數,在以ResNet-50作為 backbone的RetinaNet給出結果。
語義分割
我們在CityScape數據集上進一步給出了語義分割的結果。我們使用PSPNet作為分割框架,ResNet-50作為主幹網絡。
表9 在CityScape語義分割任務上比較不同的激活函數,在以ResNet-50作為 backbone的PSPNet上給出結果。
4
結論
在這項工作中,我們提出了一個通用的和有效的激活函數來自適應地學習激活或不激活。我們呈現了一個對ReLU族做平滑近似的ACON族激活函數,對更多的ReLU族函數做平滑近似是一個很有前途的未來方向,但超出了本文的重點。
此外,為了顯式的學習在線性和非線性之間切換的轉換因子,我們提出了meta-ACON,它也提供了一個很廣泛的設計空間。我們的方法簡單而高效,我們證明了它在輕量化模型上的有效性,甚至在高度優化的SENet-154上顯著提高了精度。我們期望這種強大而有效的激活範式得到廣泛的應用。
NeurIPS 2020錄用結果已出,歡迎各位作者投稿