1. 什么是激活函数
  2. 为什么要用
  3. 都有什么
  4. sigmoid ,ReLU, softmax 的比较
  5. 如何选择

1. 什么是激活函数

如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function。


2. 为什么要用

如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。
如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。


3. 都有什么

(1) sigmoid函数

公式:

曲线:

也叫 Logistic 函数,用于隐层神经元输出
取值范围为(0,1)
它可以将一个实数映射到(0,1)的区间,可以用来做二分类。
在特征相差比较复杂或是相差不是特别大时效果比较好。

sigmoid缺点:
激活函数计算量大,反向传播求误差梯度时,求导涉及除法
反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练

下面解释为何会出现梯度消失:

反向传播算法中,要对激活函数求导,sigmoid 的导数表达式为:

sigmoid 原函数及导数图形如下:

由图可知,导数从 0 开始很快就又趋近于 0 了,易造成“梯度消失”现象

(2) Tanh函数

公式

曲线

也称为双切正切函数
取值范围为[-1,1]。
tanh在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。
与 sigmoid 的区别是,tanh 是 0 均值的,因此实际应用中 tanh 会比 sigmoid 更好

(3) ReLU

Rectified Linear Unit(ReLU) - 用于隐层神经元输出

公式

曲线

输入信号 <0 时,输出都是0,>0 的情况下,输出等于输入

ReLU 的优点:
Krizhevsky et al. 发现使用 ReLU 得到的 SGD 的收敛速度会比 sigmoid/tanh 快很多

ReLU 的缺点:
训练的时候很”脆弱”,很容易就”die”了
例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0.
如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都”dead”了。

(4) softmax函数

Softmax - 用于多分类神经网络输出

公式

举个例子来看公式的意思:

就是如果某一个 zj 大过其他 z, 那这个映射的分量就逼近于 1,其他就逼近于 0,主要应用就是多分类。

为什么要取指数,第一个原因是要模拟 max 的行为,所以要让大的更大。
第二个原因是需要一个可导的函数。


4. sigmoid ,ReLU, softmax 的比较

Sigmoid 和 ReLU 比较:

sigmoid 的梯度消失问题,ReLU 的导数就不存在这样的问题,它的导数表达式如下:

曲线如图

对比sigmoid类函数主要变化是:
1)单侧抑制
2)相对宽阔的兴奋边界
3)稀疏激活性。

Sigmoid 和 Softmax 区别:

softmax is a generalization of logistic function that “squashes”(maps) a K-dimensional vector z of arbitrary real values to a K-dimensional vector σ(z) of real values in the range (0, 1) that add up to 1.

sigmoid将一个real value映射到(0,1)的区间,用来做二分类。

而 softmax 把一个 k 维的real value向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….)其中 bi 是一个 0~1 的常数,输出神经元之和为 1.0,所以相当于概率值,然后可以根据 bi 的概率大小来进行多分类的任务。

二分类问题时 sigmoid 和 softmax 是一样的,求的都是 cross entropy loss,而 softmax 可以用于多分类问题

softmax是sigmoid的扩展,因为,当类别数 k=2 时,softmax 回归退化为 logistic 回归。具体地说,当 k=2 时,softmax 回归的假设函数为:

利用softmax回归参数冗余的特点,从两个参数向量中都减去向量θ1 ,得到:

最后,用 θ′ 来表示 θ2−θ1,上述公式可以表示为 softmax 回归器预测其中一个类别的概率为

另一个类别概率的为

这与 logistic回归是一致的。

softmax建模使用的分布是多项式分布,而logistic则基于伯努利分布
  
多个logistic回归通过叠加也同样可以实现多分类的效果,但是 softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类;多个logistic回归进行多分类,输出的类别并不是互斥的,即"苹果"这个词语既属于"水果"类也属于"3C"类别。


5. 如何选择

选择的时候,就是根据各个函数的优缺点来配置,例如:

如果使用 ReLU,要小心设置 learning rate,注意不要让网络出现很多 “dead” 神经元,如果不好解决,可以试试 Leaky ReLU、PReLU 或者 Maxout.

