深度学习笔记(九)--激活函数

激活函数是为了给神经元引入非线性因素,使得神经网络可以逼近任意非线性函数,这样神经网络就可以应用于众多的非线性模型中。常见的几个激活函数有sigmod,Tanh,ReLU,softmax

1、sigmod函数(logistic 函数)

下图为对应的公式和曲线以及对应的求导曲线图:

取值范围(0,1),可以用来做二分类。不过这个函数现在已经很少用了 ,主要原因是其在反向传播(BP)算法使用时,会进行梯度衰减,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练。

2 、Tanh函数

和sigmod相比,优点是output是0均值的。

 

3 、ReLU(Rectified Linear Unit) 即修正线性单元

 

优点:实验表明,它的使用,相对于sigmoid和tanh,可以非常大程度地提升随机梯度下降的收敛速度。
缺点:例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0.
如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都”dead”了。
当然,如果你设置了一个合适的较小的learning rate,这个问题发生的情况其实也不会太频繁。

4、 Softmax

用于多分类神经网络输出,输出的各个分类的概率,计算公式如下:

 

 最后总结一下,从数学角度来讲,激活函数的作用就是将输入数据映射到0到1上(tanh是映射-1到+1上)。至于映射的原因,除了对数据进行正则化外,大概是控制数据,使其只在一定的范围内。当然也有另外细节作用,例如Sigmoid(tanh)中,能在激活的时候,更关注数据在零(或中心点)前后的细小变化,而忽略数据在极端时的变化,例如ReLU还有避免梯度消失的作用。通常,Sigmoid(tanh)多用于全连接层,而ReLU多用于卷积层。 

 

 

 

 

 

 

 

 

参考博客:

https://www.jianshu.com/p/8a26eff224d3

https://blog.csdn.net/u010859498/article/details/78794405

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值