【深度学习】——激活函数(sigmoid、tanh、relu、softmax)

目录

激活函数

1、作用

2、常用激活函数

3、衡量激活函数好坏的标准:

4、不同的激活函数

1)sigmoid

2)tanh函数

 3)RULE函数和leak-relu函数

4)softmax函数


激活函数

1、作用

如果只是线性卷积的话,会导致无法形成复杂的表达空间,因此需要激活函数来进行非线性映射,这样可以得到更高语义的信息,提升整个神经网络的表达能力。

2、常用激活函数

sigmoid、tanh、relu、softmax

3、衡量激活函数好坏的标准:

1)是否0-均值输出:即是否关于零点中心对称,这样可以使得收敛加速(不太理解)

2)是否会出现梯度消失现象:梯度消失现象主要是因为在反向传播时,由于链式求导原则,使得梯度从后一层传到前一层会出现减小的情况,如果网络深的话,传播到前面时,梯度变成了0

【深度学习】——激活函数(sigmoid、tanh、relu、softmax)_第1张图片

以BP后向传播为例,在求w11的导数时,若W1求值为[0,1],激活函数φ的导数小于1时会出现梯度消失

3)激活函数表达式是否会很复杂:若计算表达式出现幂运算、指数运算等,一般计算量都很大

4、不同的激活函数

1)sigmoid

sigmoid函数可以作为0-1二分类的分类器,也可以作为层数较少的神经网络的激活函数

优缺点如下:

2)tanh函数

tanh函数适用于激活函数,相较于sigmoid函数做到了零均值输出以及缓解了梯度消失

优缺点如下:

 3)RULE函数和leak-relu函数

RELU函数因为其在正空间为线性的缘故,因此适用于深度很深的神经网络中,比如VGG16的实现。但是因为其在负空间直接将值置为0,导致导数为0,使得会出现参数不更新的情况,称之为Dead ReLU Problem,基于此,出现了leak-rule函数,它是给了一个非常小的系数,使得在负空间的导数接近于零而不等于零,优缺点如下:

注意(个人理解):在大量的实验种,发现relu函数会优于后者,原因可以是relu起到了一定的dropout的作用,可以有效地避免过拟合。因为relU在小于0的时候,梯度是0的,也就是有一部分神经元的参数是不会发生改变,所以这也相当于这部分神经元在训练的时候被丢弃了,只有一部分神经元参与到了训练当中。每次迭代都有不一样的神经元的参数不发生改变,这样的话就导致了多次训练得到了不一样的神经网络结构,相当于dropout的作用。

区别在于:dropout方法随即丢弃神经元,随机性更强,而relu的话因为导数为0这部分主要是集中在负半区,使得每次迭代“丢弃”的神经元种有大部分其实是相同的,因此效果没有直接用dropout来的好。

4)softmax函数

适用于多分类情景,是一个离散函数,输入是每一类的得分,输出是每一类的概率

【深度学习】——激活函数(sigmoid、tanh、relu、softmax)_第2张图片

你可能感兴趣的:(深度学习,深度学习,激活函数,优缺点总结,函数表达式,曲线图及导数)