Answers:
在数学中,只要函数如果域A中的每个x和y具有以下属性,则该函数被视为线性: f (x )+ f (y )= f (x + y )。根据定义,RELU是米一个X (0 ,X )。因此,如果我们从分割域(- ∞ ,0 ]或[则该函数为线性。但是,很容易看到 f (− 1 )+ f (1 )≠ f (0 )。因此,根据定义,ReLU不是线性的。
然而,ReLU非常接近线性,以至于经常使人们感到困惑,并且想知道如何将其用作通用逼近器。以我的经验,思考它们的最佳方法就像Riemann sums。您可以使用许多小矩形近似任何连续函数。ReLU激活可以产生很多小矩形。实际上,在实践中,ReLU可以制作相当复杂的形状并近似许多复杂的域。
我也想澄清另一点。如先前的答案所指出,神经元不会死于乙状结肠,而会消失。这样做的原因是因为S型函数的导数最大为0.25。因此,经过如此多的层后,您最终将这些梯度相乘,并且小于1的非常小的数字的乘积往往会很快变为零。
因此,如果您要构建一个具有多个层次的深度学习网络,那么您的S形函数将基本上停滞不前,或多或少变得无用。
关键要解决的是消失是由于梯度的倍增而不是梯度本身的倍增。
我了解ReLU的优势,它可以避免反向传播过程中死亡的神经元。
这不是完全正确的。神经元尚未死亡。如果使用类似S形的激活,则在进行某些迭代后,大多数神经元的梯度值会饱和。梯度的值将很小,并且学习过程进行得如此缓慢。这是类似于S形激活函数的梯度的消失和爆炸。相反,如果使用ReLU
非线性度,则可能会发生死亡的神经元,这称为垂死的ReLU。
我无法理解如果ReLU的输出是线性的,为什么将ReLU用作激活函数
绝对不是线性的。简而言之,线性函数是在其域中对输入具有相同导数的函数。
线性函数在经济学中很流行。它很有吸引力,因为它在数学上简单易行。它具有许多重要的应用程序。线性函数是图形为直线的函数。线性函数具有以下形式:
y = f(x)= a + bx
线性函数具有一个自变量和一个因变量。自变量是x,因变量是y。a是常数项或y截距。当x = 0时,它是因变量的值。
b是自变量的系数。也称为斜率,它给出因变量的变化率。
ReLU
不是线性的。简单的答案是ReLU
输出不是直线,而是在x轴上弯曲。更有趣的一点是这种非线性的结果是什么。简而言之,线性函数使您可以使用直线解剖特征平面。但是,由于ReLU
s 的非线性,您可以在特征平面上构建任意形状的曲线。
ReLU
可能有一个缺点,那就是它的期望值。对的输出没有限制Relu
,其期望值不为零。Tanh
之所以流行,sigmoid
是因为其期望值等于零,并且在更深层次的学习速度更快。尽管ReLU
没有这个优势batch normalization
解决了这个问题。