深度学习小白——神经网络1(激活函数)
2017-03-28 13:45
656 查看
一、激活函数
1. Sigmoid
![](http://zhihu.com/equation?tex=%5Cdisplaystyle%5Csigma%28x%29%3D1%2F%281%2Be%5E%7B-x%7D%29)
它可以将输入实数值压缩到0到1的范围内,更具体地说,很大的负数变为0,很大的正数变为1。 但sigmoid 函数有几个缺点
sigmoid函数饱和使梯度消失,当神经元的激活在接近0或者1时会饱和,在这些区域,梯度几乎为0,这样,在反向传播过程中,局部梯度就会接近0,这会有效地“杀死”梯度
Sigmoid函数的输出不是零中心的。这样使得关于w的梯度在反向传播过程中,将会要么全是正数,要么全是负数,使得梯度下降过程中出现z字型下降
2.Tanh函数
![](http://zhihu.com/equation?tex=tanh%28x%29%3D2%5Csigma%282x%29-1)
它将输入实数值压缩到-1,1之间,和sigmoid函数一样,它也存在饱和问题,但它输出是零中心的,所以相比较sigmoid而言更受欢迎
3. ReLU
![](http://zhihu.com/equation?tex=f%28x%29%3Dmax%280%2Cx%29)
优点:
ReLU对于随机梯度下降的首先有巨大的加速作用,这是由于它的线性,非饱和的公式导致的
sigmoid 和 tanh函数都含有指数运算,而ReLU可以简单地通过对一个矩阵进行阈值计算得到
缺点:
ReLU单元比较脆弱并且可能“死掉”。当一个很大的梯度流过ReLU的神经元的时候,可能会导致梯度更新到一种特别的状态,使得无法被其他任何数据点再次激活,如果这种情况发生,那么从此所有流过这个神经元的梯度都将变为0
4. Leaky ReLU (为解决ReLU死亡问题)
![](http://zhihu.com/equation?tex=f%28x%29%3D1%28x%3C0%29%28%5Calpha+x%29%2B1%28x%3E%3D0%29%28x%29)
5.Maxout
![](http://zhihu.com/equation?tex=max%28w%5ET_1x%2Bb_1%2Cw%5ET_2x%2Bb_2%29)
它是对ReLU和leaky ReLU的一般化归纳,maxout神经元拥有ReLU所有的优点,而没有它的缺点,然而和ReLU对比,它每个神经元的参数量增加了一倍
总结:
如果用ReLU,注意设置好学习率,或许可以监控死亡的神经元占的比例。不要用sigmoid,也可以试试tanh,但效果应该不如ReLU或者Maxout
1. Sigmoid
它可以将输入实数值压缩到0到1的范围内,更具体地说,很大的负数变为0,很大的正数变为1。 但sigmoid 函数有几个缺点
sigmoid函数饱和使梯度消失,当神经元的激活在接近0或者1时会饱和,在这些区域,梯度几乎为0,这样,在反向传播过程中,局部梯度就会接近0,这会有效地“杀死”梯度
Sigmoid函数的输出不是零中心的。这样使得关于w的梯度在反向传播过程中,将会要么全是正数,要么全是负数,使得梯度下降过程中出现z字型下降
2.Tanh函数
它将输入实数值压缩到-1,1之间,和sigmoid函数一样,它也存在饱和问题,但它输出是零中心的,所以相比较sigmoid而言更受欢迎
3. ReLU
优点:
ReLU对于随机梯度下降的首先有巨大的加速作用,这是由于它的线性,非饱和的公式导致的
sigmoid 和 tanh函数都含有指数运算,而ReLU可以简单地通过对一个矩阵进行阈值计算得到
缺点:
ReLU单元比较脆弱并且可能“死掉”。当一个很大的梯度流过ReLU的神经元的时候,可能会导致梯度更新到一种特别的状态,使得无法被其他任何数据点再次激活,如果这种情况发生,那么从此所有流过这个神经元的梯度都将变为0
4. Leaky ReLU (为解决ReLU死亡问题)
5.Maxout
它是对ReLU和leaky ReLU的一般化归纳,maxout神经元拥有ReLU所有的优点,而没有它的缺点,然而和ReLU对比,它每个神经元的参数量增加了一倍
总结:
如果用ReLU,注意设置好学习率,或许可以监控死亡的神经元占的比例。不要用sigmoid,也可以试试tanh,但效果应该不如ReLU或者Maxout
相关文章推荐
- 深度学习笔记之神经网络、激活函数、目标函数和深度的初步认识
- [DeeplearningAI笔记]神经网络与深度学习3.2_3.11(激活函数)浅层神经网络
- AndrewNg神经网络和深度学习笔记-Week3-6激活函数
- 深度学习中的数学与技巧(13):神经网络之激活函数
- 深度学习神经网络激活函数的优点
- 深度学习/神经神经网络常用激活函数总结
- 神经网络与深度学习之激活函数
- 深度学习小白——神经网络3(数据预处理,dropout,正则化)
- 深度神经网络及TensorFlow实现1-激活函数(Activation Function)2
- 深度神经网络及TensorFlow实现1-激活函数(Activation Function)
- 深度神经网络(DNN)损失函数和激活函数的选择
- 机器学习-神经网络之激活函数(Activation Function)
- [深度学习]网络结构,权重初始化,激活函数,fine-tune
- 【深度学习会被可微分编程取代?】展望30年后的神经网络和函数编程
- 神经网络与深度学习 笔记4 交叉熵代价函数 softmax函数
- 神经网络学习(五)优化方法:激活函数
- 论文学习:二值神经网络BNN-用+1或-1限制的权值和激活函数来训练神经网络
- 机器学习笔记:形象的解释神经网络激活函数的作用是什么?
- 深度学习小白——神经网络4(梯度检查)
- 深度学习-基础概念:神经元(Neurons)、Sigmoid 函数与神经网络基本结构