为什么不使用纯指数作为神经网络的激活函数?

机器算法验证 机器学习 神经网络 感知器
2022-01-22 20:05:53

ReLU 函数通常用作机器学习中的激活函数,以及它的修改(ELU,leaky ReLU)。

这些函数的总体思路是相同的:在x = 0函数的值较小之前(其无穷大的极限为零或-1),在x = 0函数与 x 成比例增长之后。

指数函数 (e^xe^x-1) 具有类似的行为,并且它的导数x = 0大于 sigmoid。

下面的可视化说明了与 ReLU 和 sigmoid 激活函数相比的指数。

指数与一些流行激活的比较

那么,为什么y=e^x在神经网络中不使用简单函数作为激活函数呢?

1个回答

我认为最突出的原因是稳定性。考虑具有指数激活的后续层,以及当您向 NN 输入少量数字时输出会发生什么(例如x=1),前向计算将如下所示:

o=exp(exp(exp(exp(1))))e3814279

它会很快变得疯狂,我认为你不能用这个激活函数训练深度网络,除非你添加其他机制,比如裁剪。