【深度学习】深度学习中常用的激活函数

近来研究深度学习,发现里面的trick很多,特地用blog记录下,以免以后忘掉
本文主要介绍常用的的激活函数, Sigmoid, tanh, Relu, Leaky relu

Sigmoid激活函数

sigmoid函数在历史上很受欢迎,因为他很符合神经元的特征,
这里写图片描述

优点是: 能够把输出控制在[0,1]之间, 直观
缺点是:1)他的饱和区和未激活区的梯度均为0,容易造成梯度弥散,比如x = 10时和x = -10时,链式求导的时候,梯度会变得很小导致权重更新很慢
2)非0均值输出。这会引入一个问题,当输入均为正值的时候,由于f = sigmoid(wTx+b)),那么对w求局部梯度则都为正,这样在反向传播的过程中w要么都往正方向更新,要么都往负方向更新,导致有一种捆绑的效果,使得收敛缓慢。
这里写图片描述
3)计算量比较大,都将把时间放在exp和矩阵点乘上了

tanh激活函数

tanh并没有解决sigmoid的梯度弥散问题,然而却解决了输出是0均值的问题,这使得tanh的收敛速度要比sigmoid要快的多。
这里写图片描述

Relu激活函数

Relu是目前用的最多的一种激活函数,
这里写图片描述

由于在正区域中很好的解决了梯度弥散的问题,而且其计算速度很快(只进行比较操作),在收敛速度上也比sigmoid和tanh要快
然而:其并没有解决负区域的梯度弥散问题,当初始权重设置的比较糟的时候,会导致dead relu,整个网络的权重不会进行更新
而且,relu输出也不是0均值的
(为了弄出一个0均值的relu,好像有个进化版的叫ELU)

Leaky Relu 激活函数

为了解决relu在负区域的梯度弥散问题,leaky relu 被提出
这里写图片描述

总结

**1.尽量不要用sgmoid,因为其收敛速度比较慢
2.可以去尝试tanh
3.尽量去使用relu,relu的收敛速度块,计算量少**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值