您的位置:首页 > 理论基础 > 计算机网络

深度学习小白——神经网络1(激活函数)

2017-03-28 13:45 656 查看
一、激活函数

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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: