本文主要是介绍激活函数 activate function,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
激活函数,决定神经网络是否传递信息的开关
-
ReLU,Recitified Linear Unit,线性整流函数,常见的是 ReLU 和 Leaky ReLU。通常意义下,线性整流函数指代数学中的斜坡函数
f ( x ) = max ( 0 , x ) f(x) = \max (0, x) f(x)=max(0,x)
ReLU 可以对抗梯度爆炸 / 消失的问题,相对而言计算效率也很高 -
GELU,Gaussian Error Linear Unit,高斯误差线性单元
- 对于输入值 x,根据 x 的情况,乘上 1 或者 0,即对于每一个输入 x,服从标准正态分布 N ( 0 , 1 ) N(0, 1) N(0,1),再给其乘上一个伯努利分布 ϕ ( x ) = P ( X ≤ x ) \phi(x) = P(X \leq x) ϕ(x)=P(X≤x) :
x P ( X ≤ x ) = x ϕ ( x ) xP(X \leq x) = x \phi(x) xP(X≤x)=xϕ(x)
其中 ϕ ( x ) \phi(x) ϕ(x) 是 x x x 的高斯分布;
x P ( X ≤ x ) = x ∫ − ∞ x e − ( X − μ ) 2 2 σ 2 2 π σ d X xP(X \leq x) = x \int \nolimits _{-\infty} ^{x} \frac{e^{-\frac{(X - \mu)^2}{2 \sigma^2}}}{\sqrt{2 \pi \sigma}}dX xP(X≤x)=x∫−∞x2πσe−2σ2(X−μ)2dX
→ \rightarrow →
g e l u ( x ) = 0.5 x ( 1 + tanh ( 2 π ( x + 0.044715 x 3 ) ) ) gelu(x) = 0.5x(1+\tanh(\sqrt{\frac{2}{\pi}}(x+0.044715x^3))) gelu(x)=0.5x(1+tanh(π2(x+0.044715x3)))
- 对于输入值 x,根据 x 的情况,乘上 1 或者 0,即对于每一个输入 x,服从标准正态分布 N ( 0 , 1 ) N(0, 1) N(0,1),再给其乘上一个伯努利分布 ϕ ( x ) = P ( X ≤ x ) \phi(x) = P(X \leq x) ϕ(x)=P(X≤x) :
-
当 x x x 越大的时候,就越有可能被保留,越小就越有可能被置零
-
relu, r e l u ( x ) = max ( x , 0 ) relu(x) = \max(x, 0) relu(x)=max(x,0)
-
sigmoid, s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) = \frac{1}{1+e^{-x}} sigmoid(x)=1+e−x1
-
tanh
sinh ( x ) = e x − e − x 2 cosh ( x ) = e x + e − x 2 tanh ( x ) = sinh ( x ) cosh ( x ) \sinh(x) = \frac{e^x - e^{-x}}{2} \\ \cosh(x) = \frac{e^x + e^{-x}}{2} \\ \tanh(x) = \sinh(x)\cosh(x) sinh(x)=2ex−e−xcosh(x)=2ex+e−xtanh(x)=sinh(x)cosh(x) -
silu, s i l u ( x ) = x ∗ s i g m o i d ( x ) = x 1 + e − x silu(x) = x * sigmoid(x) = \frac{x}{1+e^{-x}} silu(x)=x∗sigmoid(x)=1+e−xx
-
gelu
g e l u ( x ) ≈ 0.5 x ( 1 + tanh ( 2 π ( x + 0.044715 x 3 ) ) ) ≈ x × s i g m o i d ( 1.702 x ) gelu(x) \approx 0.5x(1+\tanh(\sqrt{\frac{2}{\pi}}(x+0.044715x^3))) \\ \approx x \times sigmoid(1.702x) gelu(x)≈0.5x(1+tanh(π2(x+0.044715x3)))≈x×sigmoid(1.702x) -
mish, m i s h ( x ) = x × tanh ( s o f t p l u e ( x ) ) = x × tanh ( ln ( a + e x ) ) mish(x) = x \times \tanh(softplue(x)) = x \times \tanh(\ln(a + e^x)) mish(x)=x×tanh(softplue(x))=x×tanh(ln(a+ex))
激活函数近似是往负无穷大方向走,逐渐趋近 y = a y = a y=a 的直线;往正无穷大的方向走,逐渐趋近 y = x y = x y=x
-
这篇关于激活函数 activate function的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!