# 深度学习领域最常用的10个激活函数，一文详解数学原理及优缺点

[En]

Activation function is an important part of neural network model. Starting from the mathematical principle of activation function, the author Sukanya Bag explains in detail the advantages and disadvantages of ten activation functions.

[En]

Activation function (Activation Function) is a function added to the artificial neural network to help the network learn complex patterns in the data. Similar to the neuron-based model in the human brain, the activation function ultimately determines what is emitted to the next neuron. In an artificial neural network, the activation function of a node defines the output of the node under a given input or set of inputs. A standard computer chip circuit can be regarded as a digital circuit activation function that obtains on (1) or off (0) output according to input. Therefore, the activation function is the mathematical equation to determine the output of the neural network. This paper summarizes ten common activation functions in deep learning and their advantages and disadvantages. First of all, let’s take a look at how artificial neurons work, roughly as follows:

[En]

The mathematical visualization of the above process is shown in the following figure:

1. Sigmoid 激活函数

Sigmoid 函数的图像看起来像一个 S 形曲线。 函数表达式如下：

[En]

Under what circumstances is it appropriate to use the Sigmoid activation function?

• Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1，因此它对每个神经元的输出进行了归一化；
• 以预测概率为输出的模型。由于概率范围从0到1，因此Sigmoid函数非常合适。
[En]

A model that takes the prediction probability as an output. Because the probability ranges from 0 to 1, the Sigmoid function is very appropriate.*

• 渐变平滑，避免输出值“跳跃”
[En]

gradient smoothing to avoid “jumping” output values*

• 该函数是可微的。这意味着可以找到任意两点的S型曲线的斜率。
[En]

the function is differentiable. This means that the slope of the sigmoid curve of any two points can be found.*

• 预测明确，即非常接近1或0
[En]

A clear forecast, that is, very close to 1 or 0.*

Sigmoid 激活函数有哪些缺点？

• 渐变趋于消失
[En]

tend to disappear gradients*

• 函数输出不以0为中心，降低了权重更新的效率。
[En]

the function output is not centered on 0, which reduces the efficiency of weight update.*

• Sigmoid 函数执行指数运算，计算机运行得较慢。

2. Tanh / 双曲正切激活函数

tanh 激活函数的图像也是 S 形，表达式如下：

tanh 是一个双曲正切函数。tanh 函数和 sigmoid 函数的曲线相对相似。但是它比 sigmoid 函数更有一些优势。

• 首先，当输入大或小时，输出几乎平滑，梯度小，不利于权重更新。两者的不同之处在于输出间隔。双曲正切函数的输出区间为1，整体函数以0为中心，优于Sigmoid函数。
[En]

first of all, when the input is large or small, the output is almost smooth and the gradient is small, which is not conducive to weight updating. The difference between the two lies in the output interval. The output interval of tanh is 1, and the whole function centers on 0, which is better than sigmoid function.*

• 在 tanh 图中，负输入将被强映射为负，而零输入被映射为接近零。

[En]

Note: in the general binary classification problem, the tanh function is used for the hidden layer, while the sigmoid function is used for the output layer, but this is not fixed and needs to be adjusted according to the specific problem. * 3. ReLU activation function *

ReLU 激活函数图像如上图所示，函数表达式如下：

ReLU 函数是深度学习中较为流行的一种激活函数，相比于 sigmoid 函数和 tanh 函数，它具有如下优点：
• 当输入为正时，不存在梯度饱和问题
[En]

when the input is positive, there is no gradient saturation problem.*

• 计算速度要快得多。在RELU函数中只有一个线性关系，所以它比Sigmoid和tanh快。
[En]

the calculation speed is much faster. There is only a linear relationship in the ReLU function, so it is faster than sigmoid and tanh.*

[En]

Of course, it also has its disadvantages:

1. Dead ReLU 问题。当输入为负时，ReLU 完全失效，在正向传播过程中，这不是问题。有些区域很敏感，有些则不敏感。但是在反向传播过程中，如果输入负数，则梯度将完全为零，sigmoid 函数和 tanh 函数也具有相同的问题；
2. 我们发现 ReLU 函数的输出为 0 或正数，这意味着 ReLU 函数不是以 0 为中心的函数。

4. Leaky ReLU 它是一种专门设计用于解决 Dead ReLU 问题的激活函数：

ReLU vs Leaky ReLU 为什么 Leaky ReLU 比 ReLU 更好？

