我目前正在准备神经网络考试。在以前考试的几个协议中,我读到神经元的激活函数(在多层感知器中)必须是单调的。
我知道激活函数应该是可微的,在大多数点上都有一个不为 0 的导数,并且是非线性的。我不明白为什么单调很重要/有帮助。
我知道以下激活函数并且它们是单调的:
- ReLU
- 乙状结肠
- 谭
- Softmax:我不确定单调性的定义是否适用于函数 和
- 软加
- (身份)
但是,我仍然看不到任何原因,例如 .
为什么激活函数必须是单调的?
(相关问题:对数/指数函数不用作激活函数有什么原因吗?)
我目前正在准备神经网络考试。在以前考试的几个协议中,我读到神经元的激活函数(在多层感知器中)必须是单调的。
我知道激活函数应该是可微的,在大多数点上都有一个不为 0 的导数,并且是非线性的。我不明白为什么单调很重要/有帮助。
我知道以下激活函数并且它们是单调的:
但是,我仍然看不到任何原因,例如 .
为什么激活函数必须是单调的?
(相关问题:对数/指数函数不用作激活函数有什么原因吗?)
单调性准则有助于神经网络更容易地收敛到更准确的分类器中。有关更多详细信息和原因,请参阅此stackexchange 答案和维基百科文章。
然而,激活函数的单调性标准不是强制性的——也可以用非单调的激活函数训练神经网络。优化神经网络变得越来越难。请参阅Yoshua Bengio 的回答。
我将提供一个更数学的理由来说明为什么具有单调函数会有所帮助!
使用http://mathonline.wikidot.com/lebesgue-s-theorem-for-the-differentiability-of-monotone-fun,假设我们的激活函数是单调的,我们可以说在实线上,我们的函数将是可微的。所以,激活函数的梯度不会是一个不稳定的函数。找到我们正在寻找的最小值会更容易。(计算成本低)
指数函数和对数函数是漂亮的函数,但没有界(因此,勒贝格定理的逆函数是不正确的,因为 Exp 和 Log 是在实线上没有界的可微函数)。因此,当我们想在最后阶段对示例进行分类时,它们会失败。Sigmoid 和 tanh 工作得非常好,因为它们具有易于计算的梯度,并且它们的范围分别为 (0,1) 和 (-1,1)。