本文主要参考博文:
1. http://blog.csdn.net/u014595019/article/details/52562159
2. https://zhuanlan.zhihu.com/p/22142013
激活函数的作用
神经网络中激活函数的主要作用是提供网络的非线性建模能力。假设一个神经网络中仅包含线性卷积和全连接运算,那么该网络仅能够表达线性映射,即便增加网络的深度也依旧还是线性映射,难以有效建模实际环境中非线性分布的数据。加入(非线性)激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。因此,激活函数是深度神经网络中不可或缺的部分。
激活函数的性质
可微性: 当优化方法是基于梯度的时候,这个性质是必须的。
单调性: 当激活函数是单调的时候,单层网络能够保证是凸函数。
输出值的范围: 当激活函数的输出是有限的时候,基于梯度的优化方法会更加稳定,因为特征的表示受有限权值的影响更显著;
当激活函数的输出是无限的时候,模型的训练会更加高效,不过在这种情况下,一般需要更小的learning rate
sigmod函数
sigmoid 是使用范围最广的一类激活函数,具有指数函数形状,它在物理意义上最接近生物神经元。但是,从上图可以看出,
该函数有两方面的缺陷:饱和性、非0均值。
饱和性可以分为软饱和、硬饱和。其中,软饱和是指函数的导数趋近于0,硬饱和是指函数的导数等于0,软饱和的公式如1所
示,硬饱和的公式如2所示。
(1)
(2)
sigmoid 的软饱和性,使得深度神经网络在二三十年里一直难以有效的训练,是阻碍神经网络发展的重要原因。具体来说,由
于在反向传递中,sigmoid函数向下传递的梯度包含了一个f'(x)因子(sigmoid关于输入的导数),因此一旦输入落入饱和区,f'(x)
就