從定義來講,只要連續(xù)可導(dǎo)的函數(shù)都可以作為激活函數(shù),但目前常見的多是分段線性和具有指數(shù)形狀的非線性函數(shù)。
特點:
- 輸出范圍0-1,很符合人的主觀意識,即神經(jīng)元對感知的也是從不激活(0)到完全激活(1)。
- 單調(diào)連續(xù)
- 容易求導(dǎo),導(dǎo)數(shù)為$f(x)(1-f(x))$,用自己就可以表示自己的導(dǎo)數(shù)。
缺陷:
- 具有軟飽和性(左軟飽和性指x趨近于負無窮,導(dǎo)數(shù)趨近于0,右飽和性指x趨近于正無窮,導(dǎo)數(shù)趨近于0),在輸出值較大較小時,網(wǎng)絡(luò)很難更新,因為BP算法是更具梯度來進行的,這也是所謂的梯度消失問題。
- 輸出不是以0為中心,而是0.5。但是相對于前一條缺陷,影響沒那么大。
特點:
- 收斂速度比sigmoid函數(shù)快,原因是:tanh 的輸出均值比 sigmoid 更接近 0,SGD會更接近natural gradient(一種二次優(yōu)化技術(shù)),從而降低所需的迭代次數(shù)。
缺陷:
- 依然存在軟飽和性。
當(dāng)時AlexNet提出的激活函數(shù),非常優(yōu)秀,很長一段時間是我們設(shè)計CNN網(wǎng)絡(luò)的默認激活函數(shù)。
特點:
- 當(dāng)輸入為正數(shù)時,輸出導(dǎo)數(shù)恒為1,緩解了梯度消失的問題。
- 為網(wǎng)絡(luò)帶來稀疏性,當(dāng)輸入值小于0,就會被稀疏掉,人的大腦稀疏性高達95%。
- 不管是正向計算,還是導(dǎo)數(shù)計算都非常簡單。
缺點:
- 左硬飽和性,當(dāng)輸入小于零時,導(dǎo)數(shù)恒為0,會使很多神經(jīng)元無法得到更新,出現(xiàn)“神經(jīng)元死亡”。
- relu函數(shù)輸出無負值。
- 均值漂移,relu函數(shù)的輸出均值恒大于0(從relu函數(shù)的輸出范圍就能看出來)。
公式:$f(x) = max(\alpha\*x,x)$
特點:
- 為了解決relu中“神經(jīng)元死亡”的問題,leaky relu給小于零的輸入一個非常小的梯度。
缺點:
- 公式中的 $\alpha$ 是一個很小的值,一般取0.01,首先這就是個超參數(shù),另外也有文獻指出它的性能很不穩(wěn)定,有時候比relu好,有時候差,可想而知,不太靠譜。
公式和Leaky ReLU一樣,只不過它的 $\alpha$ 參數(shù)是可學(xué)習(xí)的。
特點:
- 收斂速度比relu快。
- 輸出均值更接近0。
缺點:
- 目前還不清楚,只能說表現(xiàn)還不穩(wěn)定,不夠“通用”,其作者何凱明在他的ResNet也沒使用,而是使用的ReLU。
和PReLU類似,只不過它這里的 $\alpha$ 參數(shù)是一個高斯分布上的隨機值,在測試時固定。
特點:
- 較高的噪聲魯棒性。
- 輸出均值在0附近。
缺點:
- 存在指數(shù)運算,運算量較大。
牛逼的地方是提出該方法的論文后面有長達93頁的論證。
公式:$f(x)=\lambda*ELU(x)$
特點:
- 新增的參數(shù) $\lambda$ 大于1,所以在正半軸,函數(shù)的導(dǎo)數(shù)是大于1的。
- 激活函數(shù)有一個不動點,網(wǎng)絡(luò)深了以后每一層的輸出都會向正態(tài)分布靠攏,美其名曰自歸一化。
缺點:
- selu的證明部分前提是權(quán)重服從正態(tài)分布,但是這個假設(shè)在實際中并不能一定成立,比如鐘形分布?(不太懂)
- 眾多實驗發(fā)現(xiàn)效果并不比relu好。
公式:$CReLU(x)=[ReLU(x),ReLU(-x)]$
作者發(fā)現(xiàn)在網(wǎng)絡(luò)的淺層卷積核更傾向于捕捉正負相位的信息,而ReLU會將負相位的信息歸0,所以才有了CReLU操作。
特點:
- 輸出通道數(shù)翻倍,相當(dāng)于利用對稱的關(guān)系,將負相位的信息人為恢復(fù)出來。
缺點:
- 到底在哪些層使用,太依賴調(diào)試了。
公式:$max(w_1^Tx+b_1,w_2^Tx+b_2,...,w_n^Tx+b_n)$
它是ReLU的推廣,其發(fā)生飽和是一個零測集事件(不懂什么意思...),具有一個參數(shù)k。
特點:
- maxout可以擬合任意的凸函數(shù)。
- 具備relu的所有優(yōu)點。
- 不會出現(xiàn)神經(jīng)元死亡。
缺點:
- ([不錯的解釋](https://blog.csdn.net/hjimce/article/details/50414467))參數(shù)量巨大(以k倍增加),因為之前我們每個神經(jīng)元只需要一組權(quán)重和偏置,現(xiàn)在不是了,我們添加了冗余的k組權(quán)重和偏置,讓輸入均經(jīng)過這些權(quán)重和偏置計算,只保留激活值最大的輸出。
公式:$f(x) = x\*sigmoid(\beta*x)$,其中 $\beta$ 參數(shù)可以是常數(shù)也可以是訓(xùn)練的。
特點:
- 無上界有下界、平滑、非單調(diào)。
- Swish函數(shù)可以看做是介于線性函數(shù)與ReLU函數(shù)之間的平滑函數(shù)。
- 論文給出的實驗,各種數(shù)據(jù)集上,各種網(wǎng)絡(luò),都比relu性能好(并且在深層網(wǎng)絡(luò)上優(yōu)勢更大)。
缺點:
- 只有實驗證明,沒有理論支持。
- 在淺層網(wǎng)絡(luò)上,性能與relu差別不大。