『壹』 如何理解ReLU activation function
作者:知乎用戶
鏈接:https://www.hu.com/question/59031444/answer/177786603
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
你可以看:最近流行的激活函數!
一般激活函數有如下一些性質:
非線性:
當激活函數是線性的,一個兩層的神經網路就可以基本上逼近所有的函數。但如果激活函數是恆等激活函數的時候,即f(x)=x,就不滿足這個性質,而且如果MLP使用的是恆等激活函數,那麼其實整個網路跟單層神經網路是等價的;
可微性:
當優化方法是基於梯度的時候,就體現了該性質;
單調性:
當激活函數是單調的時候,單層網路能夠保證是凸函數;
f(x)≈x:
當激活函數滿足這個性質的時候,如果參數的初始化是隨機的較小值,那麼神經網路的訓練將會很高效;如果不滿足這個性質,那麼就需要詳細地去設置初始值;
輸出值的范圍:
當激活函數輸出值是有限的時候,基於梯度的優化方法會更加穩定,因為特徵的表示受有限權值的影響更顯著;當激活函數的輸出是無限的時候,模型的訓練會更加高效,不過在這種情況小,一般需要更小的Learning Rate。
Sigmoid
常用的非線性的激活函數,數學形式如下:
http://mmbiz.qpic.cn/mmbiz_png/gHia5yMFD11waauyA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1
Sigmoid 函數曾經被使用的很多,不過近年來,用它的人越來越少了。主要是因為它的缺點(輸入較大或較小的時候,最後梯度會接近於0),最終導致網路學習困難。
所以,出現了另一種激活函數:ReLU
ReLU
f(x)=max(0,x)
優點:
使用 ReLU得到的SGD的收斂速度會比 sigmoid/tanh 快。這是因為它是linear,而且ReLU只需要一個閾值就可以得到激活值,不用去計算復雜的運算。
缺點: 訓練過程該函數不適應較大梯度輸入,因為在參數更新以後,ReLU的神經元不會再有激活的功能,導致梯度永遠都是零。
為了針對以上的缺點,又出現Leaky-ReLU、P-ReLU、R-ReLU三種拓展激活函數。
Leaky ReLUs
該函數用來解決ReLU的缺點,不同的是:
f(x)=αx,(x<0)
f(x)=x,(x>=0)
這里的 α 是一個很小的常數。這樣,即修正了數據分布,又保留了一些負軸的值,使得負軸信息不會全部丟失。
Parametric ReLU
對於 Leaky ReLU 中的α,通常都是通過先驗知識人工賦值,可以觀察到損失函數對α的導數是可以求得的,可以將它作為一個參數進行訓練。
《Delving Deep into Rectifiers: Surpassing Human-Level Performance on
ImageNet Classification》
該文章指出其不僅可以訓練,而且效果特別好。公式非常簡單,其中對α的導數:
data:image/gif;base64,ABh6FO1AAAAABJRU5ErkJggg==
原文使用了Parametric ReLU後,最終效果比不用提高了1.03%。
Randomized ReLU
Randomized Leaky ReLU 是 Leaky ReLU 的隨機版本(α 是隨機選取)。 它首次是在NDSB 比賽中被提出。
核心思想就是,在訓練過程中,α是從一個高斯分布U(l,u)中隨機出來的,然後再測試過程中進行修正(與Dropout的用法相似)。
數學表示如下:
http://mmbiz.qpic.cn/mmbiz_png/SyQHYB0nGY4ibOSbYg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1
在測試階段,把訓練過程中所有的αji取個平均值。NDSB冠軍的α是從 U(3,8) 中隨機出來的。在測試階段,激活函數如下:
http://mmbiz.qpic.cn/mmbiz_png/njaAic1O4nFUCfl1Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1
『貳』 凸函數的定義是什麼
凹函數:設函數f(x)在[a,b]上有定義,若[a,b]中任意不同兩點x1,x2都成立:f[(x1 x2)/2]>=[f(x1) f(x2)]/2 則稱f(x)在[a,b]上是凹的。
函數圖形:弧段像∪形的,比如y=x^2的函數.
凸函數:設函數f(x)在[a,b]上有定義,若[a,b]中任意不同兩點x1,x2都成立:f[(x1 x2)/2]<=[f(x1) f(x2)]/2 則稱f(x)在[a,b]上是凸的。
函數圖形:弧段像∩形的,比如y=-x^2的函數.
f(x)=lgx是凸函數,根據函數圖象判斷.一般開口向下的二次函數是凸函數,開口向上的二次函數是凹函數。
『叄』 簡單的數學.什麼是凸函數
凸函數:圖象向上(或者斜向上)凸起的函數,就是凸函數。凸函數的二階導數小於0;
凹函數:圖象向上(或者斜向上)凹進的函數,就是凹函數。凹函數的二階導數大於0。
『肆』 凹函數和凸函數的定義到底是什麼
凹函數是一個定義在某個向量空間的凸集C(區間)上的實值函數f。設f為定義在區間I上的函數,若對I上的任意兩點X1<X2和任意的實數λ∈(0,1),總有f(λx1+(1-λ)x2)≤λf(x1)+(1-λ)f(x2), 則f稱為I上的凹函數。
凸函數是數學函數的一類特徵。凸函數就是一個定義在某個向量空間的凸子集C(區間)上的實值函數。
凸函數是指一類定義在實線性空間上的函數。
(4)單層網路函數是凸函數什麼意思擴展閱讀
每一個在內取值的線性變換都是凸函數,但不是嚴格凸函數,因為如果f是線性函數,那麼f(a + b) = f(a) + f(b)。如果我們把「凸」換為「凹」,那麼該命題也成立。
每一個在內取值的仿射變換,也就是說,每一個形如f(x) = aTx + b的函數,既是凸函數又是凹函數。
每一個范數都是凸函數,這是由於三角不等式。
如果f是凸函數,那麼當t > 0時,g(x,t) = tf(x / t)是凸函數。
單調遞增但非凸的函數包括和g(x) = log(x)。
非單調遞增的凸函數包括h(x) = x2和k(x) = − x。
函數f(x) = 1/x2,f(0)=+∞,在區間(0,+∞)內是凸函數,在區間(-∞,0)內也是凸函數,但是在區間(-∞,+∞)內不是凸函數,這是由於x = 0處的奇點。
『伍』 什麼是凸函數什麼是上凸函數什麼是凸函數的中值特性
1.數學上定義凸函數是指在連續的函數上取兩個點x1,x2,兩個點分別對應的函數值f(x1),f(x2)滿足f((x1+x2)/2)≥(f(x1)+f(x2))/2稱為凸函數;如果是≤稱為凹函數;
2.以前有上凸,上凹函數,下凸,下凹函數之分,但是為了區分,現在的教材統稱為兩種函數,即凹函數和凸函數;
3.定義中的不等式稱為中值特性.