参考:https://zhuanlan.zhihu.com/p/46255482

修正线性单元,是人工神经网络中常用的激活函数,通常指代以斜坡函数及其变种为代表的非线性函数。

这个原因大家都知道,为了增加非线性呗!

深度学习的目的是用一堆神经元堆出一个函数大致的样子,然后通过大量的数据去反向拟合出这个函数的各个参数,最终勾勒出函数的完整形状。

那如果激活函数只是线性函数,那一层层的线性函数堆起来还是线性的,这年头线性函数能干啥呀?

肯定不行,这样整个网络表现能力有限,所以要引入非线性的激活函数进来。

就是铅笔不够画的,咱得上带颜色、笔触更丰富的油画笔。

那为什么用ReLU呢?

我们先看ReLU和他的老对手sigmoid长什么样:

ReLU函数:

对比这俩函数能看出来,sigmoid有一个“梯度消失”的问题。

梯度消失什么意思呢?就是我们希望对每个神经元,激励函数都能尽量区分出z值变化,这样每个神经元的表达能力更强,但sigmoid明显在|z|>4的区间的梯度就不够看了,即它的梯度消失了。

相比之下,ReLU输出就很稳定,因为他z>0区间就是一个线性函数!不存在sigmoid的梯度消失的问题。

另一个ReLU很给力的地方就是稀疏度问题。就是我们希望每个神经元都能最大化的发挥它筛选的作用,符合某一个特征的中间值,使劲儿放大;不符合的,一刀切掉。

反观sigmoid就要黏糊的多。这个函数是很对称很美,但它面对负的z值仍然剪不断理还乱,会输出一个小的激励值(tanh会好一些但仍不能避免),形成所谓的“稠密表示”。

最后的最后,ReLU运算速度快,这个很明显了,max肯定比幂指数快的多。

为什么要使用sigmoid,tanh,ReLU等非线性函数?相关推荐

  1. 三种激活函数——Sigmoid,Tanh, ReLU以及卷积感受野的计算

    1. 三种激活函数--Sigmoid, Tanh, ReLU 1.1 Sigmoid 1.1.1 公式 S ( x ) = 1 1 + e − x S(x) = \frac{1}{1 + e^{-x} ...

  2. 【Pytorch神经网络理论篇】 07 激活函数+Sigmoid+tanh+ReLU+Swish+Mish+GELU

    ①激活函数:主要通过加入非线性因素,你不线性模型表达能力不足的缺陷,因为神经网络中的数学基础是处处可微分的函数,故要求激活函数也应该保证数据的输入与输出是可微分. ②激活函数可以分为饱和激活函数与不饱 ...

  3. 激活函数总结sigmoid,tanh,relu,Leaky ReLU,RRelu,ELU,PRelu,SELU,swish

    本文总结深度学习的损失函数及其优缺点. 激活函数是深度学习模型的重要成分,目的是将线性输入转换为非线性.常见的激活函数有sigmoid,tanh,ReLU等 1.sigmoid Sigmoid 非线性 ...

  4. 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU

     激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像:  Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...

  5. 常用的激活函数汇总-Sigmoid, tanh, relu, elu

    激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...

  6. 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)

    首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...

  7. 激活函数--Sigmoid,tanh,RELU,RELU6,Mish,Leaky ReLU等

    激活函数 目前自己使用比较多的激活函数RELU, RELU6; LeakyReLU; SELU; Mish :激活函数看:计算量:准确率: 大多数激活函数pytorch里有已经包装好了: Non-li ...

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

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

  9. 【学习经验分享NO.16】超全代码-python画Sigmoid,ReLU,Tanh等十多种激活函数曲线及其梯度曲线(持续更新)

    文章目录 前言 1. Sigmoid 2. tanh 3. ReLU 4. Leaky ReLU 5. ELU 6.PReLU 7. Softmax 8. Swish 9. Maxout 10. So ...

最新文章

  1. 零代码如何打造自己的实时监控预警系统
  2. 一次写多个字节的方法 || 数据追加续写
  3. element ui 空格_空格是您的UI朋友。 大量使用它。
  4. BlueHost Gzip优化JS和CSS传输
  5. AES-加密解密工具类
  6. 基于知识图谱的推荐系统综述
  7. 在 Mac 上如何获取扩展来自定 Safari 浏览器?
  8. java xss 参数_JAVA 重写HttpServletRequest的获取参数防止xss攻击
  9. DB9串口和RJ45接线图
  10. 基于51单片机的8x8x8LED光立方设计
  11. ADS入门,使用ADS创建和仿真一个简单的线路
  12. 解决mescroll固定位置上拉加载无效果?真的只需一步
  13. 基于STM32的AT24C08数据读写
  14. UE4 Sequencer的事件调用
  15. 使用 Docker Compose 构建复杂的多容器 App
  16. 模具冲压与模具设计知识点
  17. 淘淘商城第44讲——搭建搜索系统工程
  18. 欧拉路和欧拉回路知识
  19. SAP的成本中心和利润中心的关系
  20. BOOM!你的游戏手机突然出现

热门文章

  1. 170亿参数加持,微软发布史上最大Transformer模型
  2. 从4个月到7天,Netflix开源Python框架Metaflow有何提升性能的魔法?
  3. 旷视推出鼻纹识别,用AI寻找丢失宠物
  4. 售价1万7的华为Mate X很贵吗?
  5. 为什么让A.I.“顶天立地”需要6个多月?
  6. 如何在浏览器上跑深度学习模型?并且一行JS代码都不用写
  7. 重磅 | 李飞飞最新演讲:ImageNet后,我专注于这五件事——视觉理解、场景图,段落整合、视频分割及CLEVR数据集
  8. 漫画 | 阿姨,我不想努力了
  9. 为什么国内流行的 MyBatis ,国外 Java 工程师却不愿意使用?
  10. 支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了...