训练神经网络--激活函数

目录

1.激活函数

1.1sigmiod函数

 1.2tanh函数

1.3relu函数 

 1.4leaky relu函数

 1.5maxout函数

1.6elu函数


1.激活函数

1.1sigmiod函数

 这是最早期神经网络用的一种激活函数,是非线性的,将元素压缩到[0,1]上,但是在元素趋很大或者很小(负数)的时候,可以看成是线性的

sigmoid函数跟所有激活函数一样实现了元素非线性化,更加贴近于实际。

但是缺点很明显,(1)当元素处于函数的正饱和区域或者负饱和区域的时候,或出现梯度消失现象(2)sigmoid函数不是关于0对称的,梯度只会朝着一个方向更新,导致梯度更新效率低。

设一个神经元为f(∑wi*xi+bi),那么w的梯度为dl/dw=xi,而当x输入全部为正,sigmiod函数输出也是全部为正,那么wi全部为正,所以对于w的梯度是朝一个方向更新,如下图

导致每次跟新w只能向一个方向更新,正或负,导致更新如上图一直绕着正确梯度(蓝色线)更新方向更新

 sigmoid函数现在用的很少。

 1.2tanh函数

 tanh函数相对于sigmiod函数,它是关于0对称的函数,使得它没有了sigmiod函数的第二个缺点,但是仍然跟sigmiod函数一样存在这梯度消失现象。

1.3relu函数 

 现在用的很多的一个函数,更加的符合人的神经工作原理,现在大多采用relu函数,相比于sigmiod函数,它更加的精确

但是同样,在负半轴上存在饱和现象,所以也存在梯度消失现象,可以直接理解为只激活正半轴上的数据

 1.4leaky relu函数

没有饱和现象,里面的参数max(a*x,x)a需要通过反向传播来学习

 1.5maxout函数

1.6elu函数

 跟leaky relu函数相比多了负饱和现象,但是这可能会给数据带来更多的噪声,增强了数据。需要进行指数运算,运算更麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值