PReLU全名Parametric Rectified Linear Unit. PReLU-nets在ImageNet 2012分类数据集top-5上取得了4.94%的错误率,首次超越了人工分类的错误率(5.1%)。PReLU增加的计算量和过拟合的风险几乎为零。考虑了非线性因素的健壮初始化方法使得该方法可以训练很深很深的修正模型(rectified model)来研究更深更大的网络结构。

  ReLU和PReLU图像:

  PReLU的数学表达式(i代表不同的通道,即每一个通道都有参数不相同的PReLU函数):

  如果ai是一个很小且确定的值时,PReLU就变成了LReLU。LReLU的目的是为了避免梯度为零提出来的。实验表明,LReLU在精确度上与ReLU相差无几。然而,PReLU是通过在训练中自学习参数ai的。PReLU只引进了n(n为通道数量)个参数,这和整个模型的权重数量比起来是微不足道的。因此我们预料这不会增加过拟合的风险。作者也考虑了通道共享的参数,即所有通道的ai都相等,这样就只引进了一个参数。

PReLU可以通过反向传播算法来更新参数。a的梯度为:

其中μ是动量,e代表学习速率,ε代表目标函数,ai初始值为0.25。值得注意的是,不使用权重衰减(L2正则化)来更新ai,因为这会使得ai趋向于0,变为ReLU。即使没有正则化,ai在实验中也没有超过1。作者没有限制ai的范围,因此激活函数可能是非单调的。

  当参数为通道共享时,a 的梯度为:

,其中∑i 表示该层所有通道相加。

参考论文:【1】Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification

PReLU的更多相关文章

  1. PReLU与ReLU

    PReLU激活函数,方法来自于何凯明paper <Delving Deep into Rectifiers:Surpassing Human-Level Performance on Image ...

  2. tensorflow prelu的实现细节

    tensorflow prelu的实现细节 output = tf.nn.leaky_relu(input, alpha=tf_gamma_data,name=name) #tf.nn.leaky_r ...

  3. 激活函数ReLU、Leaky ReLU、PReLU和RReLU

    “激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”. sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”.使用“非饱和激活函数”的优势在于两点:    1 ...

  4. 激活函数(relu,prelu,elu,+BN)对比on cifar10

    激活函数(relu,prelu,elu,+BN)对比on cifar10   可参考上一篇: 激活函数 ReLU.LReLU.PReLU.CReLU.ELU.SELU  的定义和区别   一.理论基础 ...

  5. Difference between ReLU、LReLU、PReLU、CReLU、ELU、SELU

    激活函数 ReLU.LReLU.PReLU.CReLU.ELU.SELU  的定义和区别 ReLU tensorflow中:tf.nn.relu(features, name=None) LReLU ...

  6. [转]激活函数ReLU、Leaky ReLU、PReLU和RReLU

    “激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”. sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”.使用“非饱和激活函数”的优势在于两点:    1 ...

  7. PReLU——Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification

    1. 摘要 在 \(ReLU\) 的基础上作者提出了 \(PReLU\),在几乎没有增加额外参数的前提下既可以提升模型的拟合能力,又能减小过拟合风险. 针对 \(ReLU/PReLU\) 的矫正非线性 ...

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

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

  9. 使用prelu

    一个使用方式:http://blog.csdn.net/xg123321123/article/details/52610919 还有一种是像relu那样写,我就是采用的这种方式,直接把名字从relu ...

随机推荐

  1. 20165306 预备作业3 Linux安装及学习

    查看了许多教程,VirtualBox和Ubuntu已安装完成.以下为学习Linux基础入门课程的实验报告.实验截图.尚未解决的问题及体会. 实验三 用户及文件权限管理 一.Linux用户管理 (一)查 ...

  2. MVC ---- 去掉HTML过滤

    在方法头上添加特效  [ValidateInput(false)]  富文本框提交的内容就可以顺利提交到后台了.

  3. Java 字符串常用操作(String类)

    字符串查找 String提供了两种查找字符串的方法,即indexOf与lastIndexOf方法. 1.indexOf(String s) 该方法用于返回参数字符串s在指定字符串中首次出现的索引位置, ...

  4. Chrome,你这坑人的默认非安全端口

    今天用chrome打开页面的发现一个错误: ERR_UNSAFE_PORT 字面意思是error:不安全端口. 一.什么是默认非安全端口?    每个浏览器出于安全问题,都会禁止一些网络浏览以外的端口 ...

  5. _attribute_character

    职业属性控制表 comment 备注                                                                            classI ...

  6. UnicodeEncodeError: 'gbk' codec can't encode character '\u25aa' in position 15: illegal multibyte sequence

    UnicodeEncodeError: 'gbk' codec can't encode character '\u25aa' in position 15: illegal multibyte se ...

  7. mysql基本知识总结

    第一天 create database act_web character set utf8; : 创建数据库并设立编码(命令中是不允许使用“-”的) '; :创建用户并设立密码 grant all ...

  8. 如何对接oracle 建立pdb

    Oracle数据库的结构是一个数据库实例下有许多用户,每一个用户有自己的表空间,即每一个用户相当于MySQL中的一个数据库.不久前下了oracle 12c的数据库,安装之后建user时才知道oracl ...

  9. js_为元素动态注册事件

    <head> <title></title> <script type="text/javascript">//window.onl ...

  10. vue-循环标记列表元素

    <el-col :lg="4" class="list" v-for="(item,index) in picList"> &l ...