激活函数:
激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质:
1. 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数。
2. 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。
3. 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。
Logistic 函数
装备了Logistic 激活函数的神经元具有以下两点性质:1)其输出直接可以看作是概率分布,使得神经网络可以更好地和统
计学习模型进行结合。2)其可以看作是一个软性门(Soft Gate),用来控制其它神经元输出信息的数量。
Tanh 函数
Tanh 函数可以看作是放大并平移的Logistic 函数,其值域是(−1, 1)。
Tanh 函数的输出是零中心化的(Zero-Centered),而Logistic 函数的输出恒大于0。非零中心化的输出会使得其后一层的神经元的输入发生偏置偏移(Bias Shift),并进一步使得梯度下降的收敛速度变慢。
Hard-Logistic 和Hard-Tanh 函数
以Logistic 函数σ(x) 为例,其导数为σ′(x) = σ(x)(1−σ(x))。由其在0附近的一阶泰勒展开,得到
修正线性单元(Rectified Linear Unit,ReLU)
优点:x>0时缓解了梯度消失问题,加速梯度下降收敛速度。有很好的稀疏性(使一部分输出为0),大约50%神经元处于激活状态。
缺点:有的神经元可能永远不能激活
带泄露的ReLU
带泄露的ReLU(Leaky ReLU)在输入x < 0 时,保持一个很小的梯度λ。这样当神经元非激活时也能有一个非零的梯度可以更新参数,避免永远不能被激活[Maas et al., 2013]。带泄露的ReLU的定义如下:
带参数的ReLU
带参数的ReLU(Parametric ReLU,PReLU)引入一个可学习的参数,不同神经元可以有不同的参数[He et al., 2015]。对于第i 个神经元,其PReLU的定义为
Softplus 函数
Softplus 函数其导数刚好是Logistic 函数。Softplus 函数虽然也有具有单侧抑制、宽兴奋边界的特性,却没有稀疏激活性。
还有一些不常见的激活函数。
参考:https://nndl.github.io/