计算机系统应用教程网站

网站首页 > 技术文章 正文

什么是神经网络的激活函数? 神经网络 激活层

btikc 2024-10-23 09:21:10 技术文章 14 ℃ 0 评论

先决条件:建议具备一些机器学习算法的知识和对人工神经网络的基本了解。

什么是神经网络的激活函数?

激活函数有助于决定我们是否需要激活神经元。如果我们需要激发一个神经元,那么信号的强度是多少。

激活函数是神经元通过神经网络处理和传递信息的机制。

为什么我们需要神经网络中的激活函数?

在神经网络中,z 是输入节点和节点权重加上偏差的乘积。 z 的方程看起来与线性方程非常相似,并且可以具有范围从 +infinity 到 -infinity 的值

如果神经元值的范围可以从 -infinity 到 + infinity,那么我们将无法决定是否需要触发神经元。

这就是激活帮助我们解决问题的地方。

如果 z 本质上是线性的,那么我们将无法解决复杂的问题。这是我们使用激活函数的另一个原因。

激活函数的种类

有不同类型的激活函数,其中一些非常常见和流行的是:

  • Threshold or Binary step activation function
  • Sigmoid
  • Softmax
  • Tanh or Hyperbolic tangent
  • ReLU and
  • Leaky ReLU

为什么我们需要这么多不同的激活函数,我如何决定使用哪一个?
让我们回顾一下每个激活函数,并了解它们最适合使用的地方以及原因。这将帮助我们决定在不同场景中使用哪种激活函数。

阈值或阶跃函数(Threshold or Binary Step function)

这是最简单的函数,可以认为是 是或否函数

如果 z 的值高于阈值,则激活设置为 1 或是,神经元将被激发。
如果 z 的值低于阈值,则激活设置为 0 或否,并且不会触发神经元。
它们对于二元分类很有用。

Sigmoid 激活函数

Sigmoid 函数是一个平滑的非线性函数,没有扭结,看起来像 S 形。

它可以预测输出的概率,因此用于神经网络的输出层和逻辑回归。

由于概率在 0 到 1 之间,所以 sigmoid 函数值存在于 0 到 1 之间。

但是,如果我们想要分类的不仅仅是是或否怎么办?如果我想预测多个类,比如预测晴天、雨天或多云的天气怎么办?

Softmax 激活有助于多类分类

Softmax 激活函数

Sigmoid 激活函数用于两类或二元类分类,而 Softmax 用于多类分类,是 Sigmoid 函数的推广。

在 Softmax 中,我们得到每个类的概率总和应该等于1。当一个类的概率增加时,其他类的概率会减小,因此概率最高的类是输出类。

示例:在预测天气时,我们可能会得到晴天的输出概率为 0.68,阴天的输出概率为 0.22,雨天的输出概率为 0.20。在这种情况下,我们将具有最大概率的输出作为最终输出。在这种情况下,我们将预测天气晴朗。

Softmax 计算每个目标类的概率超过所有可能的目标类的概率。

双曲正切激活函数(Hyperbolic Tangent or Tanh Activation Function)

对于双曲 tanh 函数,输出以 0 为中心,输出范围在 -1 和 +1 之间。

看起来与 sigmoid 非常相似。

实际上双曲 tanh 是缩放的 sigmoid 函数。与 sigmoid 相比,tanh 的梯度下降更强,因此优于 sigmoid

tanh 的优点是负输入将被映射为强负,零输入将映射到接近零,这在 sigmoid 中不会发生,因为 sigmoid 的范围在 0 和 1 之间

整流线性单元-ReLU (Rectifier Linear Unit-ReLU

  • ReLU本质上是非线性的,这意味着它的斜率不是恒定的。 Relu 在零附近是非线性的,但斜率为 0 或 1,因此具有有限的非线性。
  • 范围是从 0 到无穷大
  • 当 z 为正时,ReLU 给出与输入相同的输出。
  • 当 z 为零或小于零时,它的输出为 0。因此,当输入为零或小于零时,ReLU 会关闭神经元。
  • 所有深度学习模型都使用 Relu,但它只能用于隐藏层,因为它会导致稀疏性。稀疏性是指空值或“NA”值的数量。
  • 当隐藏层暴露于一系列输入值时,整流函数将导致更多的零,从而导致更少的神经元被激活,这意味着神经网络之间的交互更少。
  • ReLU 比 sigmoid 或 tanh 更积极地打开或关闭神经元
  • Relu 面临的挑战是负值变为零会降低模型正确训练数据的能力。为了解决这个问题,我们有 Leaky ReLU

Leaky ReLU

Leaky ReLU. Value of a is usually 0.01

在leaky ReLU 中,我们引入了一个小的负斜率,因此它没有零斜率。这有助于加快训练。
Leaky ReLU 的范围从 -infinity 到 +infinity

这将很好地理解不同的激活函数。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表