激活函数是模型整个结构中的非线性扭曲力
神经网络的每层都会有一个激活函数
汇总图:
1、逻辑函数(Sigmoid):
使用范围最广的一类激活函数,具有指数函数形状,它在物理意义上最为接近生物神经元。
其自身的缺陷,最明显的就是饱和性。从函数图可以看到,其两侧导数逐渐趋近于0,杀死梯度。
函数图像:
2、正切函数(Tanh):
非常常见的激活函数。与sigmoid相比,它的输出均值是0,使得其收敛速度要比sigmoid快,减少迭代次数。
相对于sigmoid的好处是他的输出的均值为0,克服了第二点缺点。但是当饱和的时候还是会杀死梯度。
函数图:
3、线性整流函数(Rectified Linear Unit,ReLU):
最近几年比较受欢迎的一个激活函数
无饱和区,收敛快、计算简单、有时候会比较脆弱,如果变量的更新太快,还没有找到最佳值,就进入小于零的分段就会使得梯度变为0,无法更新直接死掉了。
函数图:
4、ELU函数(Exponential Linear Unit):
融合了sigmoid和ReLU,左侧具有软饱和性,右侧无饱和性。
右侧线性部分使得ELU能够缓解梯度消失,而左侧软饱能够让ELU对输入变化或噪声更鲁棒。
因为函数指数项所以计算难度会增加
函数图:
5、Softplus函数:
函数图:
6、恒同映射(Identity):
7、Maxout:
他是ReLU和LReLU的一般化公式(如ReLU就是将w1和b1取为0)。所以他用于ReUL的优点而且没有死区,但是它的参数数量却增加了一倍。
maxout网络能够近似任意连续函数,且当w2,b2,…,wn,bn为0时,退化为ReLU。Maxout能够缓解梯度消失,同时又规避了ReLU神经元死亡的缺点,但增加了参数和计算量。
8、其他几种激活函数的比较如图:
神经网络之所以为非线性模型的关键,关键在于激活函数。