神经网络中的激活函数

39次阅读

共计 1665 个字符,预计需要花费 5 分钟才能阅读完成。

作者 |Renu Khandelwal
编译 |VK
来源 |Medium

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

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

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

为什么在神经网络中需要一个激活函数?

在神经网络中,z 是输入节点与节点权值加上偏差的乘积。z 的方程与线性方程非常相似,取值范围从 +∞到 -∞

如果神经元的值可以从负无穷到正无穷变化,那么我们就无法决定是否需要激活神经元。这就是激活函数帮助我们解决问题的地方。

如果 z 是线性的,那么我们就不能解决复杂的问题。这是我们使用激活函数的另一个原因。

有以下不同类型的激活函数

  • 阀值函数或阶梯激活函数
  • Sigmoid
  • Softmax
  • Tanh 或双曲正切
  • ReLU
  • Leaky ReLU

为什么我们需要这么多不同的激活函数,我怎么决定用哪一个呢?

让我们回顾一下每一个激活函数,并了解它们的最佳使用位置和原因。这将帮助我们决定在不同的场景中使用哪个激活函数。

阀值函数或阶梯激活函数

这是最简单的函数

如果 z 值高于阈值,则激活设置为 1 或 yes,神经元将被激活。

如果 z 值低于阈值,则激活设置为 0 或 no,神经元不会被激活。

它们对 二分类 很有用。】

Sigmoid 激活函数

Sigmoid 函数是一种光滑的非线性函数,无扭结,形状类似于 S 形。

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

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

但是如果我们想分类更多的是或不是呢? 如果我想预测多个类,比如预测晴天、雨天或阴天,该怎么办?

Softmax 激活有助于多类分类

Softmax 激活函数

Sigmoid 激活函数用于两类或二类分类,而 softmax 用于多类分类,是对 Sigmoid 函数的一种推广。

在 softmax 中,我们得到了每个类的概率,它们的和应该等于 1。当一个类的概率增大时,其他类的概率减小,因此概率最大的类是输出类。

例如: 在预测天气时,我们可以得到输出概率,晴天为 0.68,阴天为 0.22,雨天为 0.20。在这种情况下,我们以最大概率的输出作为最终的输出。在这种情况下我们预测明天将是晴天。

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

双曲正切或 Tanh 激活函数

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

看起来很像 Sigmoid。实际上双曲 tanh 是缩放的 s 形函数。与 Sigmoid 相比,tanh 的梯度下降作用更强,因此比 Sigmoid 更受欢迎。

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

ReLU

ReLU 本质上是非线性的,这意味着它的斜率不是常数。Relu 在 0 附近是非线性的,但斜率不是 0 就是 1,因此具有有限的非线性。

范围是从 0 到∞

当 z 为正时,ReLU 的输出与输入相同。当 z 为 0 或小于 0 时,输出为 0。因此,当输入为 0 或低于 0 时,ReLU 会关闭神经元。

所有的深度学习模型都使用 Relu,但由于 Relu 的稀疏性,只能用于隐含层。稀疏性指的是空值或“NA”值的数量。

当隐层暴露于一定范围的输入值时,RELU 函数将导致更多的零,从而导致更少的神经元被激活,这将意味着更少的神经网络交互作用。

ReLU 比 sigmoid 或 tanh 更积极地打开或关闭神经元

Relu 的挑战在于,负值变为零降低了模型正确训练数据的能力。为了解决这个问题,我们有 Leaky ReLU

Leaky ReLU

a 的值通常是 0.01

在 Leaky ReLU 中,我们引入了一个小的负斜率,所以它的斜率不是 0。这有助于加快训练。

Leaky ReLU 的范围从 -∞到 +∞

原文链接:https://medium.com/@arshren/n…

欢迎关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官方文档:
http://sklearn123.com/

欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/

正文完
 0