1. Leaky ReLU 通过把 x 的非常小的线性分量给予负输入（0.01x）来调整负值的零梯度（zero gradients）问题；
2. leak 有助于扩大 ReLU 函数的范围，通常 a 的值为 0.01 左右；
3. Leaky ReLU 的函数范围是（负无穷到正无穷）。

ELU vs Leaky ReLU vs ReLU ELU 的提出也解决了 ReLU 的问题。与 ReLU 相比，ELU 有负值，这会使激活的平均值接近零。均值激活接近于零可以使学习更快，因为它们使梯度更接近自然梯度。

[En]

Obviously, ELU has all the advantages of ReLU, and:

• 不存在死雷鲁问题，平均产出接近0，以0为中心
[En]

there is no Dead ReLU problem, and the average output is close to 0, centering on 0.*

• ELU 通过减少偏置偏移的影响，使正常梯度更接近于单位自然梯度，从而使均值向零加速学习；
• ELU 在较小的输入下会饱和至负值，从而减少前向传播的变异和信息。

[En]

One small problem is that it is more computational intensive. Similar to Leaky ReLU, although it is better than ReLU in theory, there is no sufficient evidence in practice that ELU is always better than ReLU. * 6. PReLU (Parametric ReLU) * PReLU is also an improved version of ReLU:

[En]

Take a look at PReLU’s formula: the parameter α is usually a number between 0 and 1 and is usually relatively small.

• 如果 a_i= 0，则 f 变为 ReLU
• 如果 a_i> 0，则 f 变为 leaky ReLU
• 如果 a_i 是可学习的参数，则 f 变为 PReLU

PReLU 的优点如下：

1. 在负值域，PReLU 的斜率较小，这也可以避免 Dead ReLU 问题。
2. 与 ELU 相比，PReLU 在负值域是线性运算。尽管斜率很小，但不会趋于 0。

7. Softmax

Softmax 是用于多类分类问题的激活函数，在多类分类问题中，超过两个类标签则需要类成员关系。对于长度为 K 的任意实向量，Softmax 可以将其压缩为长度为 K，值在（0，1）范围内，并且向量中元素的总和为 1 的实向量。

Softmax 与正常的 max 函数不同：max 函数仅输出最大值，但 Softmax 确保较小的值具有较小的概率，并且不会直接丢弃。我们可以认为它是 argmax 函数的概率版本或「soft」版本。 Softmax 函数的分母结合了原始输出值的所有因子，这意味着 Softmax 函数获得的各种概率彼此相关。 Softmax 激活函数的主要缺点是：
1. 在零点不可微；
2. 负输入的梯度为零，这意味着对于该区域的激活，权重不会在反向传播期间更新，因此会产生永不激活的死亡神经元。

8. Swish

• 无界性有助于防止梯度接近零，并在缓慢训练时导致饱和。(同时，有界性也有一个优势，因为有界激活函数可以具有很强的正则性。也可以解决更大的负输入问题)
[En]

Unboundedness helps to prevent gradients from approaching zero and leading to saturation during slow training. (at the same time, boundedness also has an advantage, because bounded activation functions can have strong regularization. And larger negative input problems can also be solved)*

• 导数始终大于0
[En]

derivative is always > 0*

• 平稳性在优化和泛化中发挥重要作用
[En]

smoothness plays an important role in optimization and generalization.*

9. Maxout

Maxout 也可以对 d 维向量（V）实现：

[En]

Therefore, the Maxout layer composed of two Maxout nodes can well approximate any continuous function.

10. Softplus

Softplus 函数：f（x）= ln（1 + exp x） Softplus 的导数为 f ′(x)=exp(x) / ( 1+exp⁡ x ) = 1/ (1 +exp(−x )) ，也称为 logistic / sigmoid 函数。 Softplus 函数类似于 ReLU 函数，但是相对较平滑，像 ReLU 一样是单侧抑制。它的接受范围很广：(0, + inf)。 原文链接：https://sukanyabag.medium.com/activation-functions-all-you-need-to-know-355a850d025e 入门ReLU sigmoid函数深度学习激活函数

Original: https://www.jiqizhixin.com/articles/2021-02-24-7
Author: Sukanya Bag,编辑:小舟、蛋酱
Title: 深度学习领域最常用的10个激活函数，一文详解数学原理及优缺点

(0)