神经网络的激活函数(四)ELU和它的变种SELU
ELU(Exponential Linear Unit,指数线性单元)激活函数是为了进一步改进ReLU及其变体(如Leaky ReLU和PReLU)的性能而提出的。ELU旨在解决ReLU的一些固有问题,特别是负区间的特性和输出均值的偏移。
ELU通过在负区间引入指数函数来改进ReLU及其变体的性能。ELU旨在解决ReLU的一些固有问题,如Dying ReLU问题和输出均值偏移问题。
ELU的数学表达式为:
\[\text{ELU}(x) = \begin{cases} x & \text{if } x \geq 0 \\ \alpha (e^x - 1) & \text{if } x < 0 \end{cases}\]其中,$\alpha$ 是一个超参数,通常取值为1。
ELU激活函数是在2015年由Djork-Arné Clevert、Thomas Unterthiner和Sepp Hochreiter在论文《Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)》中提出的。
ELU在许多深度学习模型中得到了应用,特别是在卷积神经网络(CNN)和其他需要处理大量非线性数据的模型中。它通过改进负区间的特性和输出均值,使得模型能够更快地收敛并达到更高的性能。
SELU(Scaled Exponential Linear Unit,缩放指数线性单元)激活函数是ELU的一个变体,通过引入缩放因子来进一步改进神经网络的性能。SELU不仅解决了ReLU的一些问题,还引入了自归一化(self-normalizing)的特性,使得神经网络在训练过程中能够自动保持均值和方差的稳定。
SELU的数学表达式为:
\[\text{SELU}(x) = \lambda \begin{cases} x & \text{if } x \geq 0 \\ \alpha (e^x - 1) & \text{if } x < 0 \end{cases}\]其中,$\alpha$ 和 $\lambda$ 是两个固定的参数,通常取值为:
SELU激活函数是在2017年由Günter Klambauer、Thomas Unterthiner、Andreas Mayr和Sepp Hochreiter在论文《Self-Normalizing Neural Networks》中提出的。
[1] Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
[2] Self-Normalizing Neural Networks
仓库上有原始的Markdown文件,完全开源,欢迎大家Star和Fork!