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

激活函数是神经网络模型的重要组成部分。作者Sukanya Bag从激活函数的数学原理出发,详细解释了十种激活函数的优缺点。

[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.

激活函数(Activation Function)是添加到人工神经网络中的一种功能,用于帮助网络学习数据中的复杂模式。与人脑中基于神经元的模型类似,激活功能最终决定向下一个神经元发出什么。在人工神经网络中,节点的激活函数定义了在给定输入或一组输入下节点的输出。标准的计算机芯片电路可以看作是根据输入获得ON(1)或OFF(0)输出的数字电路激活功能。因此,激活函数是确定神经网络输出的数学方程。本文总结了深度学习中常用的十种激活函数及其优缺点。首先,让我们来看看人工神经元是如何工作的,大致如下:

[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:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
上述过程的数学可视化如下图所示:
[En]

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

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

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
Sigmoid 函数的图像看起来像一个 S 形曲线。 函数表达式如下:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
在什么情况下才适合使用Sigmoid激活功能?
[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 / 双曲正切激活函数

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
tanh 激活函数的图像也是 S 形,表达式如下:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
tanh 是一个双曲正切函数。tanh 函数和 sigmoid 函数的曲线相对相似。但是它比 sigmoid 函数更有一些优势。

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
  • 首先,当输入大或小时,输出几乎平滑,梯度小,不利于权重更新。两者的不同之处在于输出间隔。双曲正切函数的输出区间为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 图中,负输入将被强映射为负,而零输入被映射为接近零。

注:在一般的二进制分类问题中,隐含层使用tanh函数,输出层使用Sigmoid函数,但这不是固定的,需要根据具体问题进行调整。3.REU激活功能

[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 *

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
ReLU 激活函数图像如上图所示,函数表达式如下:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
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 问题的激活函数:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
ReLU vs Leaky ReLU 为什么 Leaky ReLU 比 ReLU 更好?

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
  1. Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;
  2. leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右;
  3. Leaky ReLU 的函数范围是(负无穷到正无穷)。

注意: 从理论上讲,Leaky ReLU 具有 ReLU 的所有优点,而且 Dead ReLU 不会有任何问题,但在实际操作中,尚未完全证明 Leaky ReLU 总是比 ReLU 更好。 5. ELU

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
ELU vs Leaky ReLU vs ReLU ELU 的提出也解决了 ReLU 的问题。与 ReLU 相比,ELU 有负值,这会使激活的平均值接近零。均值激活接近于零可以使学习更快,因为它们使梯度更接近自然梯度。

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
显然,ELU拥有RELU的所有优势,并且:
[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 在较小的输入下会饱和至负值,从而减少前向传播的变异和信息。

一个小问题是它的计算密集度更高。与Leaky REU类似,虽然在理论上比REU更好,但在实践中没有足够的证据表明ELU总是比REU更好。6.PReLU(参数REU)PReLU也是REU的改进版本:

[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:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
看看PReLU的公式:参数α通常是0到1之间的数字,通常相对较小。
[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

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
Softmax 是用于多类分类问题的激活函数,在多类分类问题中,超过两个类标签则需要类成员关系。对于长度为 K 的任意实向量,Softmax 可以将其压缩为长度为 K,值在(0,1)范围内,并且向量中元素的总和为 1 的实向量。

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

8. Swish

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
函数表达式:y = x * sigmoid (x) Swish 的设计受到了 LSTM 和高速网络中 gating 的 sigmoid 函数使用的启发。我们使用相同的 gating 值来简化 gating 机制,这称为 self-gating。 self-gating 的优点在于它只需要简单的标量输入,而普通的 gating 则需要多个标量输入。这使得诸如 Swish 之类的 self-gated 激活函数能够轻松替换以单个标量为输入的激活函数(例如 ReLU),而无需更改隐藏容量或参数数量。 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

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
在 Maxout 层,激活函数是输入的最大值,因此只有 2 个 maxout 节点的多层感知机就可以拟合任意的凸函数。 单个 Maxout 节点可以解释为对一个实值函数进行分段线性近似 (PWL) ,其中函数图上任意两点之间的线段位于图(凸函数)的上方。

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
Maxout 也可以对 d 维向量(V)实现:

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
假设两个凸函数 h_1(x) 和 h_2(x),由两个 Maxout 节点近似化,函数 g(x) 是连续的 PWL 函数。

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
因此,由两个最大输出节点组成的最大输出层可以很好地逼近任意连续函数。
[En]

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

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

深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点
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个激活函数,一文详解数学原理及优缺点

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/7010/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总