# 【CV知识点汇总与解析】|激活函数篇

## 2、为什么需要激活函数？

o u t p u t = w 7 ( i n p u t 1 ∗ w 1 + i n p u t 2 ∗ w 2 ) + w 8 ( i n p u t 1 ∗ w 3 + i n p u t 2 ∗ w 4 ) + w 9 ( i n p u t 1 ∗ w 5 + i n p u t 2 ∗ w 6 ) output =w 7( input 1 * w 1+i n p u t 2 * w 2)+w 8(i n p u t 1 * w 3+i n p u t 2 * w 4)+w 9(i n p u t 1 * w 5+i n p u t 2 * w 6)

o u t p u t = [ w 1 ∗ w 7 + w 3 ∗ w 8 + w 5 ∗ w 9 w 2 ∗ w 7 + w 4 ∗ w 8 + w 6 ∗ w 9 ] ∗ [  input  1  input  2 ] ⟹ Y = W X output =\left[\begin{array}{c}w 1 * w 7+w 3 * w 8+w 5 * w 9 \\ w 2 * w 7+w 4 * w 8+w 6 * w 9\end{array}\right] *\left[\begin{array}{c}\text { input } 1 \\ \text { input } 2\end{array}\right] \Longrightarrow Y=W X

o u t p u t = w 7 ∗ max ⁡ ( i n p u t 1 ∗ w 1 + i n p u t 2 ∗ w 2 , 0 ) + w B ∗ max ⁡ ( i n p u t 1 ∗ w 3 + i n p u t 2 ∗ w 4 , 0 ) + w 9 ∗ max ⁡ ( i n p u t 1 ∗ w 5 + i n p u t 2 ∗ w 6 , 0 ) output =w 7 * \max ( input 1 * w 1+i n p u t 2 * w 2,0)+w B * \max ( input 1 * w 3+i n p u t 2 * w 4,0)+w 9 * \max ( input 1 * w 5+i n p u t 2 * w 6,0)

## 3、激活函数的一些特性

**单调(Monotonic) **当激活函数为单调函数时，单层模型的误差曲面一定是凸面。即对应的误差函数是凸函数，求得的最小值一定是全局最小值。

**一阶导单调(Smooth functions with a monotonic derivative) **通常情况下，这些函数表现更好。

## 4、机器学习领域常见的激活函数？

### Parameteric rectified linear unit(参数化线性整流函数,PReLU)

Randomized leaky rectified linear unit(带泄露随机线性整流函数,RReLU)

### SoftPlus函数

f ( x ) = ln ⁡ ( 1 + e x ) f(x)=\ln \left(1+e^{x}\right)

f ′ ( x ) = 1 1 + e − x f^{\prime}(x)=\frac{1}{1+e^{-x}}

### Bent identity(弯曲恒等函数)

f ( x ) = x 2 + 1 − 1 2 + x f(x)=\frac{\sqrt{x^{2}+1}-1}{2}+x

f ′ ( x ) = x 2 x 2 + 1 + 1 f^{\prime}(x)=\frac{x}{2 \sqrt{x^{2}+1}}+1

### Sinusoid(正弦函数)

f ( x ) = sin ⁡ ( x ) f(x)=\sin (x)

f ′ ( x ) = cos ⁡ ( x ) f^{\prime}(x)=\cos (x)

### Sinc函数

