简单来说,人工神经元计算其输入的“加权和”并添加偏差,如下图所示的净输入。
从数学上来说,
现在净输入的值可以是从 -inf 到 +inf 之间的任何值。神经元并不真正知道如何绑定到值,因此无法决定激发模式。因此激活函数是人工神经网络的重要组成部分。他们基本上决定神经元是否应该被激活。因此它限制了净输入的值。
激活函数是一种非线性变换,我们在将输入发送到下一层神经元或将其最终确定为输出之前对输入进行非线性变换。
激活函数的类型——
深度学习中使用了几种不同类型的激活函数。其中一些解释如下:
- 阶跃函数:
阶跃函数是最简单的激活函数之一。在此,我们考虑一个阈值,如果净输入值y大于阈值,则神经元被激活。从数学上来说,
下面给出了阶跃函数的图形表示。
- Sigmoid函数:
Sigmoid函数是一种广泛使用的激活函数。它定义为:从图形上看,
这是一个平滑函数并且连续可微。与阶跃函数和线性函数相比,它的最大优点是它是非线性的。这是 sigmoid 函数的一个非常酷的功能。这本质上意味着,当我有多个神经元以 sigmoid 函数作为激活函数时,输出也是非线性的。函数范围为0-1,呈S形。
- ReLU:
ReLU函数是整流线性单元。它是使用最广泛的激活函数。它定义为:从图形上看,
与其他激活函数相比,使用 ReLU 函数的主要优点是它不会同时激活所有神经元。这是什么意思 ?如果你看一下 ReLU 函数,如果输入为负,它会将其转换为零,并且神经元不会被激活。
- Leaky ReLU:
Leaky ReLU 函数只不过是 ReLU 函数的改进版本。我们不是将 Relu 函数定义为 x 小于 0 时为 0,而是将其定义为 x 的一个小的线性分量。它可以定义为:从图形上看,