还记得的另外一篇博客逻辑回归里面提到的Sigmoid激活函数吗?
这里我详细的聊聊Sigmoid和其它计算机视觉中常用的激活函数

那激活函数干什么的呢?我们可以这样感性的理解:

  • 在逻辑回归(二分类问题)中,激活函数可以根据传入的值,判断这个事物属于哪一类
  • 在深度学习的神经元中,可以根据传入的值的大小,判断这个神经元是否能继续传递值(不能传递,就是死了,不激活嘛)

Sigmoid激活函数

作用

逻辑回归里面提到,它能将函数的值域R,映射(0 ,1)之间,大于0.5是一个类别,小于0.5就是另外一个类别了
公式:

σ(t) = sigmoid操作 sigmoid函数怎么用_Soft

  • 当t趋近于正无穷时候,值域趋近于1
  • 当t趋近于负无穷时候,值域趋近于0
  • 当t > 0 时:sigmoid操作 sigmoid函数怎么用_深度学习_02
  • 当t < 0 时:sigmoid操作 sigmoid函数怎么用_深度学习_02 < 0.5

sigmoid操作 sigmoid函数怎么用_Soft_04

优点
  • 它是非线性的,可以拟合样本中非线性关系的模型
  • 它将数据映射到了(0,1)之间,相当于做了归一化处理
  • 它的导数:σ‘(t) = σ(t)[ 1 - σ(t) ],导数非常容易计算
缺点
  • 函数计算相对耗时
  • Sigmoid函数2侧无限的趋近于0和1,从而导致的问题是,在深度学习中,即使自变量非常大(因为映射后最大也就是1),反向传播的修正值变化也不大(也就是你犯了很大的错,惩罚也很轻),这就造成了梯度弥散。从而影响了整个模型的收敛速度

Softmax激活函数

它主要用于处理多分类问题,它可以用来表面每一个类别对应的输出概率是多少,那么概率最大的,就是本次的输出结果。

公式:

sigmoid操作 sigmoid函数怎么用_激活函数_05

  • sigmoid操作 sigmoid函数怎么用_激活函数_06:分类器前级网络的输出结果,j表示索引
  • sigmoid操作 sigmoid函数怎么用_激活函数_06:表示当前要被分类的特征值
  • m:表示分类的总个数
  • sigmoid操作 sigmoid函数怎么用_激活函数_08:表示当前元素被分类器选中的概率
性质
  • 其实仔细分析一下就可以得出:所有分类的概率结果相加为1
  • 相对于直接按照大小进行占比,Softmax利用sigmoid操作 sigmoid函数怎么用_深度学习_09,的特性,更能突出概率更大的类别
  • softmax 和交叉熵的结合,使损失梯度在网络最后一层的回传变得十分简洁
RELU激活函数

RELU激活函数,即修正线性单元(Rectified linear unit),在深度学习中已经替代Sigmoid激活函数。

  • 是一种线性的激活函数
  • 他它具有仿生学原理,当传入值小于0时,改神经单元就“死”了,不再传导信息

sigmoid操作 sigmoid函数怎么用_激活函数_10



  • 公式:
    R(x) = max(0,x)
总结

由于Relu函数不存在Sigmoid的饱和区,也就不会造成梯度弥散问题,从而加快了模型训练时候的收敛速度