神经网络中的激活函数

做者|Renu Khandelwal
编译|VK
来源|Medium网络

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

激活函数有助于决定咱们是否须要激活神经元。若是咱们须要发射一个神经元那么信号的强度是多少。机器学习

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

为何在神经网络中须要一个激活函数?

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

若是神经元的值能够从负无穷到正无穷变化,那么咱们就没法决定是否须要激活神经元。这就是激活函数帮助咱们解决问题的地方。.net

若是z是线性的,那么咱们就不能解决复杂的问题。这是咱们使用激活函数的另外一个缘由。3d

有如下不一样类型的激活函数blog

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

为何咱们须要这么多不一样的激活函数,我怎么决定用哪个呢?资源

让咱们回顾一下每个激活函数,并了解它们的最佳使用位置和缘由。这将帮助咱们决定在不一样的场景中使用哪一个激活函数。文档

阀值函数或阶梯激活函数

这是最简单的函数get

若是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/neural-networks-activation-functions-e371202b56ff

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

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

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

相关文章
相关标签/搜索