纯粹学习收藏。

转载地址:https://blog.csdn.net/cherrylvlei/article/details/53149381

导语

在深度神经网络中,通常使用一种叫修正线性单元(Rectified linear unit,ReLU)作为神经元的激活函数。ReLU起源于神经科学的研究:2001年,Dayan、Abott从生物学角度模拟出了脑神经元接受信号更精确的激活模型,如下图: 
 
其中横轴是时间(ms),纵轴是神经元的放电速率(Firing Rate)。同年,Attwell等神经科学家通过研究大脑的能量消耗过程,推测神经元的工作方式具有稀疏性和分布性;2003年Lennie等神经科学家估测大脑同时被激活的神经元只有1~4%,这进一步表明了神经元的工作稀疏性。而对于ReLU函数而言,类似表现是如何体现的?其相比于其他线性函数(如purlin)和非线性函数(如sigmoid、双曲正切)又有何优势?下面请各位看官容我慢慢道来。


简单之美

首先,我们来看一下ReLU激活函数的形式,如下图:

从上图不难看出,ReLU函数其实是分段线性函数,把所有的负值都变为0,而正值不变,这种操作被成为单侧抑制。可别小看这个简单的操作,正因为有了这单侧抑制,才使得神经网络中的神经元也具有了稀疏激活性。尤其体现在深度神经网络模型(如CNN)中,当模型增加N层之后,理论上ReLU神经元的激活率将降低2的N次方倍。这里或许有童鞋会问:ReLU的函数图像为什么一定要长这样?反过来,或者朝下延伸行不行?其实还不一定要长这样。只要能起到单侧抑制的作用,无论是镜面翻转还是180度翻转,最终神经元的输出也只是相当于加上了一个常数项系数,并不影响模型的训练结果。之所以这样定,或许是为了契合生物学角度,便于我们理解吧。

那么问题来了:这种稀疏性有何作用?换句话说,我们为什么需要让神经元稀疏?不妨举栗子来说明。当看名侦探柯南的时候,我们可以根据故事情节进行思考和推理,这时用到的是我们的大脑左半球;而当看蒙面唱将时,我们可以跟着歌手一起哼唱,这时用到的则是我们的右半球。左半球侧重理性思维,而右半球侧重感性思维。也就是说,当我们在进行运算或者欣赏时,都会有一部分神经元处于激活或是抑制状态,可以说是各司其职。再比如,生病了去医院看病,检查报告里面上百项指标,但跟病情相关的通常只有那么几个。与之类似,当训练一个深度分类模型的时候,和目标相关的特征往往也就那么几个,因此通过ReLU实现稀疏后的模型能够更好地挖掘相关特征,拟合训练数据

此外,相比于其它激活函数来说,ReLU有以下优势:对于线性函数而言,ReLU的表达能力更强,尤其体现在深度网络中;而对于非线性函数而言,ReLU由于非负区间的梯度为常数,因此不存在梯度消失问题(Vanishing Gradient Problem),使得模型的收敛速度维持在一个稳定状态。这里稍微描述一下什么是梯度消失问题:当梯度小于1时,预测值与真实值之间的误差每传播一层会衰减一次,如果在深层模型中使用sigmoid作为激活函数,这种现象尤为明显,将导致模型收敛停滞不前。


结语

以上便是我对ReLU激活函数的一些理解,在此感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注小斗公众号 对半独白

