激活函数Sigmoid

激活函数Sigmoid


   上一节激活函数中已经讨论了激活函数的重要性,和大致发展路径。本文直接讨论SIgmoid激活函数,这是比较早的激活函数了,使用也非常广泛,这个函数又叫Logistic函数,因为这个激活函数和逻辑回归的关系式非常之密切的。
  函数的形式是 f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1,对函数的值域做个分析就知道函数的值域 f ( x ) ∈ [ 0 , 1 ] f(x)\in[0,1] f(x)[0,1],函数的输出被积压到了 [ 0 , 1 ] [0,1] [0,1]之间,所以又叫挤压函数。函数的图像如下。

图片来自网上
  直观上来看,该激活函数在两边无穷大处的收敛了,导函数应该也是收敛于0的。我们来证实一下。
f ′ ( x ) = ( 1 1 + e − x ) ′ = e − x ( 1 + e − x ) 2 f'(x)= \left ( \frac{1}{1+e^{-x}} \right )'= \frac{e^{-x}}{(1+e^{-x})^2} f(x)=(1+ex1)=(1+ex)2ex,可以很容易的对这个导函数两边向无穷大取极限,得到 f ′ ( x ) = 0 f'(x)=0 f(x)=0,所以两边都是饱和的。同时也可以证明该函数是单调递增函数,单调有界必收敛,收敛也可以说明导函数为0。
  Sigmoid的特点就是将输出映射到[0,1]之内,可以和概率轻易对应起来,很容易用来反映二分类结果的概率。事实上逻辑回归就是使用sigmoid函数作为输出概率的,后面可能会整理逻辑回归,同时谈一谈sigmoid和softmax的关系。但是显然sigmoid可以和类别概率对应起来,但是也仅仅能和二分类概率对应起来,对于多分类问题无能为力。
  另一个特点就是反向传播的计算比较简单,因为这个函数有一个特性, f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x)= f(x)\left( 1-f(x) \right ) f(x)=f(x)(1f(x)),根据这个公式可以很快速的计算出反向传播的导数值。但是这个函数的计算本身就有点不容易,要计算指数还要计算除法。
  还有一点不足之处就是,这个函数由于具有软饱和性,训练的时候,对于绝对值较大的数,计算出来的梯度非常小,如果多层的梯度相乘,导致计算出来的最终梯度非常小,使得参数几乎无法更新,训练无法正常进行下去,这就是所谓的梯度消失问题
  我们可以从函数图像很直观的看到,sigmoid函数是不以0为中心的,对所有的参数求导后,发现值是同正同负的,使得所有的参数更新时,只能朝一个方向,这样梯度下降的时候,下降的不够自由,就只能Z字形下降,会减慢收敛速度,具体的细节请大家自行研究。

系列文章:

神经网络中的激活函数总述
sigmoid激活函数
tanh激活函数
ReLU系列激活函数
maxout激活函数
Swish激活函数
激活函数发展的新里程——EvoNorms

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值