我认为使用 Leaky ReLU 代替 ReLU 的优势在于,这样我们就不会出现梯度消失。Parametric ReLU 具有相同的优势,唯一的区别是负输入的输出斜率是一个可学习的参数,而在 Leaky ReLU 中它是一个超参数。
但是,我无法判断是否存在使用 ReLU 而不是 Leaky ReLU 或参数化 ReLU 更方便的情况。
我认为使用 Leaky ReLU 代替 ReLU 的优势在于,这样我们就不会出现梯度消失。Parametric ReLU 具有相同的优势,唯一的区别是负输入的输出斜率是一个可学习的参数,而在 Leaky ReLU 中它是一个超参数。
但是,我无法判断是否存在使用 ReLU 而不是 Leaky ReLU 或参数化 ReLU 更方便的情况。
将 ReLU(超参数化的1泄漏变体)和在学习期间具有动态参数化的变体结合起来混淆了两个不同的事情:
ReLU 从来不是参数化的原因是,这样做是多余的。在负域中,它是常数零。在非负域中,它的导数是常数。由于激活输入向量已经用向量-矩阵乘积(其中矩阵、立方体或超立方体包含衰减参数)进行了衰减,因此添加参数以改变非负域的常数导数没有用处.
当激活中存在曲率时,所有激活系数作为参数都是冗余的不再是真的。它们的值可能会极大地改变训练过程,从而改变收敛的速度和可靠性。
对于相当深的网络,冗余再次出现,并且在文献中的理论和实践中都有证据证明这一点。
这就是为什么 ELU 品种,它有利于避免上述较浅网络的饱和问题,但不用于较深的网络。
所以一个人必须决定两件事。
总而言之,选择绝不是方便的选择。
脚注
[1] 超参数是影响通过层的信号传递的参数,它们不属于该层的输入衰减。衰减权重是参数。任何其他参数化都在超参数集中。这可能包括学习率、反向传播中高频的衰减,以及为整个层(如果不是整个网络)设置的各种其他学习控制。
[2] 如果梯度为零,则无法对参数进行智能调整,因为调整的方向未知,其幅度必须为零。学习停止。
[3] 如果在 CPU 将极小值舍入到最接近的数字表示时可能出现的混沌噪声支配了旨在传播回各层的校正信号,那么校正就变得毫无意义并且学习停止。
[4] 收敛速度是对学习结果(系统行为)接近被认为足够好的速度(相对于微秒或相对于算法的迭代指数)的度量。这通常与收敛(学习)的一些正式接受标准有一定的接近性。
[5] 具有曲率的函数是不被可视化为直线或平坦的函数。抛物线具有曲率。直线没有。鸡蛋的表面有曲率。完美的平面则不然。在数学上,如果函数的 Hessian 矩阵的任何元素不为零,则该函数具有曲率。