技术标签: ReLU Deep Learning 激活函数 防止梯度消失
在深度神经网络中,通常使用一种叫修正线性单元(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作为激活函数,这种现象尤为明显,将导致模型收敛停滞不前。
拿tableau的超市例子为例: 1、首先将[类别] 字段拖到颜色字段 ,然后在图形工具栏选择饼图、得到: 接着将[销售额]字段拖到大小工具栏,并改为角度:把[记录数]拖到行,并把度量改为最小值再次并把[记录数]拖到行,并继续改为最小值,得到两个饼图:单击右面下个饼图,并改为双轴:得到:抽掉下面的饼图的两个字段:得到:...
最近因为公司业务需求,需要用flutter来做后续的开发,刚上手dart就出问题了……具体问题是,在运行的时候报:这个是需要在:中进行相关的配置去掉这个勾选即可。...
这一节介绍的是评论帖子,还有发布话题功能的实现。首先说说评论帖子的功能。先看一下效果图:从上一节可知,进行评论跳转的时候需要带来一些关于帖子的数据。这一个页面对于布局来说,也是十分的重要。评论栏固定在底部,评论之后实时刷新,删除自己的评论等。首先是布局的wxml<view class='top'> <view class='top1'>...
公租房是由国家提供政策支持、限定建设标准和租金水平,面向符合规定条件的城镇中等偏下收入住房困难家庭、新进就业无房职工和在城镇稳定就业的外来务工人员出租的保障性住房。随着人工智能技术、信息技术以及物联网的发展,智慧公租房各种应用和功能让公租房管理效率更好,服务更贴心。智慧公租房解决方案是建设智慧公租房的根本,那么智慧公租房解决方案你又知道多少呢?下面我们就来看看智慧公租房究竟有哪些内容?公租房门禁系统小区出入口是安全管理的首要目标。小区出入口通过人脸识别抓拍机,后端进行动态比对,与公安或住建局联动,
整理 | AI科技大本营编辑部出品| AI科技大本营(ID:rgznai100)10 月 31 日,由北京智源人工智能研究院主办的 2019 北京智源大会在国家会议中心开幕,本次大会吸引了国际人工智能领域的顶级专家学者参加,围绕人工智能基础研究现状及面临的机遇和挑战、人工智能技术未来发展的核心方向等话题,回归 AI 技术本身,开展深入研讨,探索人工智能前沿科技发展趋势。会议第一天,在上午场的尖峰...
雷达数字信号处理实际工程中,随着AD采样率越来越高,FPGA不能实时的处理全带宽的数据,一般在FPGA内部采取分相(也就是串并转换)的方式降低处理速度,在雷达信号处理过程中,对信号进行检测常用的方式有多相滤波架构和直接进行FFT进行频域分析,这里不进行展开,本博客主要是通过频域分析介绍一种通过串行FFT核恢复出最原始的N点的FFT结果,比如我们需要进行4096点FFT运算时,我们可以通过8个512点的串行FFT运算恢复出最终的4096点FFT结果,当然也可以通过将数据缓存下来然后分别进行4096点FFT运算
程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 7 分钟。来自:机器之心链接:https://www.jeffgeerling.com/blog/2020/i-re...
机器学习算法总结1 分类回归算法1.1 逻辑回归(LR)1.2 Softmax回归1.3 因子分解机(FM)1.4 支持向量机(SVM)1.5 决策树1.6 K 最近邻算法(KNN)1.7 岭回归和Lasso回归2 聚类算法2.1 K-Means2.2 均值漂移算法(Mean Shift)2.3 密度聚类算法(DBSCAN)2.4 标签传播算法(Label Propagation)3 集成学习3....
3594: [Scoi2014]方伯伯的玉米田Time Limit: 60 SecMemory Limit: 128 MBSubmit: 1971Solved: 961[Submit][Status][Discuss]Description方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。这排玉米一共有N株,它们的高度参差不齐。方伯伯认为单...
JConsole 可视化工具介绍一、 JConsole介绍1.1 JConsole描述 Jconsole (Java Monitoring and Management Console),一种基于JMX的可视化监视、管理工具。1.2 启动JConsole点击JDK/bin 目录下面的jconsole.exe 即可启动然后会自动自动搜索本机运行的所有虚拟机进程...
JS 时间戳转字符串:var formatlistdate = function(time) { var date=new Date(time); var y = date.getFullYear(); var m = date.getMonth() + 1; var d = date.getDate(); var hour = date.get...
博弈论-囚徒困境与重复囚徒困境的启示“囚徒困境”囚徒困境(prisoner’s dilemma):讨论的是两个被捕的囚徒之间的一种博弈,它阐明了为什么“在合作对双方都有利时,保持合作也是困难的”。囚徒困境的故事讲的是,两个嫌疑犯作案后被警察抓住,分别关在不同的屋子里接受审讯。警察知道两人有罪,但缺乏足够的证据。警察告诉每个人:如果两人都抵赖,各判刑一年;如果两人都坦白,各判八年