饱和非线性一词是什么意思?

机器算法验证 机器学习 神经网络 术语 卷积神经网络
2022-01-21 12:09:43

我正在阅读论文ImageNet Classification with Deep Convolutional Neural Networks,在第 3 节中,他们解释了他们的卷积神经网络的架构,他们解释了他们喜欢使用的方式:

非饱和非线性f(x)=max(0,x).

因为训练更快。在那篇论文中,他们似乎将饱和非线性称为 CNN 中使用的更传统的函数,即 sigmoid 和双曲正切函数(即作为饱和)。f(x)=tanh(x)f(x)=11+ex=(1+ex)1

为什么他们将这些功能称为“饱和”或“非饱和”?这些功能在什么意义上是“饱和的”或“非饱和的”?这些术语在卷积神经网络的背景下是什么意思?它们是否用于机器学习(和统计)的其他领域?

3个回答

直觉

饱和激活函数会压缩输入。


定义

  • f是非饱和 iff(|limzf(z)|=+)(|limz+f(z)|=+)
  • f是饱和的,当且仅当不是非饱和的。f

这些定义并不特定于卷积神经网络。


例子

整流线性单元 (ReLU) 激活函数,定义为是非饱和的,因为f(x)=max(0,x)limz+f(z)=+

在此处输入图像描述

定义为的 sigmoid 激活函数是饱和的,因为它将实数压缩到之间的范围内:f(x)=11+ex[0,1]

在此处输入图像描述

tanh(双曲正切)激活函数正在饱和,因为它将实数压缩到之间的范围内:[1,1]

在此处输入图像描述

(数字来自CS231n , MIT License)

最常见的激活函数是 LOG 和 TanH。这些函数具有紧凑的范围,这意味着它们将神经响应压缩为实数的有界子集。LOG 将输入压缩到介于 0 和 1 之间的输出,将 TAN H 压缩在 -1 和 1 之间。这些函数显示边界处的限制行为。

在边界处,输出相对于输入 ∂yj/∂xj 的梯度非常小。所以梯度很小,因此收敛的步长很小,因此收敛的时间更长。

在神经网络上下文中,饱和现象是指神经元主要输出接近有界激活函数的渐近端的值的状态。

因此,饱和度是指在给定的训练周期/给定的输入范围后神经网络中神经元的行为,并且只有具有有界限制的神经元才容易受到饱和的影响(并且通过扩展,这些函数有时被称为“饱和”,即使在特定情况下它们还没有“饱和”)。

饱和函数包括:

类型 例子
当 x 接近无穷大和负无穷大时受限 乙状结肠,tanh
仅限于一个方向 max(x,c)

非饱和函数包括:

类型 例子
无界函数 身份, ,sinhabs
周期函数 罪,因

因此,在您的示例中,“非饱和非线性”是指“当 x 接近无穷大时没有限制的非线性函数”。