您的位置:

常见的激活函数详解

一、常见的激活函数有哪些?

在深度学习中,常见的激活函数包括sigmoid函数、ReLU函数、LeakyReLU函数、tanh函数、softmax函数等等。

二、常见的激活函数有哪几种?

按照非线性程度来划分,激活函数可以分为线性、非线性以及近似线性函数三种类型。

其中,线性函数的特点是函数图像是一条直线,如$f(x) = x$;非线性函数的特点是函数图像不是一条直线,如sigmoid函数、tanh函数、ReLU函数和LeakyReLU函数等;近似线性函数的特点是函数在某些区域内近似于线性函数,如ELU函数和SELU函数。

三、常见的激活函数有哪些优缺点?

(1)sigmoid函数:具有良好的数学性质,函数图像在 0 的左右两端有较强的饱和性,导致梯度消失并导致训练过程变得非常缓慢,层数较多的时候容易产生梯度爆炸。

(2)tanh函数:具有类似sigmoid函数的数学性质,但是其能够产生正负值的梯度,使得梯度下降的方向更多样化,但也会存在梯度消失和梯度爆炸的问题。

(3)ReLU函数:去掉负数梯度的限制,使得训练速度更快、更容易收敛,在实际应用中表现优秀,但可能存在神经元失效导致输出为 0 的问题。

(4)LeakyReLU函数:在ReLU的基础上,加入了一个小斜率,解决了ReLU神经元失效的问题,但也可能引起一些问题,比如出现ReLU的缺点,导致神经元输出小于 0 的情况。

(5)softmax函数:主要用于多分类问题,能够将数值转化为概率值,但存在数值计算上的稳定性问题。

四、常见的激活函数都有哪些?

除了前面提到的常见激活函数之外,还有SELU函数、Maxout函数、Swish函数等。

五、常见的激活函数有什么作用?

激活函数的主要作用是增加模型的非线性,增加模型拟合能力,使得网络能够学习到更加复杂的关系,并且能够将前一层的输出转化为后一层的输入。

六、sigmoid激活函数

sigmoid函数是一种常见的激活函数,其公式为:$f(x) = \frac{1}{1 + e^{-x}}$。

sigmoid函数的输出值在 0~1 之间,能够将任意实数值域映射为概率值,其输出可以看作是前一层输出的加权和与偏置项之和。


import numpy as np
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

七、常见的三种激活函数

常见的三种激活函数包括:sigmoid函数、tanh函数和ReLU函数。


# sigmoid函数
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

# tanh函数
def tanh(x):
    return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))

# ReLU函数
def ReLU(x):
    return np.maximum(x, 0)

八、常见激活函数公式选取

在实际应用中,选择激活函数的公式主要考虑以下几个因素:

(1)激活函数的非线性程度:需要满足一定的非线性特性才能增加模型的拟合能力。

(2)导数的连续性:如果导数不连续,可能会影响反向传播算法的收敛性。

(3)计算复杂度:最好选择计算简单、高效的激活函数。

(4)对梯度消失和梯度爆炸的敏感程度:如果容易出现梯度消失或梯度爆炸的问题,可能会导致训练过程非常缓慢。