美文网首页
神经网络-常用激活函数

神经网络-常用激活函数

作者: 想跳舞的兔子 | 来源:发表于2018-07-02 17:23 被阅读0次

常用的激活函数有三种:

1.Sigmoid or Logistic

2.Tanh-双曲正切

3.ReLu-线性整流函数


Sigmoid 激活函数: f(x) = 1 / 1 + exp(-x)

该函数的取值范围为0到1。这是一个S型曲线,容易理解和使用,但是有缺陷:1)消失的梯度问题, 2)输出不是以0为中心的,它会让梯度更新在不同的方向上走太远,输出范围在(0,1),这使优化更困难,3)Sigmoids易饱和杀死梯度,4)Sigmoid收敛速度慢。

sigmoid.png

双曲正切函数 tanh: f(x) = 1 -exp(-2x) / 1 + exp(-2x)

该函数的输出以0位中心,且范围为(-1,1),所以优化会更容易些,所以在实际中会用的比Sigmoid多,但是还是存在梯度消失的问题

线性整流函数ReLu:f(x)=max(0,x),if x<0.f(x)=0,if x>0,f(x)=x.

已被证明,在收敛速度上比tanh函数快6倍。它避免和矫正了梯度消失问题,基本所有的深度学习模型都用ReLu.

但ReLu的局限性在于只能被用于神经网络模型的隐藏层。所以对于输出来说,对于分类问题,我们会使用Softmax函数来计算类别概率,对于回归问题,我们会用linear函数来拟合。

ReLu的另一个问题就是一些梯度在训练的时候比较脆弱并且死亡。这会引起一个权重的更新,这会导致它在任何数据点上都不会被再激活。简言之,ReLu可能会导致死亡神经元。

为了修正神经元死亡这个问题,引入一个改进版本的ReLu:Leaky ReLu,它引入一个小区间,来保持更新的活力。

然后,我们还有另一种变体,由ReLu和Leaky ReLu组成,成为Maxout 函数

所以,在深度学习的神经网络中,我们通常使用ReLu作为隐藏层函数,如果你的模型会受困于神经元死亡问题,那么可以采用ReLu的变体形式:Leaky ReLu或者Maxout 函数

相关文章

  • 机器学习中常见函数

    1、激活函数 常用于神经网络,激活函数增加了神经网络模型的非线性特征 2、损失函数 机器学习过程中中,我们期望样本...

  • 神经网络中最常用的激活函数

    Sigmoid函数 函数曲线如下图所示: Sigmoid函数是传统神经网络中最常用的激活函数,一度被视为神经网络的...

  • 独家连载 | 常用激活函数讲解

    4.4 常用激活函数讲解 神经网络的激活函数其实有很多种,在前面的章节中我们介绍过两种激活函数,sign函数和pu...

  • AI常用激活函数分析4,Relu函数与Leaky Relu函数

    ReLu函数 修正线性单元(Rectified linear unit,ReLU)是神经网络中最常用的激活函数。它...

  • 激活函数

    神经网络中的常用激活函数及其导数 1、sigmoid:该函数将取值(-∞,+∞)的数映射到(0,+1)之间。 函数...

  • 16 keras激活函数

    激活函数也是神经网络中一个很重的部分。每一层的网络输出都要经过激活函数。比较常用的有linear,sigmoid,...

  • 3. 深度学习- 常用的激活函数

    在学习神经网络中,我们会常常碰到激活函数这个名词。那么什么是激活函数?激活函数激活的是什么?在神经网络中,有什么用...

  • Pytorch_第九篇_神经网络中常用的激活函数

    神经网络中常用的激活函数 Introduce 理论上神经网络能够拟合任意线性函数,其中主要的一个因素是使用了非线性...

  • 机器学习笔记(五)——激活函数

    激活函数区别和作用 本质:    激活函数是来向神经网络中引入非线性因素,通过激活函数,神经网络就可以拟合各种曲线...

  • Sigmoid 函数

    前言 Sigmoid 函数(Logistic 函数)是神经网络中非常常用的激活函数,我们今天来深入了解一下 Sig...

网友评论

      本文标题:神经网络-常用激活函数

      本文链接:https://www.haomeiwen.com/subject/pcbluftx.html