神经网络之激活函数

激活函数

定义

所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。

判定每个神经元的输出

通俗来说,激活函数一般是非线性函数,其作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。

常见的激活函数

1.sigmoid

2.tanh

3.ReLu

4.ELU

5.PReLU

这里简单的对前三个进行介绍

1.sigmoid

在这里插入图片描述

Sigmoid 函数的取值范围在 (0,1) 之间,单调连续,求导容易,一般用于二分类神经网络的输出层。

sigmoid函数图像如图

在这里插入图片描述

sigmoid函数求导

在这里插入图片描述

缺点:

1.Sigmoid 函数饱和区范围广,容易造成梯度消失

2.参数矩阵 W 的每个元素都会朝着同一个方向变化,同为正或同为负。这对于神经网络训练是不利的,所有的 W 都朝着同一符号方向变化会减小训练速度,增加模型训练时间。

3.Sigmoid 函数包含 exp 指数运算,运算成本也比较大

2.tanh

在这里插入图片描述

图像如图

在这里插入图片描述
tanh 函数的取值范围在 (-1,1) 之间,单调连续,求导容易。

相比于 Sigmoid 函数,tanh 函数的优点主要有两个:

1.其一,收敛速度更快,如下图所示,tanh 函数线性区斜率较 Sigmoid 更大一些。在此区域内训练速度会更快。
2.其二,tanh 函数输出均值为零,也就不存在 Sigmoid 函数中 dW 恒为正或者恒为负,从而影响训练速度的问题。

缺点:

tanh 函数与 Sigmoid 函数一样,也存在饱和区梯度消失问题。其饱和区甚至比 Sigmoid 还要大一些,但不明显。

3.ReLu

在这里插入图片描述

在这里插入图片描述

优点:

1.没有饱和区,不存在梯度消失问题。

2.没有复杂的指数运算,计算简单、效率提高。

3.实际收敛速度较快,大约是 Sigmoid/tanh 的 6 倍。

4.比 Sigmoid 更符合生物学神经激活机制。

缺点:

1. ReLU 的输出仍然是非零对称的,可能出现 dW 恒为正或者恒为负,从而影响训练速度。
2. 当 x<0 时,ReLU 输出总为零。该神经元输出为零,则反向传播时,权重、参数的梯度横为零,造成权重、参数永远不会更新,即造成神经元失效,形成了“死神经元”。

如何选择激活函数

1.首选 ReLU,速度快,但是要注意学习速率的调整,

2.如果 ReLU 效果欠佳,尝试使用 Leaky ReLU、ELU 或 Maxout 等变种。

3.可以尝试使用 tanh。

4.Sigmoid 和 tanh 在 RNN(LSTM、注意力机制等)结构中有所应用,作为门控或者概率值。其它情况下,减少 Sigmoid 的使用。

5.在浅层神经网络中,选择使用哪种激励函数影响不大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸可落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值