sigmoid tanh Relu比较

1、sigmoid函数

这里写图片描述

函数曲线图如下:

函数导数曲线图如下:

优点:

  • 输出为0到1之间的连续实值,此输出范围和概率范围一致,因此可以用概率的方式解释输出。-
  • 将线性函数转变为非线性函数

缺点:

  • 容易出现gradient vanishing
  • 函数输出并不是zero-centered
  • 幂运算相对来讲比较耗时

对应的tf函数:tf.nn.sigmoid()

2、tanh函数

tanh函数表达式:
这里写图片描述

函数曲线图为:
这里写图片描述
sigmoid和tanh函数之间的关系式:
这里写图片描述
sigmoid函数和tanh函数导数区别

考虑相同的输入区间[0,1]

sigmoid函数导数输出范围为[0.20,0.25]

tanh函数导数曲线图为

其输出范围为[0.42,1]

优点:

  • 对比sigmoid和tanh两者导数输出可知,tanh函数的导数比sigmoid函数导数值更大,即梯度变化更快,也就是在训练过程中收敛速度更快。
  • 输出范围为-1到1之间,这样可以使得输出均值为0,这个性质可以提高BP训练的效率,具体原因参考文献 http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf
  • 将线性函数转变为非线性函数

缺点:

  • gradient vanishing
  • 幂运算相对来讲比较耗时

    对应的tf函数:tf.nn.tanh()

3、ReLU函数

ReLU函数表达式为:
这里写图片描述

其函数曲线图为:

这里写图片描述

由函数图像可知其导数为分段函数

x <= 0时,导数为0

x > 0时,导数为1

优点:

  • 解决了gradient vanishing问题 (在正区间)
  • 计算速度非常快,只需要判断输入是否大于0
  • 收敛速度远快于sigmoid和tanh

缺点:

  • 不是zero-centered
  • 某些神经元可能永远不会被激活

    对应的tf函数为:tf.nn.relu()

  • 10
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值