激活函数小结

摘要

本篇博客对一些激活函数进行总结,以便加深理解和记忆

激活函数分类

  • 饱和激活函数:sigmoid、tanh…

  • 非饱和激活函数:ReLU、LeakyRelu、ELU、PReLU、RReLU…

  • 饱和的概念:设激活函数f(x),当x趋近于正负无穷时,f(x)趋近于0

  • 非饱和激活函数的优点

    • 非饱和激活函数能解决深层网络带来的梯度消失问题
      • 非饱和激活函数有助于加快收敛速度

sigmoid

  • 公式: f ( x ) = 1 1 + e − x f(x)= \frac 1 {1+e^{-x}} f(x)=1+ex1
  • 导数公式: f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f'(x)=f(x)(1-f(x)) f(x)=f(x)(1f(x))
  • 何时使用
    • 将模型的值压缩到[0,1]范围内的概率值,适用于二分类或置信度
    • 梯度平滑,便于求导
  • 缺点
    • 容易造成梯度消失。我们从导函数图像中了解到sigmoid的导数都是小于0.25的,那么在进行反向传播的时候,梯度相乘结果会慢慢的趋向于0。这样几乎就没有梯度信号通过神经元传递到前面层的梯度更新中,因此这时前面层的权值几乎没有更新,这就叫梯度消失。除此之外,为了防止饱和,必须对于权重矩阵的初始化特别留意。如果初始化权重过大,可能很多神经元得到一个比较小的梯度,致使神经元不能很好的更新权重提前饱和,神经网络就几乎不学习
    • 函数输出不是以 0 为中心的,梯度可能就会向特定方向移动,从而降低权重更新的效率
    • 执行指数运算,计算机运行得较慢,比较消耗计算资源

Sigmoid函数在历史上曾非常常用,但是现在它已经不太受欢迎,实际中很少使用

Tanh

  • 公式: f ( x ) = e x − e − x e x + e − x        ( = 2 s i g m o i d ( 2 x ) − 1 ) f(x) = \frac {e^x - e^{-x}} {e^x + e^{-x}} \;\;\;(=2sigmoid(2x)-1) f(x)=ex+exexex(=2sigmoid(2x)1)
  • 何时使用
    • 映射范围为[-1,1],且函数以0为中心,比sigmoid更好
    • 负输入将被强映射为负,而零输入被映射为接近零
  • 缺点
    • 仍然存在梯度饱和的问题
    • 依然进行的是指数运算

Softsign

  • 公式: f ( x ) = x 1 + ∣ x ∣ f(x) = \frac x {1+|x|} f(x)=1+xx
  • 导数: f ′ ( x ) = 1 ( 1 + ∣ x ∣ ) 2 f'(x)= \frac 1 {(1+|x|)^2} f(x)=(1+x)21
  • Softsign函数是Tanh函数的另一个替代选择,是反对称、去中心、可微分,并返回-1和1之间的值。其更平坦的曲线与更慢的下降导数表明它可以更高效地学习,比tTanh函数更好的解决梯度消失的问题
  • Softsign函数的导数的计算比Tanh函数更复杂

Softmax

  • 公式: f ( x ) = e X i ∑ i e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值