【AI理论】激活函数解析:Sigmoid, tanh, Softmax, ReLU, Leaky ReLU

举报
HWCloudAI 发表于 2019/08/13 11:26:43 2019/08/13
【摘要】 激活函数是神经网络中必不可少的组成部分,这篇文章给大家介绍了各种各样的激活函数,一起来看看吧。

导读

激活函数是神经网络中必不可少的组成部分,这篇文章给大家介绍了各种各样的激活函数,一起来看看吧。


267767cd2d6e4374adb520d3c7992f6b.gif


什么是激活函数?

就是在神经网络的输出后面加的一个东西(节点)。也就是转换函数,也可以加在两层神经网络之间。

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

用来决定神经网络的输出,就像是和否一样,将结果映射到0到1或者-1到1之间(根据不同的函数)。

激活函数基本上分为两种类型:

  1. 线性激活函数

  2. 非线性激活函数

供参考: 下面有速查表

线性或者说恒等激活函数

你可以看到函数是一条直线,或者说线性的。也就是说,函数的输出不会限制在任何的范围以内。

image.png

线性激活函数

方程: f(x) = x

范围:(负无穷到正无穷)

它对神经网络的复杂性和常用数据的多种多样的参数没什么帮助。

非线性激活函数

非线性激活函数是最常用的激活函数,非线性的图看起来像下面这样:

image.png

非线性激活函数

它让模型更加容易泛化和适应不同的数据,区别不同的输出。

对于非线性函数,需要理解的主要的术语:

导数或者微分:在x轴上的变化导致在y轴上的变化,也就是常说的斜率。单调函数:函数要么是一直变大的,要么是一直变小的。

非线性激活函数的类型主要根据它们的范围或者曲线的类型来划分:

1. Sigmoid或者Logistic激活函数

Sigmoid函数曲线就像个S型。

image.png

Sigmoid函数

我们使用sigmoid函数主要是因为它的输出的范围是0到1。所以,它常常用在那些需要预测概率的模型上面,因为概率的范围就是0到1,sigmoid正好符合。

这个函数可微的,意思是,sigmoid曲线上的任意两点都可以找到一个斜率。

这个函数是单调的,不过函数的导数不是单调的。

sigmoid函数可能会造成神经网络训练的时候卡住。

softmax函数是更加一般性的logistic激活函数,用在多类分类上。

2. Tanh激活函数

tanh和logistic sigmoid差不多,但是更好一点。tanh的函数取值范围是-1到1,tanh也是S型的。

image.png

tanh vs Logistic Sigmoid

优点是,负的输入会映射成负值,0输入会被映射成0附近的值。

这个函数可微的。

这个函数是单调的,不过函数的导数不是单调的。

tanh函数主要用在区分两个类别的时候。

tanh和logistic sigmoid激活函数都是用在前向网络中。

3. ReLU 激活函数

ReLU是目前世界上用的最多的激活函数,几乎所有的深度学习和卷积神经网络中都在使用它。

image.png

ReLU vs Logistic Sigmoid

你可以看到,ReLU是半整流的,当z小于0时,f(z)是0,当z大于等于0时,f(z)等于z。

取值范围: [ 0,无穷)

这个函数和它的导数都是单调的。

但问题是,所有的负值都会变为零,这降低了模型拟合数据的能力。这意味着任何给ReLU激活函数的负值的输入都会在图中立即转换为零,这样没有合理的映射负值反过来又会影响结果图。

4. Leaky ReLU

它尝试解决ReLU的负值映射为0的问题。

image.png


你看到Leak了吗?

leak有助于增加ReLU函数的取值范围,a的值是0.01或者类似的比较小的值。

当a不是0.01时,叫做Randomized ReLU。

所以,Leaky ReLU的取值范围是(负无穷到正无穷)。

Leaky 和 Randomized ReLU函数及其导数都是单调的。

为什么需要用到导数/微分?

当对曲线进行更新时,需要知道更新的方向和大小,这个需要依赖斜率。这就是为什么在几乎所有的机器学习和深度学习中我们都需要使用微分。

image.png

激活函数速查表

image.png

激活函数的导数

原文链接:https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6

转自:AI公园

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。