ReLU与Leaky ReLU和Parametric ReLU(如果有)相比有什么优势?


10

我认为使用Leaky ReLU而不是ReLU的优势在于,这样我们就不会消失梯度。参数化ReLU具有相同的优势,唯一的区别在于,负输入的输出斜率是可学习的参数,而在Leaky ReLU中则是超参数。

但是,我无法确定是否存在使用ReLU代替Leaky ReLU或Parametric ReLU更方便的情况。

Answers:


7

将ReLU,超参数化的1泄漏变体以及在学习过程中具有动态参数化的变体相结合,会混淆两件事:

  • ReLU与漏泄变型之间的比较与在特定的ML情况下是否需要避免饱和密切相关-饱和是信号丢失至零梯度2或数字产生的混沌噪声的优势舍入3
  • 训练动态激活(在文献中称为参数激活)和静态训练激活之间的比较必须基于激活的非线性或非平稳特性是否具有与收敛速度有关的任何值4

ReLU从来都不是参数化的原因是,使其变得多余将是多余的。在负域中,它是常数零。在非负域中,其导数是常数。由于激活输入向量已经被向量矩阵乘积所衰减(矩阵,立方体或超立方体中包含衰减参数),因此添加参数以改变非负域的常数导数没有任何有用的目的。 。

当激活中存在曲率时,不再将所有激活系数作为参数冗余。它们的值可能会极大地改变训练过程,从而改变收敛的速度和可靠性。

对于深度较深的网络,冗余会重新出现,并且在文献中的理论和实践中都有证据表明这一点。

  • 用代数术语来说,随着深度(以层数为单位)接近无穷大,ReLU和从其衍生的参数动态激活之间的差异接近零。
  • 用描述性术语来说,如果给定足够的层数,ReLU可以精确地近似曲率5的函数。

因此,对于较浅的网络,不使用有利于避免上述针对较浅网络的饱和问题的ELU品种。

因此,必须决定两件事。

  • 参数激活是否有用通常取决于对统计种群中几个样本的实验。但是,如果层深度很高,则完全不需要进行实验。
  • 泄漏变量是否有价值,与反向传播期间遇到的数值范围有很大关系。如果在训练过程中的任何时候在反向传播过程中梯度逐渐消失,则激活曲线的恒定部分可能会出现问题。在这种情况下,平滑函数或具有两个非零斜率的泄漏RelU之一可能会提供适当的解决方案。

综上所述,选择绝不是方便的选择。


脚注

[1]超参数是影响通过该层的信令的参数,这些参数不属于该层的输入衰减。衰减权重是参数。其他任何参数化都在超参数集中。这可能包括学习率,反向传播中高频的衰减以及为整个层(如果不是整个网络)设置的各种各样的其他学习控制。

[2]如果梯度为零,则参数将无法进行任何智能调整,因为调整的方向未知,其大小必须为零。学习停止。

[3]如果由于CPU将极小的值舍入到最接近的数字表示而产生的混沌噪声在旨在传播回各层的校正信号中占主导地位,则校正变得毫无意义,并且学习将停止。

[4]收敛速度是一种速度的度量(相对于微秒或相对于算法的迭代索引),在该速度中学习结果(系统行为)接近被认为足够好的速度。通常,这与某些正式的接受标准(学习)在某种程度上接近。

[5]具有曲率的函数是无法直观显示为笔直或平坦的函数。抛物线具有曲率。一条直线不行。鸡蛋的表面有弯曲。完美的平面并非如此。在数学上,如果函数的Hessian的任何元素都不为零,则函数具有曲率。


您的意思是什么?选择永远不会带来便利
gvgramazio

@gvgramazio,您在问题中写道:“使用ReLU更方便”。我当时指出,便利不是做出选择的基础。也许它太苛刻了?我没打算那样 我的答案中该句子上方的句子旨在提供更有用的标准,您可以在选择激活函数时做出决定。
FauChristian

不用担心太苛刻,对我来说根本不是问题。我认为这更多是语言问题(我不是英语为母语的人)。
gvgramazio

事实是,据我所知,您可以很好地解释,在这种情况下,相对于其他变体,我应该更喜欢一个变体。我仍然不知道是什么时候应该选择经典的。例如,泄漏变体可以为消失的梯度提供适当的解决方案,但如果没有任何缺点,我总是可以选择相对于ReLU的泄漏变体。
gvgramazio

@FauChristian能否请您添加更多口语术语和直觉,我对数学语言不是很熟悉:)
DuttaA
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.