在Tensorflow中实现leakyRelu操作详解(高效)


Posted in Python onJune 30, 2020

从github上转来,实在是厉害的想法,什么时候自己也能写出这种精妙的代码就好了

原地址:简易高效的LeakyReLu实现

代码如下:

我做了些改进,因为实在tensorflow中使用,就将原来的abs()函数替换成了tf.abs()

import tensorflow as tf
def LeakyRelu(x, leak=0.2, name="LeakyRelu"):
   with tf.variable_scope(name):
     f1 = 0.5 * (1 + leak)
     f2 = 0.5 * (1 - leak)
     return f1 * x + f2 * tf.abs(x) # 这里和原文有不一样的,我没试验过原文的代码,但tf.abs()肯定是对的

补充知识:激活函数ReLU、Leaky ReLU、PReLU和RReLU

“激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”。

在Tensorflow中实现leakyRelu操作详解(高效)

sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”。使用“非饱和激活函数”的优势在于两点:

1.首先,“非饱和激活函数”能解决所谓的“梯度消失”问题。

2.其次,它能加快收敛速度。

Sigmoid函数需要一个实值输入压缩至[0,1]的范围

σ(x) = 1 / (1 + exp(−x))

tanh函数需要讲一个实值输入压缩至 [-1, 1]的范围

tanh(x) = 2σ(2x) − 1

ReLU

ReLU函数代表的的是“修正线性单元”,它是带有卷积图像的输入x的最大函数(x,o)。ReLU函数将矩阵x内所有负值都设为零,其余的值不变。ReLU函数的计算是在卷积之后进行的,因此它与tanh函数和sigmoid函数一样,同属于“非线性激活函数”。这一内容是由Geoff Hinton首次提出的。

ELUs

ELUs是“指数线性单元”,它试图将激活函数的平均值接近零,从而加快学习的速度。同时,它还能通过正值的标识来避免梯度消失的问题。根据一些研究,ELUs分类精确度是高于ReLUs的。下面是关于ELU细节信息的详细介绍:

在Tensorflow中实现leakyRelu操作详解(高效)

Leaky ReLUs

ReLU是将所有的负值都设为零,相反,Leaky ReLU是给所有负值赋予一个非零斜率。Leaky ReLU激活函数是在声学模型(2013)中首次提出的。以数学的方式我们可以表示为:

在Tensorflow中实现leakyRelu操作详解(高效)

ai是(1,+∞)区间内的固定参数。

参数化修正线性单元(PReLU)

PReLU可以看作是Leaky ReLU的一个变体。在PReLU中,负值部分的斜率是根据数据来定的,而非预先定义的。作者称,在ImageNet分类(2015,Russakovsky等)上,PReLU是超越人类分类水平的关键所在。

随机纠正线性单元(RReLU)

“随机纠正线性单元”RReLU也是Leaky ReLU的一个变体。在RReLU中,负值的斜率在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,aji是从一个均匀的分布U(I,u)中随机抽取的数值。形式上来说,我们能得到以下结果:

在Tensorflow中实现leakyRelu操作详解(高效)

总结

下图是ReLU、Leaky ReLU、PReLU和RReLU的比较:

在Tensorflow中实现leakyRelu操作详解(高效)

PReLU中的ai是根据数据变化的;

Leaky ReLU中的ai是固定的;

RReLU中的aji是一个在一个给定的范围内随机抽取的值,这个值在测试环节就会固定下来。

以上这篇在Tensorflow中实现leakyRelu操作详解(高效)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python struct.unpack
Sep 06 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
python实现字符串和日期相互转换的方法
May 13 Python
Python获取二维矩阵每列最大值的方法
Apr 03 Python
python实现电脑自动关机
Jun 20 Python
python3 unicode列表转换为中文的实例
Oct 26 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 #Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 #Python
python 最简单的实现适配器设计模式的示例
Jun 30 #Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 #Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 #Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 #Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 #Python
You might like
php 归并排序 数组交集
2011/05/10 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
使用Python对SQLite数据库操作
2017/04/06 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python日志模块logging基本用法分析
2018/08/23 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
班组长安全生产职责
2013/12/16 职场文书
明信片寄语大全
2014/04/08 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