激活函数篇(Sigmoid、tanh、ReLU、PReLU)
写在前面:此文只记录了下本人感觉需要注意的地方,不全且不一定准确。详细内容可以参考文中帖的链接,比较好!!! 常用激活函数(激励函数)理解与总结 激活函数的区别与优点 梯度消失与爆炸 1. 激活函数是什么? 在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。 2. 激活函数的用途 如果不用激活函数,每一层的输入都是上一层输出的线性函数,而多层线性函数与一层线性函数的功能是等价的,网络的逼近能力就相当有限,因此引入非线性函数作为激励函数,使得深层神经网络的可以更好的逼近任意函数。 3. 常见的激活函数: Sigmoid 函数: 表达形式: f ( z ) = 1 1 + e − z f(z) = \frac{1}{1+e^{-z}} f ( z ) = 1 + e − z 1 函数图像: 导数图像: 优缺点: 优点 能够把输入的连续值压缩到【0~1】之间,可解释性强,0为不活跃,1为活跃 缺点 梯度反向传递时,容易导致梯度的爆炸和消失(大概率梯度消失,有时梯度爆炸)。 而由于 σ ( z ) \sigma (z) σ ( z ) 最大值为0.25,且通常初始| w | < 1 ,则有: 极易出现梯度消失;当初始化 |w| > 4 时,w * σ ( z ) \sigma (z) σ ( z ) > 1 ,才会产生梯度爆炸。