神经网络中的激活函数解析:Sigmoid, tanh, Softmax, ReLU, Leaky ReLU

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”


作者:SAGAR SHARMA

编译:ronghuaiyang

前戏

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


640?wx_fmt=gif

什么是激活函数?

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

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

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

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

  1. 线性激活函数

  2. 非线性激活函数

供参考: 下面有速查表

线性或者说恒等激活函数

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

640?wx_fmt=png

线性激活函数

方程: f(x) = x

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

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

非线性激活函数

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

640?wx_fmt=png

非线性激活函数

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

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

导数或者微分:在x轴上的变化导致在y轴上的变化,也就是常说的斜率。

单调函数:函数要么是一直变大的,要么是一直变小的。

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

1. Sigmoid或者Logistic激活函数

Sigmoid函数曲线就像个S型。

640?wx_fmt=png

Sigmoid函数

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

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

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

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

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

2. Tanh激活函数

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

640?wx_fmt=png

tanh vs Logistic Sigmoid

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

这个函数可微的。

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

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

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

3. ReLU 激活函数

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

640?wx_fmt=png

ReLU vs Logistic Sigmoid

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

取值范围: [ 0,无穷)

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

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

4. Leaky ReLU

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

640?wx_fmt=jpeg

ReLU vs Leaky ReLU

你看到Leak了吗??

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

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

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

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

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

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

640?wx_fmt=png

激活函数速查表

640?wx_fmt=png

激活函数的导数


640?wx_fmt=pngEND

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


640?wx_fmt=gif

人人都能看得懂的深度学习介绍!全篇没有一个数学符号!

深度学习物体检测论文阅读路线图以及官方实现

新手必看的Top10个机器学习算法(这些都学会了你就是老手了

更多历史文章请关注公众号,点击“历史文章”获取


640?wx_fmt=jpeg

请长按或扫描二维码关注本公众号

来,给我好看吧640?wx_fmt=gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值