深度学习中常用的激励函数

本文介绍了深度学习中激励函数的重要性,通过引入非线性,神经网络能更好地处理非线性数据。常见的激励函数包括sigmoid、tanh、ReLU、Leaky ReLU和ELU,它们各有优缺点。ReLU因其简单高效在深度学习中广泛使用,但可能面临神经元死亡问题。ELU和Leaky ReLU则尝试解决这一问题。Maxout函数作为ReLU的泛化,兼顾效果和计算量。
摘要由CSDN通过智能技术生成

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。

 

182920_AW5j_876354.png

我们知道深度学习的理论基础是神经网络,在单层神经网络中(感知机),输入和输出计算关系如下图所示:
182932_BbjI_876354.png 
可见,输入与输出是一个线性关系,对于增加了多个神经元之后,计算公式也是类似,如下图:
182940_bxUt_876354.png 
这样的模型就只能处理一些简单的线性数据,而对于非线性数据则很难有效地处理(也可通过组合多个不同线性表示,但这样更加复杂和不灵活),如下图所示:
182946_EN9g_876354.png 
那么,通过在神经网络中加入非线性激励函数后,神经网络就有可能学习到平滑的曲线来实现对非线性数据的处理了。如下图所示:
182952_W8TT_876354.png 
因此,神经网络中激励函数的作用通俗上讲就是将多个线性输入转换为非线性的关系。如果不使用激励函数的话,神经网络的每层都只是做线性变换,即使是多层输入叠加后也还是线性变换。通过激励函数引入非线性因素后,使神经网络的表示能力更强了。

下面介绍几个常用的激励函数
1、sigmoid 函数
183022_BMeZ_876354.png 
这应该是神经网络中使用最频繁的激励函数了,它把一个实数压缩至0到1之间,当输入的数字非常大的时候,结果会接近1,当输入非常大的负数时,则会得到接近0的结果。在早期的神经网络中使用得非常多,因为它很好地解释了神经元受到刺激后是否被激活和向后传递的场景(0:几乎没有被激活,1:完全被激活),不过近几年在深度学习的应用中比较少见到它的身影,因为使用sigmoid函数容易出现梯度弥散或者梯度饱和。当神经网络的层数很多时,如果每一层的激励函数都采用sigmoid函数的话,就会产生梯度弥散的问题,因为利用反向传播更新参数时,会乘以它的导数,所以会一直减小。如果输入的是比较大或者比较小的数(例如输入100,经Sigmoid函数后结果接近于1,梯度接近于0),会产生饱和效应,导致神经元类似于死亡状态。

【小白科普】什么是饱和呢?
183032_M7lE_876354.png

2、tanh 函数
183108_CSSq_876354.png 
tanh函数将输入值压缩至-1到1之间。该函数与Sigmoid类似,也存在着梯度弥散或梯度饱和的缺点。

3、ReLU函数
183117_AQxk_876354.png 
ReLU是修正线性单元(The Rectified Linear Unit)的简称,近些年来在深度学习中使用得很多,可以解决梯度弥散问题,因为它的导数等于1或者就是0。相对于sigmoid和tanh激励函数,对ReLU求梯度非常简单,计算也很简单,可以非常大程度地提升随机梯度下降的收敛速度。(因为ReLU是线性的,而sigmoid和tanh是非线性的)。
但ReLU的缺点是比较脆弱,随着训练的进行,可能会出现神经元死亡的情况,例如有一个很大的梯度流经ReLU单元后,那权重的更新结果可能是,在此之后任何的数据点都没有办法再激活它了。如果发生这种情况,那么流经神经元的梯度从这一点开始将永远是0。也就是说,ReLU神经元在训练中不可逆地死亡了。

4、Leaky ReLU 函数
183125_dDUy_876354.png 
Leaky ReLU主要是为了避免梯度消失,当神经元处于非激活状态时,允许一个非0的梯度存在,这样不会出现梯度消失,收敛速度快。它的优缺点跟ReLU类似。

5、ELU 函数
183133_XffM_876354.png 
ELU在正值区间的值为x本身,这样减轻了梯度弥散问题(x>0区间导数处处为1),这点跟ReLU、Leaky ReLU相似。而在负值区间,ELU在输入取较小值时具有软饱和的特性,提升了对噪声的鲁棒性
下图是ReLU、LReLU、ELU的曲线比较图:

183142_X86o_876354.png

6、Maxout 函数
183148_xh6C_876354.png 
Maxout也是近些年非常流行的激励函数,简单来说,它是ReLU和Leaky ReLU的一个泛化版本,当w1、b1设置为0时,便转换为ReLU公式。
因此,Maxout继承了ReLU的优点,同时又没有“一不小心就挂了”的担忧。但相比ReLU,因为有2次线性映射运算,因此计算量也会翻倍。

 

推荐相关阅读

 

欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯

155533_IdYn_876354.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值