转:ReLU激活函数:简单之美相关推荐

  1. ReLU激活函数:简单之美

    导语 在深度神经网络中,通常使用一种叫**修正线性单元(Rectified linear unit,ReLU)**作为神经元的激活函数.ReLU起源于神经科学的研究:2001年,Dayan.Abott ...

  2. 为什么要ReLU激活函数

    导语 在深度神经网络中,通常使用一种叫修正线性单元(Rectified linear unit,ReLU)作为神经元的激活函数.ReLU起源于神经科学的研究:2001年,Dayan.Abott从生物学 ...

  3. 原来ReLU这么好用?一文带你深度了解ReLU激活函数

    在神经网络中,激活函数负责将来自节点的加权输入转换为该输入的节点或输出的激活.ReLU 是一个分段线性函数,如果输入为正,它将直接输出,否则,它将输出为零.它已经成为许多类型神经网络的默认激活函数,因 ...

  4. ReLU激活函数的特点

    ReLU(Rectified Linear Unit,修正线性单元)函数 1.公式: 可以看出这是个非常简单的函数,大于0部分不变,小于0的值全部压缩成0. 2.优点 ①作为激活函数,计算简单,更加高 ...

  5. 【调参12】ReLU激活函数使用指南

    文章目录 1. 线性整流单元(Rectified Linear Unit, ReLU)简介 1.1 Sigmoid和Tanh激活函数的局限性 1.2 ReLU激活函数 2. ReLU 激活函数的优点 ...

  6. 梯度下降与ReLU激活函数

    14.梯度下降与ReLU激活函数 14.1 梯度下降法 在数学中,梯度表示函数递增速度最快的方向,反之梯度的负方向则表示函数衰减最快的方向.因此,可以通过不断迭代使用梯度下降方法求解到函数的最小值.( ...

  7. 激活函数、Sigmoid激活函数、tanh激活函数、ReLU激活函数、Leaky ReLU激活函数、Parametric ReLU激活函数详细介绍及其原理详解

    相关文章 梯度下降算法.随机梯度下降算法.动量随机梯度下降算法.AdaGrad算法.RMSProp算法.Adam算法详细介绍及其原理详解 反向传播算法和计算图详细介绍及其原理详解 激活函数.Sigmo ...

  8. 使用opencv dnn 模块调用darknet模型时候出错,不支持relu激活函数

    问题: 使用opencv dnn 模块调用darknet模型时候出错,报错信息为 不支持relu激活函数 以下过程为笔者自己解决该问题的过程,供各位参考学些,因为中间又遇到新的坑,所以各位务必看完再决 ...

  9. 零基础学caffe源码 ReLU激活函数

    零基础学caffe源码 ReLU激活函数 原创 2016年08月03日 17:30:19 1.如何有效阅读caffe源码 1.caffe源码阅读路线最好是从src/cafffe/proto/caffe ...

最新文章

  1. js 获取最近几天的时间字符串
  2. Vue实现仿音乐播放器4-Vue-router实现音乐导航菜单切换
  3. 《leetcode》single-number
  4. 【Blog.Core开源】框架集成部门权限
  5. 2021年春季学期期末统一考试 组织行为学 试题
  6. 数据结构-图及其遍历
  7. import是引进外部函数吗_vue3已正式发布,你学了吗
  8. python 计算数字位数_Python 统计位数为偶数的数字的代码
  9. BitCoin Gloom系列
  10. java beetl 视频_04.Beetl常用内置函数以及安全输出---《Beetl视频课程》
  11. 【论文解读】LGN: 基于词典构建的中文NER图神经网络
  12. 【优化算法】差分进化优化杂草优化(DIWO)【含Matlab源码 1482期】
  13. Declustered RAID
  14. 当供应链金融遇到区块链会擦出怎样的火花?
  15. OpenMV 从入手到跑TensorFlow Lite神经网络进行垃圾分类
  16. 万豪国际集团旗舰酒店品牌正式入驻中国东北地区
  17. 对话系统 NLU项目总结报告
  18. 第6章 查询处理和查询优化
  19. linux解压文件到一个新的文件夹下面
  20. 点击关闭Element-UI中dialog右上角的关闭图标按钮

热门文章

  1. AspNetCore 使用NLog日志,NLog是基于.NET平台开的类库!(又一神器)
  2. 一周试用yii开发一个带各种该有功能的web程序(二)
  3. CocoaPods 错误 target overrides the `OTHER_LDFLAGS`...
  4. C#中using关键字的作用及其用法(转)
  5. centos7下docker设置阿里云镜像(自定义阿里云镜像)
  6. 靠谱测试人员需具备宏观把控能力
  7. 02-07 Python库-pytest
  8. inno setup 另一个程序正在使用此文件_STEP 7-MicroWIN SMART程序的上传与下载方式
  9. base | 数值运算符和逻辑运算符
  10. 前端快速开发插件emmet,炫技必备