一、Sigmoid函数

  1)表达式

    

  2)函数曲线

  

  3)函数缺点

  •  梯度饱和问题。先看一下反向传播计算过程:

          反向求导:

          而其中:

          

            

          所以,由上述反向传播公式可以看出,当神经元数值无线接近1或者0的时候,在反向传播计算过程中,梯度也几乎为0,就导致模型参数几乎不更新了,对模型的学习贡献也几乎为零。也称为参数弥散问题或者梯度弥散问题。

          同时,如果初始权重设置过大,会造成一开始就梯度接近为0,就导致模型从一开始就不会学习的严重问题。

  •  函数不是关于原点中心对称的。 

    这个特性会导致后面网络层的输入也不是零中心的,进而影响梯度下降的运作。

    因为如果输入都是正数的话(如 $$f=w^{T}x+b$$ 中每个元素都 $$x>0$$ ),那么关于 $$w$$ 的梯度在反向传播过程中,要么全是正数,要么全是负数(具体依据整个表达式 $$f$$ 而定),这将会导致梯度下降权重更新时出现 z 字型的下降。

               

二、tanh函数

  1)公式

  2) 导数

    

  3)曲线

 

  

  tanh(x)=2sigmoid(2x)-1

tanh 函数同样存在饱和问题,但它的输出是零中心的,因此实际中 tanh 比 sigmoid 更受欢迎。

三、ReLU函数

   1)表达式  

      f(x)=max(0,x)

  

  2)曲线  

    

  相较于 sigmoid 和 tanh 函数,ReLU 对于 SGD 的收敛有巨大的加速作用(Alex Krizhevsky 指出有 6 倍之多)。有人认为这是由它的线性、非饱和的公式导致的。我觉得最起码在右半轴ReLU函数的梯度是恒定的,不存在饱和情况,只是在左侧存在梯度硬饱和,sigmoid函数属于两端都软饱和,这可能是ReLU函数相对比较受欢迎的原因吧,最起码有一端比较完美了。

  ReLU 的缺点是,它在训练时比较脆弱并且可能“死掉”,就是在梯度为0硬饱和的时候,容易出现这种死掉的情况。

  局限性

3)改进

参考链接:https://cloud.tencent.com/developer/article/1399909

转载于:https://www.cnblogs.com/gczr/p/7520723.html

深度学习激活函数比较相关推荐

  1. 深度学习激活函数可视化:tanh与relu的比较

    深度学习激活函数可视化:tanh与relu的比较 激活函数是神经网络中非常重要的组成部分,它可以将输入值映射到输出值,并为网络提供非线性性.其中,tanh和relu是两种常用的激活函数,它们在神经网络 ...

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

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

  3. 深度学习—激活函数详解(Sigmoid、tanh、ReLU、ReLU6及变体P-R-Leaky、ELU、SELU、Swish、Mish、Maxout、hard-sigmoid、hard-swish)

    查看全文 http://www.taodudu.cc/news/show-3284957.html 相关文章: SELU激活函数,scaled exponential linear units 激活函 ...

  4. 深度学习激活函数中的线性整流函数ReLU及其变种

    线性整流函数ReLU         线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元, 是一种人工神经网络中常用的激活函数(activation functi ...

  5. 深度学习激活函数总结

    运行下面两行代码 import tensorflow as tf print(help(tf.nn)) 得到所有的激活函数,但是常见的就是relu, tanh, sigmoid函数 /usr/loca ...

  6. softmax函数_数学证明深度学习激活函数从Softmax到Sparsemax

    Sparsemax封闭形式解及其损失函数的推导 本文目标是三个方面.第一部分讨论了sparsemax背后的动机及其与softmax的关系,首次介绍了该激活函数的原始研究论文摘要,以及使用sparsem ...

  7. 深度学习- 激活函数总结(Sigmoid, Tanh, Relu, leaky Relu, PReLU, Maxout, ELU, Softmax,交叉熵函数)

    激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题 激活函数通常有以下性质 – 非线性 – 可微性 – 单调性 –

  8. Mish-撼动深度学习ReLU激活函数的新继任者

    对激活函数的研究一直没有停止过,ReLU还是统治着深度学习的激活函数,不过,这种情况有可能会被Mish改变. Diganta Misra的一篇题为"Mish: A Self Regulari ...

  9. 深度学习知识点全面总结

    神经网络与深度学习结构(图片选自<神经网络与深度学习>一邱锡鹏) 目录 常见的分类算法 一.深度学习概念 1.深度学习定义 2.深度学习应用 3.深度学习主要术语 二.神经网络基础 1. ...

最新文章

  1. R语言实战应用-lightgbm 算法优化:不平衡二分类问题(附代码)
  2. 融 360、中邮消费金融、作业帮分享数据分析产品选型心得
  3. python连不上树莓派_树莓派respberry中cmake编译链接python2.7库不成功,求教
  4. 机票分享第一篇 机票由何而来
  5. 虚拟化基础架构Windows 2008篇之2-域用户与域用户组管理
  6. Lync 小技巧-56-检查你用的公网证书是否正确
  7. 【Latex】数学公式排版
  8. sql server 左右连接 内外连接
  9. linux sysvinit 机制,Linux基于SysVinit和systemd实现开机自启动服务
  10. 我的团长我的团第二十四集
  11. realsenseD400系列使用realense-ros出现“symbol lookup error ... undefined symbol: _ZN2cv3M “解决方法(这个问题在我这里终结)
  12. 百度指数抓取-趋势截图+估算方法
  13. 数据集下载OTB,VOT,UAV,鸢尾花
  14. 上传IPA包到App Store​
  15. java判断经纬度是否在扇形内_地图学复习 (题) (带答案)
  16. 销售管理和销售分析怎么做?
  17. redis 内存分析工具 `rma4go`
  18. week03-面向对象
  19. oracle 分词函数,Oracle 汉语言分词
  20. cloverconfig机型修改_Clover介绍 及 新版 config.plist 代码作用详解

热门文章

  1. jQuery的自定义动画
  2. 美国公司欲联合大电脑商阻止绿坝推广
  3. RouterOS配置脚本
  4. 基2频率抽取实现FFT的Verilog程序
  5. DSP320C6000的指令列表汇集
  6. FPGA 内部双口块RAM 读写实现
  7. python操作目录_详解python中的文件与目录操作
  8. 大学最重要的七项学习
  9. 中国的TD-LTE-Advanced被国际电联确立为4G标准!
  10. linux版本之redhat9------终端中文软件zhcon0.2.6的安装及使用