常见激活函数(Sigmoid、Tanh、Relu、Leaky Relu、Softmax)

您所在的位置:网站首页 常用激活函数特点,优缺点 常见激活函数(Sigmoid、Tanh、Relu、Leaky Relu、Softmax)

常见激活函数(Sigmoid、Tanh、Relu、Leaky Relu、Softmax)

2024-07-12 10:18| 来源: 网络整理| 查看: 265

目录

一、激活函数的作用

二、常见激活函数分析

1. Sigmoid

2. Tanh

3. Relu

4. Leaky Relu

5. Softmax

一、激活函数的作用

激活函数是人工神经网络中一个关键的组成部分,它被设计用来引入非线性特性到神经网络模型中。 在神经网络的基本结构中,每个神经元接收输入信号,对其进行加权求和后加上偏置项,然后将这个结果通过激活函数进行转换,得到神经元的输出。 如果没有激活函数,无论神经网络有多少层,其输出都将仅仅是一个线性组合,这样的模型表达能力非常有限,无法解决复杂的非线性问题。

激活函数的作用可以总结为以下几点:

引入非线性:这是激活函数最重要的作用。由于大多数实际问题都是非线性的,非线性激活函数使得神经网络能够拟合复杂的函数映射关系,从而解决非线性问题。

控制神经元输出范围:不同的激活函数有不同的输出范围,比如Sigmoid函数的输出在(0, 1)之间,Tanh函数的输出在(-1, 1)之间,ReLU函数的输出在[0, ∞)之间。这些特性有助于控制神经元的输出,防止数值不稳定。

加速训练:某些激活函数(如ReLU)具有计算效率高的优点,因为它们的计算只涉及到基本的算术操作,而不需要昂贵的指数运算。

缓解梯度消失/爆炸问题:一些激活函数(如ReLU及其变种)被设计来避免梯度消失或梯度爆炸问题,这些问题在训练深度神经网络时尤为突出。

二、常见激活函数分析 1. Sigmoid

数学表达式为:

函数图像为:

导数为:

导数图像为:

在导数中当输入值为0时,sigmoid函数的导数达到最大值0.25;而输入在任一方向上越远离0点时,导数越接近0。

sigmoid优点

输出范围明确:Sigmoid函数的输出范围在0到1之间,非常适合作为模型的输出函数。用于输出一个0到1范围内的概率值,比如用于表示二分类的类别或者用于表示置信度。便于求导:梯度平滑,便于求导,防止模型训练过程中出现突变的梯度。

sigmoid缺点

梯度消失:导函数图像中,sigmoid的导数都是小于0.25的,那么在进行反向传播的时候,梯度相乘结果会慢慢的趋向于0。这样几乎就没有梯度信号通过神经元传递到前面层的梯度更新中,因此这时前面层的权值几乎没有更新。非零中心化输出:Sigmoid函数的输出不是以0为中心的,而是以0.5为中心。这意味着在训练过程中,输出值总是偏向正值,可能导致权重更新偏向于一个方向,会呈Z型梯度下降,影响学习效率。饱和性:Sigmoid函数的饱和性导致其在输入值的极端情况下对输入变化不敏感,这限制了网络对极端值的学习能力。计算资源消耗:Sigmoid函数涉及指数运算,这在计算上可能比其他一些激活函数(如ReLU)更加耗时。 2. Tanh

数学表达式为:

实际上,Tanh函数是 sigmoid 的变形:

函数图像为:

当输入在0附近时,tanh函数接近线形变换。函数的形状类似于sigmoid函数,tanh是“零为中心”的。因此在实际应用中,tanh会比sigmoid更好一些。

导数为:

导数图像为:

当输入接近0时,tanh函数的导数接近最大值1。与sigmoid函数图像中看到的类似,输入在任一方向上远离0点,导数越接近0。

Tanh优点:

与sigmoid相比,多了一个零中心化输出。这有助于数据的稳定性和收敛性,因为它可以减少学习过程中的偏移。

Tanh缺点:

梯度消失问题:尽管Tanh函数在输入接近0时的梯度较大,但在输入值非常大或非常小的情况下,Tanh函数的导数仍然会接近0,导致梯度消失问题。计算资源消耗:Tanh函数涉及指数运算,这可能比其他一些激活函数(如ReLU)在计算上更加耗时。初始化敏感性:Tanh函数对权重初始化较为敏感,如果权重初始化不当,可能会导致梯度消失或爆炸问题。 3. Relu

ReLU提供了一种非常简单的非线性变换。给定元素x,ReLU函数被定义为该元素与0的最大值。

函数及图像:

导数及其图像:

ReLU优点:

ReLU解决了梯度消失的问题,当输入值为正时,神经元不会饱和计算复杂度低,不需要进行指数运算

ReLU缺点:

与Sigmoid一样,其输出不是以0为中心的Dead ReLU 问题。当输入为负时,梯度为0。这个神经元及之后的神经元梯度永远为0,不再对任何数据有所响应,导致相应参数永远不会被更新 4. Leaky Relu

函数:

图像:

Leaky ReLU优点:

解决了ReLU输入值为负时神经元出现的死亡的问题计算复杂度低,不需要进行指数运算

Leaky ReLU缺点:

函数中的α,需要通过先验知识人工赋值(一般设为0.01)有些近似线性,导致在复杂分类中效果不好。 5. Softmax

Softmax 可以使正样本(正数)的结果趋近于 1,使负样本(负数)的结果趋近于 0;且样本的绝对值越大,两极化越明显。

Softmax 可以使数值较大的值获得更大的概率。

表达式为:

导数为:

Softmax优点:

概率解释:Softmax函数的输出值总和为1,可以被解释为概率分布,这使得它非常适合用于多分类问题。每个类别的输出值表示该类别的相对概率。梯度稳定性:由于Softmax函数的输出是归一化的,它倾向于产生更稳定的梯度,这有助于在反向传播过程中的权重更新。避免梯度消失:Softmax函数不会像Sigmoid或Tanh函数那样在输入值非常大或非常小的情况下产生梯度消失问题,因为它的梯度不会接近零。

Softmax缺点:

数值稳定性问题:当输入特征值非常大或非常小时,Softmax函数可能会导致数值稳定性问题,因为指数函数的值可能变得非常大,导致数值溢出。计算资源消耗:Softmax函数涉及指数运算和求和,这可能比其他一些激活函数(如ReLU)在计算上更加耗时。对标签错误敏感:在训练过程中,如果标签错误,Softmax函数可能会放大这种错误,因为它会将概率集中在错误的类别上。不适合不平衡数据:在类别不平衡的数据集中,Softmax函数可能会偏向于多数类,因为它倾向于将概率集中在概率最高的类别上。输出不是零中心化:与Tanh函数不同,Softmax函数的输出不是零中心化的,这可能会影响某些类型的网络训练。对输入特征敏感:Softmax函数对输入特征的缩放和范围非常敏感,如果输入特征没有适当地归一化或标准化,可能会导致训练过程中的问题。不适合非分类任务:Softmax函数主要用于分类任务,如果用于回归或其他非分类任务,可能不是最佳选择。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3