神经网络激活函数sigmoid relu tanh 为什么sigmoid 容易梯度消失相关推荐

  1. sigmoid函数原理及饱和后梯度消失的问题

    sigmoid函数原理及饱和后梯度消失的问题 sigmoid函数结构 sigmoid函数,是神经网络中的一种激活函数,其输出范围在(0,1)之间.主要运动于: 1. 作为激活函数,利用输出范围(0,1 ...

  2. 常见的激活函数 sigmod Relu tanh LeakyRelu及复现代码

    目录 1.激活函数的作用 2.sigmod 3.Relu 4.tanh 5.LeakyRelu 1.激活函数的作用 关于神经网络中的激活函数的作用,通常都是这样解释:如果不使用激活函数的话,神经网络的 ...

  3. 激活函数选取不当为什会造成梯度消失

    下图为四层神经网络,它包括输入层,输出层,两个隐层 假设输入层到第一个隐层的权值为,偏置值为.两个隐层之间的权值为,偏置值为.第二个隐层到输出层的权值为,偏置值为.现在假设输入的值为,输出为,标签值为 ...

  4. 神经网络激活函数汇总(Sigmoid、tanh、ReLU、LeakyReLU、pReLU、ELU、maxout)

    神经网络激活函数汇总(Sigmoid.tanh.ReLU.LeakyReLU.pReLU.ELU.maxout) 常规 sigmoid 和 tanh sigmoid 特点:可以解释,比如将0-1之间的 ...

  5. 深度学习激活函数总结(sigmoid,tanh,ReLU,Leaky ReLU,EReLU,PReLU,Softmax,Swish,Maxout,Softplus)

    摘要 本文总结了深度学习领域最常见的10中激活函数(sigmoid.Tanh.ReLU.Leaky ReLU.ELU.PReLU.Softmax.Swith.Maxout.Softplus)及其优缺点 ...

  6. 【深度学习】之激活函数篇[Sigmoid、tanh、ReLU、Leaky ReLU、Mish、Hardswish、SiLU]附绘图Python代码。

    激活函数的作用 为卷积神经网络提供非线性 1.Sigmoid激活函数 Sigmoid激活函数是常用的连续.平滑的"s"型激活函数,其数学定义比较简单,如公式1所示: 简单来说,Si ...

  7. 激活函数 sigmoid、tanh、relu

    PS:以下图有标注错误,红色都是原函数,蓝色都是导函数 激活函数(activation functions)的目标是,将神经网络非线性化.激活函数是连续的(continuous),且可导的(diffe ...

  8. 激活函数 sigmoid、tanh、ReLu、Leaky ReLu、ELU、Maxout

    1. sigmoid sigmoid 是逻辑函数,常见的 sigmoid 函数定义为: S(x)=11+e−xS(x)=\frac{1}{1+e^{-x}}S(x)=1+e−x1​ dS(x)dx=e ...

  9. 激活函数 Sigmoid、tanh、*LU、softPlus、maxOut、softmax、dice- 杂记

    目录 1.Sigmoid 2. tanh 3.ReLU 4.Leaky Relu 5.PRelu 6.Elu 6.softPlus 7.大一统:maxOut 传统的激活函数选择的建议 8.softma ...

最新文章

  1. html显示数据库表格asp,ASP实现在WEB中显示电子表格数据 显示数据及生成HTML表格...
  2. m3u直播源_教你创建电视直播源
  3. 终极会话劫持工具SSClone
  4. 历史上最伟大的 12 位程序员
  5. 理论+实践,带你掌握动态规划法
  6. 3月国内网站流量:腾讯夺第二 360安全中心降至第三
  7. 【Vue2.0学习】—Vuex工作原理图(二十五)
  8. leetcode938.RangeSumofBST
  9. 趣图:程序猿和运维狗的工作日常……
  10. memento about Linux
  11. usb转232串口线驱动android,prolific usb转串口驱动下载
  12. python 多个excel合并成多个sheet以及多个excel合并成一个sheet
  13. Eclipse快捷键(全)
  14. 2021年全国程序员工资出炉想要年薪60万,难吗?网友,扎心了
  15. C语言 实验7-3-5 输出大写英文字母 (15分)
  16. linux工作中常用文件操作命令
  17. QT应用编程: Visual Studio里编写activex控件在网页中运行(dll插件形式)
  18. 时序动作检测《BMN: Boundary-Matching Network for Temporal Action Proposal Generation》
  19. 模电(电平转换电路)
  20. Mac下Brew 卸载MySql以及安装Mysql 阿星小栈

热门文章

  1. 盛极一时的匈奴为何会在历史中消亡
  2. 子弹短信iOS版本全面下架,罗永浩啪啪啪又被打脸?
  3. html第8章作业,天地劫手游:归真第八章仅需12分钟全成就抄作业视频
  4. 电脑反应慢怎么办啊!
  5. 查看网页上保存的密码
  6. 客户就是上帝——你一直被忽悠了
  7. 【深度学习|抓取检测|数据集】Cornell 康奈尔数据集下载及解析 txt 转 pcd格式 点云可视化
  8. 什么是值类型,什么是引用类型
  9. 大学英语(第六册)复习(原文及全文翻译)——Unit 3 - The Quest For Extraterrestrial Intelligence(搜寻外星人)
  10. 生活随笔:怀念在广州大学的日子