线性整流函数(ReLU)
线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元, 是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。比较常用的线性整流函数有斜坡函数,以及带泄露整流函数 (Leaky ReLU),其中
为神经元(Neuron)的输入。线性整流被认为有一定的生物学原理[1],并且由于在实践中通常有着比其他常用激活函数(譬如逻辑函数)更好的效果,而被如今的深度神经网络广泛使用于诸如图像识别等计算机视觉[1]人工智能领域。
定义:
通常意义下,线性整流函数指代数学中的斜坡函数,即
而在神经网络中,线性整流作为神经元的激活函数,定义了该神经元在线性变换 {\displaystyle \mathbf {w} ^{T}\mathbf {x} +b}之后的非线性输出结果。换言之,对于进入神经元的来自上一层神经网络的输入向量 {\displaystyle x}
,使用线性整流激活函数的神经元会输出
至下一层神经元或作为整个神经网络的输出(取决现神经元在网络结构中所处位置)。
优势:
相比于传统的神经网络激活函数,诸如逻辑函数(Logistic sigmoid)和tanh等双曲函数,线性整流函数有着以下几方面的优势:
- 仿生物学原理:相关大脑方面的研究表明生物神经元的信息编码通常是比较分散及稀疏的[6]。通常情况下,大脑中在同一时间大概只有1%-4%的神经元处于活跃状态。使用线性修正以及正则化(regularization)可以对机器神经网络中神经元的活跃度(即输出为正值)进行调试;相比之下,逻辑函数在输入为0时达到 {\displaystyle {\frac {1}{2}}}
,即已经是半饱和的稳定状态,不够符合实际生物学对模拟神经网络的期望[1]。不过需要指出的是,一般情况下,在一个使用修正线性单元(即线性整流)的神经网络中大概有50%的神经元处于激活态[1]。
- 更加有效率的梯度下降以及反向传播:避免了梯度爆炸和梯度消失问题
- 简化计算过程:没有了其他复杂激活函数中诸如指数函数的影响;同时活跃度的分散性使得神经网络整体计算成本下降
参考文档:
1 https://zh.wikipedia.org/wiki/%E7%BA%BF%E6%80%A7%E6%95%B4%E6%B5%81%E5%87%BD%E6%95%B0
线性整流函数(ReLU)的更多相关文章
- MATLAB——神经网络构造线性层函数linearlayer
% example5_7.m x=-:; y=*x-; randn(); % 设置种子,便于重复执行 y=y+randn(,length(y))*1.5; % 加入噪声的直线 plot(x,y,'o' ...
- * SPOJ PGCD Primes in GCD Table (需要自己推线性筛函数,好题)
题目大意: 给定n,m,求有多少组(a,b) 0<a<=n , 0<b<=m , 使得gcd(a,b)= p , p是一个素数 这里本来利用枚举一个个素数,然后利用莫比乌斯反演 ...
- matlab-非线性拟合函数lsqcurvefit的使用和初值选取
所解决问题: 我们知道我们的表达式是y=A+B*exp(-x.^2)-C./log(x), 而且现在我们手里面有x与y对应的一大把数据. 我们需要根据x, y的值找出最佳的A.B.C值.则我们现在借助 ...
- Deep Learning--week1~week3
week1 一张图片,设像素为64*64, 颜色通道为红蓝绿三通道,则对应3个64*64实数矩阵 为了用向量表示这些矩阵,将这些矩阵的像素值展开为一个向量x作为算法的输入 从红色到绿色再到蓝色,依次按 ...
- 深度解析Droupout与Batch Normalization
Droupout与Batch Normalization都是深度学习常用且基础的训练技巧了.本文将从理论和实践两个角度分布其特点和细节. Droupout 2012年,Hinton在其论文中提出Dro ...
- 干货 | 这可能全网最好的BatchNorm详解
文章来自:公众号[机器学习炼丹术].求关注~ 其实关于BN层,我在之前的文章"梯度爆炸"那一篇中已经涉及到了,但是鉴于面试经历中多次问道这个,这里再做一个更加全面的讲解. Inte ...
- 神经网络的另一种非线性阶跃函数---ReLU函数
import numpy as np import matplotlib.pylab as plt from matplotlib.font_manager import FontProperties ...
- ReLU 函数
线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种 为代 ...
- MINST手写数字识别(三)—— 使用antirectifier替换ReLU激活函数
这是一个来自官网的示例:https://github.com/keras-team/keras/blob/master/examples/antirectifier.py 与之前的MINST手写数字识 ...
随机推荐
- java整数溢出问题及提升为long型
整数溢出问题 Java 中的 int 用 32 位表示,正数最大值的情况,首位是 0,其他位都可以是 1(就是 2^31-1).但是如果正数过大了,例如 2^31,计算机不得不把首位变成 1,并且计算 ...
- UCloud双11活动 - 新人UCloud代金券最低年100元香港云服务器
UCloud,一家在国内还是比较大的云计算产品提供商,早年一直提供企业服务的,如今也开始落地到个人用户群.这不在希望获得更多的用户基础的同时发布各种促销活动.这次双十一活动时机肯定也是要把握的,据说官 ...
- oracle 不等於的問題<> !=
簡單的查詢 SELECT * FROM sap_zcsp WHERE 欄位<>'X' 顯示不出為null的數據,必須帶上 IS null 查詢后得知:null 只能通過IS null 或者 ...
- java GUI的效果图
import java.awt.*;import javax.swing.*; public class GridBagDemo extends JFrame { public static v ...
- Blog Part I
写随笔是不可能写的,这辈子都不可能写的. ——https://music.163.com/song?id=5039077 ============ Blog?不,并不擅长,毕竟Blog不是Novel, ...
- HDU-6153 A Secret 扩展KMP
题意:求一个字符串的所有后缀在母串中的出现次数*后缀的长度的总和. 题目链接:http://acm.split.hdu.edu.cn/viewcode.php?rid=22147273 思路:先预处理 ...
- Django项目及应用的创建
一.url解释 1url是全球资源定位符,网上的每个文件都有唯一的url地址,组成:协议.服务器名称(或IP地址).路径和文件名. 2有时候,URL以斜杠“/”结尾,而没有给出文件名,在这种情况下,U ...
- bgfx入门练习3——编译自定义Shader
马个鸡,总算编译过了自定义Shader,在此感谢自己,感谢自己,以及感谢自己.没有自己的努力,我是不可能解决这个问题的,自己真是太叼了.妈的智障!!! 管方那屎一样的make工具根本没用,反正我是折腾 ...
- redis_字典_哈希hash
字典.哈希表基本数据结构 redis字典使用哈希表作为底层实现,基本结构就是数组+散列 typedef struct dictht { // 哈希表数组 dictEntry **table; // 哈 ...
- Go的Get命令兼容公司Gitlab仓库的HTTP协议
对于公司的私有Gitlab仓库,没有对https支持,在使用最新版本的go get命令时,需要使用-insecure参数来支持http,但如果导入的包里边依赖了需要https的仓库,就不好使了,折腾了 ...