开学季,你要的激活函数都在这里

作者: 阿里云云栖号 | 来源:发表于2018-09-12 11:10 被阅读65次

摘要: 激活函数就是神经网络输出端的一个节点,来连接两个神经网络。激活函数都有哪些类型?让我们继续阅读。


什么是激活函数?

激活函数就是神经网络输出端的一个节点,来连接两个神经网络。

为什么要在神经网络中使用激活函数

激活函数用来确定神经网络的输入,比如“是”或“否”,将结果映射为[0,1]或[-1,1]之间,根据函数的曲线,可分为两种类型:线性激活函数、非线性激活函数。

1.线性激活函数(恒等激活函数)

如下图所示,函数是线性的,函数的输出范围为(-∞,+∞)。

线性激活函数

方程式:f(x) = x

取值范围:(-∞,+∞)

2.非线性激活函数

非线性激活函数是最常用的激活函数,其曲线如下图所示:

非线性激活函数

使用非线性激活函数,模型可以更容易进行自我调整,并区分不同的输出。非线性激活函数中的主要术语有:

1.导数或微分:y轴随x轴的变化,称为斜率。

2.单调函数:完全递增或完全递减的函数。

根据取值范围,非线性激活函数可分为以下几种:Sigmoid激活函数、Tanh激活函数、ReLU激活函数、

1.Sigmoid激活函数(Logistic激活函数)

Sigmoid激活函数的曲线呈“S”形。

Sigmoid激活函数

sigmoid函数很受大众的欢迎,其主要原因是:它的输出处于[0,1]范围内,特别适用于输出概率的模型。由于任何概率的取值在0和1范围之间,因此,sigmoid激活函数是最好的选择。

该函数是可微的,也就是说,我们可以得到“S”曲线上任意两点之间的斜率。这个函数是单调的,但是其导数不是,sigmoid 激活函数可能会导致神经网络在训练的时候卡住。

softmax函数是一种更通用的逻辑激活函数,用于多类分类。

2.Tanh激活函数

tanh激活函数和sigmoid激活函数类似,但是要比sigmoid激活函数好。tanh激活函数的取值范围是(-1,1),曲线也呈“S”形。

sigmoid激活函数和tanh激活函数

tanh激活函数的优点在于,如果输入为负数,则输出也为负数,输入为0,则输出也近似为0。

该函数是可微分、单调的,但其导数不单调。tanh激活函数主要用于分类。

tanh和sigmoid激活函数都可用于前馈网络。

3.ReLU激活函数(Rectified Linear Unit)

在神经网络中,使用最多的激活函数是ReLU激活函数,它几乎可用于所有卷积神经网络或深度学习中。

ReLU激活函数和Sigmoid激活函数

如上图所示,在ReLU激活函数中,当z<0时,f(z)=0;当z>0时,f(z)=z。取值范围为[0,+∞]

ReLU激活函数及其导数都是单调的。

但这存在一个问题:当输入为负值时,输出立刻变为0,这就降低了模型拟合或训练数据的能力。反过来说,为了不影响结果,就不能映射负值输入。

4. Leaky ReLU激活函数

Leaky ReLU激活函数的出现,试图解决ReLU激活函数中出现的死亡问题。

 ReLU激活函数和Leaky ReLU激活函数

Leaky ReLU激活函数扩大了ReLU激活函数的取值范围,如上图所示,通常,a的值为0.01左右。取值范围:(-∞,+∞)。

当a不是0.01时,该函数称为Randomized ReLU。

本质上来说,Leaky  ReLU函数和Randomized ReLU函数都是单调的。 而且,它们的导数也单调。

为什么要使用导数和微分?

在更新曲线时,我们要知道哪个方向上会发生变化,或者是根据斜率来更新曲线。这就是我们要在机器学习和深度学习的每个部分都使用微分的原因。

激活函数汇总 激活函数的导数曲线图汇总

本文作者:【方向】

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

相关文章

  • 开学季,你要的激活函数都在这里

    摘要:激活函数就是神经网络输出端的一个节点,来连接两个神经网络。激活函数都有哪些类型?让我们继续阅读。 什么是激活...

  • 理解激活函数

    一、何为激活函数? 深度学习中,激活函数通常指能够实现非线性映射的函数 二、为什么需要非线性激活函数? 定义:这里...

  • Chapter 1.4 激活函数

    下面介绍常见的激活函数 激活函数都在tf.nn中 最常见的是relu函数,它将所有小于0的值置为0 可以看到rel...

  • 7 激活函数 -庖丁解牛之pytorch

    pytorch中实现了大部分激活函数,你也可以自定义激活函数,激活函数的实现在torch.nn.functiona...

  • 选用Relu 替代tanh 与sigmoid 的原因

    为什么要引入激活函数? 如果不用激活函数(其实相当于激励函数是f(x)=x),在这种情况下你每一层输出都是上层输入...

  • 激活函数softmax-P2分类任务

    激活函数种类激活函数作用 激活函数 深度学习常用激活函数之— Sigmoid & ReLU & Softmax 深...

  • 深度学习过程反向传播有关sigmoid的求导

    在深度学习的反向传播过程中,我们需要对激活函数进行求偏导,这里写一点如果激活函数是sigmoid函数时的推导过程。...

  • 6.神经网络训练细节part1

    一、激活函数 前边我们学到,一个节点的输出会进入激活函数进行处理 常见的激活函数有以下 sigmoid激活函数 s...

  • 学习笔记 — 神经网络和深度学习(ng)_第三周

    更好的阅读体验,请点击这里 内容概要: 四种常用的激活函数、导数,以及为什么需要非线性激活函数 神经元模型 参数随...

  • 机器学习之神经网络

    什么是神经网络 就是使用了平滑的激活函数的多层感知机 激活函数 什么是激活函数呢? 激活函数就是从输入值到对应输出...

网友评论

  • Hanfank:阿里出品,必须精品
  • Hanfank:阿里出品,必须精品

本文标题:开学季,你要的激活函数都在这里

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