激活函数的主要作用是提供网络的非线性表达建模能力,让深度神经网络具有强大的非线性学习能力。
1.Sigmoid激活函数。优点:最为接近生物神经元。输出在(0,1)。可以被表示为概率或者用于输入的归一化等。Sigmoid函数的导数是其本身的函数。缺点:饱和性,另外,Sigmoid函数的输出均大于0,使得输出不是0均值,这称为偏移现象。
2.TanH激活函数。优点:与Sigmoid相比,它的输出均值是0,使得其收敛速度要比Sigmoid快,减少迭代次数。缺点:该导数在正负饱和区的梯度都会接近于0值(仍然具有软饱和性),会造成梯度消失。
3.ReLU激活函数。优点:当x<0时,ReLU硬饱和,而当x>0时,不存在饱和问题。所以,ReLU 能够在x>0时保持梯度不衰减,从而缓解梯度消失问题。缺点:随着训练的推进,部分输入会落入硬饱和区,导致对应权重无法更新。这种现象被称为“神经元死亡”。与Sigmoid类似,ReLU的输出均值也大于0,偏移现象和神经元死亡会共同影响网络的收敛性。
4.Leaky ReLU & PReLU激活函数。在ReLU x<0的时候引入参数a。其中PReLU中的参数a可学习。
5.ELU激活函数。特点:融合了sigmoid和ReLU,左侧具有软饱和性,右侧无饱和性。右侧线性部分使得ELU能够缓解梯度消失,而左侧软饱能够让ELU对输入变化或噪声更鲁棒。ELU的输出均值接近于零,所以收敛速度更快。
6.Swish激活函数。Swish 具备无上界有下界、平滑、非单调的特性。
7.Mish激活函数。Mish 函数保证在曲线上几乎所有点上的平滑度。随着层深的增加,ReLU 精度迅速下降,其次是 Swish。而 Mish 能更好地保持准确性。
激活函数
最新推荐文章于 2022-11-18 18:09:09 发布