概述
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()
最后
以上就是开朗雪糕为你收集整理的sigmoid tanh Relu比较的全部内容,希望文章能够帮你解决sigmoid tanh Relu比较所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复