Rectifier(neural networks)

在人工神经网络中,rectfier(整流器,校正器)是一个激活函数,它的定义是:参数中为正的部分。

,

其中,x是神经元的输入。这也被称为ramp function(斜坡函数),类似于电气工程中半波整流。

由来:

2000年由Hahnloser et al等人首次将该激活函数引入动态网络中,具有强烈的生物学动机和数学理论。

此激活函数在 convolutional networks中被广泛应用,比logistic sigmoid更有效和实用。

rectfier是2017年深度神经网络中最流行的激活函数。

ReLU:

采用rectifier的单元被称为rectfier linear unit(ReLU)

rectifier的平滑近似是analytic function:

被称为softplus function。它的偏导数是 即逻辑函数

Rectified linear units在computer vision,speech recognition 等深度神经网络中有广泛应用。

Plot of the rectifier (blue) and softplus (green) functions near x = 0

Variants:

Noisy ReLUs

Rectfier linear units可以被扩展成包含Gaussian noise,

, with 

Noisy ReLUs成功应用在一些计算机视觉任务上。

Leaky ReLUs

Leaky ReLUs allow a small, non-zero gradient when the unit is not active.

Parametric ReLUs将coefficient of leakage(泄露系数)转化为与其它神经网络参数一起学习的参数

注意,如果a<=1,那么它等价于

   就与maxout networks有关

ELUs:

Exponential linear units try to make the mean activations closer to zero which speeds up learning. It has been shown that ELUs can obtain higher classification accuracy than ReLUs

a是需要调的参数,且a>=0

Advantages

请参考

https://en.wikipedia.org/wiki/Rectifier_(neural_networks)

Potential problems

请参考

https://en.wikipedia.org/wiki/Rectifier_(neural_networks)

ReLU函数的更多相关文章

  1. 神经网络的另一种非线性阶跃函数---ReLU函数

    import numpy as np import matplotlib.pylab as plt from matplotlib.font_manager import FontProperties ...

  2. relu函数为分段线性函数,为什么会增加非线性元素

    relu函数为分段线性函数,为什么会增加非线性元素 我们知道激活函数的作用就是为了为神经网络增加非线性因素,使其可以拟合任意的函数.那么relu在大于的时候就是线性函数,如果我们的输出值一直是在大于0 ...

  3. relu函数是否存在梯度消失问题以及relu函数的死亡节点问题

    relu函数是否存在梯度消失问题以及relu函数的死亡节点问题 存在,在小于的时候,激活函数梯度为零,梯度消失,神经元不更新,变成了死亡节点. 出现这个原因可能是因为学习率太大,导致w更新巨大,使得输 ...

  4. ReLU函数的缺陷

    ReLU激活功能并不完美. 它有一个被称为 “ReLU 死区” 的问题:在训练过程中,一些神经元会“死亡”,即它们停止输出 0 以外的任何东西.在某些情况下,你可能会发现你网络的一半神经元已经死亡,特 ...

  5. CNN卷积层:ReLU函数

    卷积层的非线性部分 一.ReLU定义 ReLU:全称 Rectified Linear Units)激活函数 定义 def relu(x): return x if x >0 else 0 #S ...

  6. python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数

    Python绘制正余弦函数图像 # -*- coding:utf-8 -*- from matplotlib import pyplot as plt import numpy as np impor ...

  7. ReLU 函数

    线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种 为代 ...

  8. ReLU激活函数的缺点

    训练的时候很”脆弱”,很容易就”die”了,训练过程该函数不适应较大梯度输入,因为在参数更新以后,ReLU的神经元不会再有激活的功能,导致梯度永远都是零. 例如,一个非常大的梯度流过一个 ReLU 神 ...

  9. 激活函数(ReLU, Swish, Maxout)

    神经网络中使用激活函数来加入非线性因素,提高模型的表达能力. ReLU(Rectified Linear Unit,修正线性单元) 形式如下: \[ \begin{equation} f(x)= \b ...

随机推荐

  1. 1045 快速排序 (25 分)C语言

    著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 N 个互不相同的正整数的排列,请问 ...

  2. 基于GPS北斗卫星授时系统和NTP网络授时服务器的设计与开发

    基于GPS北斗卫星授时系统和NTP网络授时服务器的设计与开发 安徽京准科技提供@请勿转载@@ 更多资料请参考——ahjzsz.com 天文观测设备对于控制系统的时间准确度有严格要求.为此,采用搭建高精 ...

  3. phpcms2008安装时mysql出错

  4. ArcEngine语法笔记(VB)

    1.获取图层字段 Dim pTable As ITable = pLayer Dim pField As IField pField = pTable.Fields.Field(i) Next  2. ...

  5. WIN10升级后输入法无法输入中文

    查看是否安装了中文输入法,可能在升级后用户文件出现问题. 在设置>语言.添加一下中文输入法.

  6. python封装简介

    1.效果图: 对比一: 对比二: 2.学习来源代码: # 封装是面向对象的三大特性之一 # 封装指的是隐藏对象中一些不希望被外部所访问到的属性或方法 # 如何隐藏一个对象中的属性? # - 将对象的属 ...

  7. redis简单操作

    一.redis 基础操作 1.1.string 类型及操作 string 是最简单的类型,一个key对应一个value,string类型是二进制安全的.redis的string可以包含任何数据. 1. ...

  8. 网络流 - 最大流构图入门 bzoj 1305

    一次舞会有n个男孩和n个女孩.每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞.每个男孩都不会和同一个女孩跳两首(或更多)舞曲.有一些男孩女孩相互喜欢,而其他相互不喜欢(不会“单向喜欢”).每个男孩 ...

  9. 引用类型(C# 参考)

    C# 中有两种类型:引用类型和值类型. 引用类型的变量存储对其数据(对象)的引用,而值类型的变量直接包含其数据. 对于引用类型,两种变量可引用同一对象:因此,对一个变量执行的操作会影响另一个变量所引用 ...

  10. Nginx在Centos 7中配置开机启动

    1.创建脚本 # vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v ...