f ( x ) = { 1  for  x = 0 sin ⁡ ( x ) x  for  x ≠ 0 f(x)=\left\{\begin{array}{ll}1 & \text { for } x=0 \\ \frac{\sin (x)}{x} & \text { for } x \neq 0\end{array}\right.

f ′ ( x ) = { 0  for  x = 0 cos ⁡ ( x ) x − sin ⁡ ( x ) x 2  for  x ≠ 0 f^{\prime}(x)=\left\{\begin{array}{ll}0 & \text { for } x=0 \\ \frac{\cos (x)}{x}-\frac{\sin (x)}{x^{2}} & \text { for } x \neq 0\end{array}\right.

### Gaussian(高斯函数)

f ( x ) = e − x 2 f(x)=e^{-x^{2}}

f ′ ( x ) = − 2 x e − x 2 f^{\prime}(x)=-2 x e^{-x^{2}}

### Hard Sigmoid(分段近似Sigmoid函数)

f ( x ) = { 0  for  x < − 2.5 0.2 x + 0.5  for  − 2.5 ≥ x ≤ 2.5 1  for  x > 2.5 f(x)=\left\{\begin{array}{ll}0 & \text { for } x<-2.5 \\ 0.2 x+0.5 & \text { for }-2.5 \geq x \leq 2.5 \\ 1 & \text { for } x>2.5\end{array}\right.

f ′ ( x ) = { 0  for  x < − 2.5 0.2  for  − 2.5 ≥ x ≤ 2.5 0  for  x > 2.5 f^{\prime}(x)=\left\{\begin{array}{ll}0 & \text { for } x<-2.5 \\ 0.2 & \text { for }-2.5 \geq x \leq 2.5 \\ 0 & \text { for } x>2.5\end{array}\right.

### Hard Tanh(分段近似Tanh函数)

f ( x ) = { − 1  for  x < − 1 x  for  − 1 ≥ x ≤ 1 1  for  x > 1 f(x)=\left\{\begin{array}{ll}-1 & \text { for } x<-1 \\ x & \text { for }-1 \geq x \leq 1 \\ 1 & \text { for } x>1\end{array}\right.

f ′ ( x ) = { 0  for  x < − 1 1  for  − 1 ≥ x ≤ 1 0  for  x > 1 f^{\prime}(x)=\left\{\begin{array}{ll}0 & \text { for } x<-1 \\ 1 & \text { for }-1 \geq x \leq 1 \\ 0 & \text { for } x>1\end{array}\right.

### LeCun Tanh(也称Scaled Tanh,按比例缩放的Tanh函数)

f ( x ) = 1.7519 tanh ⁡ ( 2 3 x ) f(x)=1.7519 \tanh \left(\frac{2}{3} x\right)

f ′ ( x ) = 1.7519 ∗ 2 3 ( 1 − tanh ⁡ 2 ( 2 3 x ) ) = 1.7519 ∗ 2 3 − 2 3 ∗ 1.7519 f ( x ) 2 \begin{aligned} f^{\prime}(x) &=1.7519 * \frac{2}{3}\left(1-\tanh ^{2}\left(\frac{2}{3} x\right)\right) \\ &=1.7519 * \frac{2}{3}-\frac{2}{3 * 1.7519} f(x)^{2} \end{aligned}

### Symmetrical Sigmoid(对称Sigmoid函数)

f ( x ) = tanh ⁡ ( x / 2 ) = 1 − e − x 1 + e − x \begin{aligned} f(x) &=\tanh (x / 2) \\ &=\frac{1-e^{-x}}{1+e^{-x}} \end{aligned}

f ′ ( x ) = 0.5 ( 1 − tanh ⁡ 2 ( x / 2 ) ) = 0.5 ( 1 − f ( x ) 2 ) \begin{aligned} f^{\prime}(x) &=0.5\left(1-\tanh ^{2}(x / 2)\right) \\ &=0.5\left(1-f(x)^{2}\right) \end{aligned}

### Complementary Log Log函数

f ( x ) = 1 − e − e x f(x)=1-e^{-e^{x}}

f ′ ( x ) = e x ( e − e x ) = e x − e x f^{\prime}(x)=e^{x}\left(e^{-e^{x}}\right)=e^{x-e^{x}}

### Absolute(绝对值函数)

f ( x ) = ∣ x ∣ f(x)=|x|

f ′ ( x ) = { − 1  for  x < 0 1  for  x > 0 ?  for  x = 0 f^{\prime}(x)=\left\{\begin{array}{ll}-1 & \text { for } x<0 \\ 1 & \text { for } x>0 \\ ? & \text { for } x=0\end{array}\right.

## 5、transformer FFN层用的激活函数是什么？为什么？

ReLU。ReLU的优点是收敛速度快、不会出现梯度消失or爆炸的问题、计算复杂度低。

## 6、 Bert、GPT、GPT2中用的激活函数是什么？为什么？

Bert、GPT、GPT2、RoBERTa、ALBERT都是用的Gelu。

GELU ⁡ ( x ) = x P ( X ≤ x ) = x Φ ( x ) \operatorname{GELU}(x)=x P(X \leq x)=x \Phi(x)

## 7、如何选择激活函数

• 用于分类器时，二分类为Sigmoid，多分类为Softmax，这两类一般用于输出层；

• 对于长序列的问题，隐藏层中尽量避免使用Sigmoid和Tanh，会造成梯度消失的问题；

• Relu在Gelu出现之前在大多数情况下比较通用，但也只能在隐层中使用；

• 现在2022年了，隐藏层中主要的选择肯定优先是Gelu、Swish了。

## 8、ReLU的优缺点？

• 从计算的角度上，Sigmoid和Tanh激活函数均需要计算指数，复杂度高，而ReLU输入一个数值即可得到激活值；

• ReLU函数被认为有生物上的解释性，比如单侧抑制、宽兴奋边界（即兴奋程度 也可以非常高）人脑中在同一时刻大概只有1 ∼ 4%的神经元处于活跃状态，所以单侧抑制提供了网络的稀疏表达能力，宽激活边界则能有效解决梯度消失等问题。

• ReLU和Sigmoid一样，每次输出都会给后一层的神经网络引入偏置偏移， 会影响梯度下降的效率。

• ReLU神经元死亡的问题，不正常的一次参数更新，可能是使得激活项为0，以后的梯度更新也为0，神经元死亡。

## 【项目推荐】

### 参考：

https://www.jianshu.com/p/466e54432bac

https://zhuanlan.zhihu.com/p/354013996

https://blog.csdn.net/qq_22795223/article/details/106184310

• 0
点赞
• 4
收藏
觉得还不错? 一键收藏
• 0
评论
11-15 1267
10-12 742
10-31 7493
03-17 1117
11-07 2万+
09-30 8万+
09-27 3万+

1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载，可以购买VIP、付费专栏及课程。