关于ReLU的详细介绍可以参考:
ReLU激活函数 - 知乎

训练的时候很”脆弱”,很容易就”die”了,训练过程该函数不适应较大梯度输入,因为在参数更新以后,ReLU的神经元不会再有激活的功能,导致梯度永远都是零。
例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0.
如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都”dead”了。

原因:

假设有一个神经网络的输入W遵循某种分布,对于一组固定的参数(样本),w的分布也就是ReLU的输入的分布。假设ReLU输入是一个低方差中心在+0.1的高斯分布。

在这个场景下:

  • 大多数ReLU的输入是正数,因此
  • 大多数输入经过ReLU函数能得到一个正值(ReLU is open),因此
  • 大多数输入能够反向传播通过ReLU得到一个梯度,因此
  • ReLU的输入(w)一般都能得到更新通过随机反向传播(SGD)

现在,假设在随机反向传播的过程中,有一个巨大的梯度经过ReLU,由于ReLU是打开的,将会有一个巨大的梯度传给输入(w)。这会引起输入w巨大的变化,也就是说输入w的分布会发生变化,假设输入w的分布现在变成了一个低方差的,中心在-0.1高斯分布。

在这个场景下:

  • 大多数ReLU的输入是负数,因此大多数输入经过ReLU函数能得到一个0(ReLU is close),因此大多数输入不能反向传播通过ReLU得到一个梯度,因此ReLU的输入w一般都得不到更新通过随机反向传播(SGD)

发生了什么?只是ReLU函数的输入的分布函数发生了很小的改变(-0.2的改变),导致了ReLU函数行为质的改变。我们越过了0这个边界,ReLU函数几乎永久的关闭了。更重要的是ReLU函数一旦关闭,参数w就得不到更新,这就是所谓的‘dying ReLU’。

(译者:下面有一段关于神经元死亡后能够复活的讨论,未翻译)

从数学上说,这是因为ReLU的数学公式导致的

r(x)=max(x,0)

导数如下

Δxr(x)=1(x>0)

所以可以看出,如果在前向传播的过程中ReLU is close,那么反向传播时,ReLU也是close的。

参考:

https://www.zhihu.com/question/59031444

https://www.jianshu.com/p/22d9720dbf1a

https://blog.csdn.net/disiwei1012/article/details/79204243

ReLU激活函数的缺点

标签:关于   orm   更新   参考   pen   导数   article   learning   frame

原文地址:https://www.cnblogs.com/Time-LCJ/p/9235711.html

【深度学习】ReLU激活函数的缺点相关推荐

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

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

  2. 深度学习ReLU激活函数

    ReLU激活函数 在深度学习中,有修正线性单元(Rectified linear unit,ReLU)的激活函数 x轴是时间,y轴是放电速度 神经元的工作方式: 1.稀疏性 2.分布性 我们开始介绍R ...

  3. 深度学习之激活函数小结

    深度学习之激活函数小结 激活函数的作用和意义:引入非线性,增加网络表达能力: 基本激活函数介绍 首先看一下一些常见的激活函数: Sigmoid: 总结:第一个出现的激活函数,存在以下问题,所以后面基本 ...

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

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

  5. 趣谈深度学习核心----激活函数

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 当你在苦扒图像处理方法得时候 他在用深度学习 当你在干瞪切片像素得 ...

  6. sigmoid函数_深度学习中激活函数总结

    一.前言 前段时间通过引入新的激活函数Dice,带来了指标的提升,借着这个机会,今天总结下常用的一些激活函数. 激活函数在深度学习中起着非常重要的作用,本文主要介绍下常用的激活函数及其优缺点.主要分为 ...

  7. 深度学习关于激活函数和损失函数的调研

    关于激活函数和损失函数的调研 1) 激活函数(Activation Function) 背景 Sigmoid函数 tanh函数 Relu函数 Leaky Relu函数(PReLu) ELU(Expon ...

  8. 深度学习常用激活函数总结

    1 为什么需要激活函数 首先数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力.所以激活函数的最大特点就是非线性. 不同的激活函数, ...

  9. 深度学习-非线性激活函数

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

最新文章

  1. Matlab与线性代数--矩阵的Cholesky分解
  2. 在java中方法重载的要求,Java方法的重载
  3. Mplayer后台播放没有声音
  4. LeetCode 1042. 不邻接植花(图的数据结构)
  5. lambda里面赋值局部变量必须是final原因
  6. Linux下的Python Socket网络编程(聊天机器人)
  7. Redis 6.0 源码阅读笔记(4) -- String 数据类型源码分析
  8. Correct the classpath of your application so that it contains a single, compatible version oforg.spr
  9. pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音读取出来
  10. MacBook常用快捷键
  11. 用c语言写抽奖大转盘,iOS抽奖大转盘的二种实现方法
  12. 50本关于软件测试的书籍
  13. C++(标准库):26---STL迭代器之(迭代器的5大种类(输出迭代器、输入迭代器、向前迭代器、双向迭代器、随机访问迭代器))
  14. 软件测试之bug管理
  15. c语言595驱动数码管,74hc595驱动4位数码管程序解析 - 74hc595驱动4位数码管电路连接图及程序解析...
  16. 女神节活动 送她链上专属藏品,爱要大胆晒出来
  17. Java计算机毕业设计电影票网上订票系统源码+系统+数据库+lw文档
  18. 如何直接修改exe文件
  19. mysql添加用户并设置权限
  20. bugly热更新加固应用失败详解

热门文章

  1. 开源APM技术选型与实战
  2. 涉及支付,资金方案的操作要考虑的问题
  3. 深入理解maven及应用--转
  4. 数据挖掘建模之常见概率分布总结
  5. Vue 里的$如何理解
  6. 语音识别真的比肩人类了?听听阿里iDST初敏怎么说
  7. 京东金融曹鹏:没有数据的金融科技公司是纸上谈兵
  8. 用立异,声东击西——贵阳Flex创客团队航行器吸引世界眼光
  9. Spring-常见问题25问
  10. LibManagementSys图书管理系统