为什么我们在神经网络中使用 ReLU 以及如何使用它?

机器算法验证 神经网络
2022-01-20 09:25:34

为什么我们在神经网络中使用整流线性单元 (ReLU)?这如何改善神经网络?

为什么我们说 ReLU 是一个激活函数?神经网络不是softmax激活函数吗?我猜我们同时使用 ReLU 和 softmax,如下所示:

具有 softmax 输出的神经元 1 ----> ReLU 在神经元 1 的输出上,它是
神经元 2 的输入 ---> 具有 softmax 输出的神经元 2 --> ...

所以神经元2的输入基本上是ReLU(softmax(x1))。它是否正确?

4个回答

ReLU 函数是通常这是按元素应用到其他一些函数的输出,例如矩阵向量乘积。在 MLP 使用中,整流器单元取代了除读出层之外的所有其他激活函数。但我想如果你愿意的话,你可以混合搭配它们。f(x)=max(0,x).

ReLU 改进神经网络的一种方法是加快训练速度。梯度计算非常简单(0 或 1 取决于x的符号)。此外,ReLU 的计算步骤很简单:任何负元素都设置为 0.0——没有指数,没有乘法或除法运算。

逻辑和双曲正切网络的梯度小于 ReLU 的正部分。这意味着随着训练的进行,积极的部分会更新得更快。然而,这是有代价的。左侧的 0 梯度有其自身的问题,称为“死神经元”,其中梯度更新将输入值设置为 ReLU,使得输出始终为零;修改后的 ReLU 单元,例如 ELU(或 Leaky ReLU,或 PReLU 等)可以改善这一点。

ddxReLU(x)=1x>0相比之下,sigmoid 单元的梯度最多0.25另一方面,由于0.25 < \frac{d}{dx}\tanh(x) \le 1 \forall x \in [-1.31, 1.31](大约)tanh对于接近 0 的区域的输入表现更好0.25<ddxtanh(x)1x[1.31,1.31]

需要指出的重要一点是 ReLU 是幂等的。鉴于 ReLU 是,很容易看出对于任何有限组合都是正确的. 这个属性对于深度神经网络非常重要,因为网络中的每一层都应用了非线性。现在,让我们将两个 sigmoid 系列函数重复应用于同一输入 1-3 次:ρ(x)=max(0,x)ρρρρ=ρ

在此处输入图像描述

您可以立即看到 sigmoid 函数“挤压”它们的输入,从而导致梯度消失问题:导数接近零,而(重复应用的数量)接近无穷大。n

为什么我们使用 ReLU?我们使用 ReLU 的原因与我们使用任何其他非线性激活函数的原因相同:实现数据的非线性变换。

为什么我们需要非线性变换?我们应用非线性变换,希望变换后的数据将(接近)线性(用于回归)或(接近)线性可分(用于分类)。通过非线性变换的数据绘制线性函数,相当于通过原始数据绘制非线性函数。

为什么 ReLU 比其他激活函数更好?它们简单、计算速度快,并且不会受到梯度消失的影响,例如 sigmoid 函数(logistic、tanh、erf 等)。实现的简单性使它们适合在 GPU 上使用,由于针对矩阵运算进行了优化(这也是 3D 图形所需要的),因此现在非常普遍。

激活函数

为什么我们需要在神经网络中进行矩阵运算?:这是一种在层之间传播信号的紧凑且计算效率高的方法(将前一层的输出与权重矩阵相乘)。

神经网络不是softmax激活函数吗?Softmax 并不是真正的单个神经元的激活函数,而是一种对多个神经元的输出进行归一化的方法。它通常用于输出层,以强制输出的总和为 1,以便可以将它们解释为概率。可以在隐藏层中使用它,以强制输出在有限范围内,但其他方法,如批量标准化,更适合此目的。

PS (1) ReLU 代表“ rectified linear unit ”,所以严格来说,它是一个具有(半波)rectified-linear激活函数的神经元。但人们在谈论 ReLU 时通常指的是激活函数。

PS (2)将 softmax 的输出传递给 ReLU 没有任何效果,因为 softmax 只产生非负值,在范围内,其中 ReLU 充当恒等函数,即不会改变它们。[0,1]

ReLU 是一个文字开关。使用电气开关,1 伏输入输出 1 伏,n 伏输入在打开时输出 n 伏。当您决定在零处切换时开/关给出与 ReLU 完全相同的图形。多个加权和的加权和(点积)仍然是一个线性系统。对于特定输入,ReLU 开关单独打开或关闭。这导致从输入到输出的特定线性投影,因为...的加权和的各种加权和通过开关连接在一起。对于特定的输入和特定的输出神经元,有一个加权和的复合系统,实际上可以总结为一个有效的加权和。由于 ReLU 将状态切换为零,因此输出中不会出现突然的不连续性,从而导致输入的逐渐变化。

还有其他数值有效的加权和(点积)算法,例如 FFT 和 Walsh Hadamard 变换。没有理由不能将它们合并到基于 ReLU 的神经网络中并从计算收益中受益。(例如,固定滤波器组神经网络。)