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

一、激活函数

1. Sigmoid                    \displaystyle\sigma(x)=1/(1+e^{-x})

它可以将输入实数值压缩到0到1的范围内,更具体地说,很大的负数变为0,很大的正数变为1。 但sigmoid 函数有几个缺点

  • sigmoid函数饱和使梯度消失,当神经元的激活在接近0或者1时会饱和,在这些区域,梯度几乎为0,这样,在反向传播过程中,局部梯度就会接近0,这会有效地“杀死”梯度
  • Sigmoid函数的输出不是零中心的。这样使得关于w的梯度在反向传播过程中,将会要么全是正数,要么全是负数,使得梯度下降过程中出现z字型下降
2.Tanh函数                   tanh(x)=2\sigma(2x)-1

它将输入实数值压缩到-1,1之间,和sigmoid函数一样,它也存在饱和问题,但它输出是零中心的,所以相比较sigmoid而言更受欢迎

3. ReLU                        f(x)=max(0,x)

优点:
  • ReLU对于随机梯度下降的首先有巨大的加速作用,这是由于它的线性,非饱和的公式导致的
  • sigmoid 和 tanh函数都含有指数运算,而ReLU可以简单地通过对一个矩阵进行阈值计算得到

缺点:

  • ReLU单元比较脆弱并且可能“死掉”。当一个很大的梯度流过ReLU的神经元的时候,可能会导致梯度更新到一种特别的状态,使得无法被其他任何数据点再次激活,如果这种情况发生,那么从此所有流过这个神经元的梯度都将变为0

4. Leaky ReLU (为解决ReLU死亡问题)

f(x)=1(x<0)(\alpha x)+1(x>=0)(x)


5.Maxout                       max(w^T_1x+b_1,w^T_2x+b_2)

它是对ReLU和leaky ReLU的一般化归纳,maxout神经元拥有ReLU所有的优点,而没有它的缺点,然而和ReLU对比,它每个神经元的参数量增加了一倍


总结:

如果用ReLU,注意设置好学习率,或许可以监控死亡的神经元占的比例。不要用sigmoid,也可以试试tanh,但效果应该不如ReLU或者Maxout



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值