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

激活函数ReLU、Leaky ReLU、PReLU和RReLU“激活函数”能分成两类——“饱和激活函数”和“非饱和激活函数”。sigmoid和tanh是“饱和激活函数”,而ReLU及其变体则是“非饱和激活函数”。使用“非饱和激活函数”的优势在于两点:1.首先,“非饱和激活函数”能解决所谓的“梯度消失”问题。2.其次,它能加快收敛速度。Sigmoid函数需要一个实值输入压缩至[0,1]的范围σ(x)=1/…

大家好,又见面了,我是你们的朋友全栈君。

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

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

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首次提出的。

ReLU 的缺点:
训练的时候很”脆弱”,很容易就”die”了
例如,一个非常大的梯度流过一个 ReLU 神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了,那么这个神经元的梯度就永远都会是 0.
如果 learning rate 很大,那么很有可能网络中的 40% 的神经元都”dead”了。
ELUs
    ELUs是“指数线性单元”,它试图将激活函数的平均值接近零,从而加快学习的速度。同时,它还能通过正值的标识来避免梯度消失的问题。根据一些研究,ELUs分类精确度是高于ReLUs的。下面是关于ELU细节信息的详细介绍:

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

 

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

    激活函数ReLU、Leaky ReLU、PReLU和RReLUai是(1,+∞)区间内的固定参数。

参数化修正线性单元(PReLU)
    PReLU可以看作是Leaky ReLU的一个变体。在PReLU中,负值部分的斜率是根据数据来定的,而非预先定义的。作者称,在ImageNet分类(2015,Russakovsky等)上,PReLU是超越人类分类水平的关键所在。
随机纠正线性单元(RReLU)
    “随机纠正线性单元”RReLU也是Leaky ReLU的一个变体。在RReLU中,负值的斜率在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,aji是从一个均匀的分布U(I,u)中随机抽取的数值。形式上来说,我们能得到以下结果:

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

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

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

 

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

    Leaky ReLU中的ai是固定的;

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

 

 转载:http://i.ifeng.com/lady/vnzq/news?m=1&aid=124686188&mid=2EjJF3&all=1&p=2

关于激活函数比较优秀的博客

1、https://blog.csdn.net/Leo_Xu06/article/details/53708647

(补充,对于sigmoid函数,权重w越大,曲线越倾斜)

2、https://blog.csdn.net/guorongronghe/article/details/70174476

3、https://blog.csdn.net/weixin_42057852/article/details/84644348

4、https://blog.csdn.net/u011684265/article/details/78039280

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/147876.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm配置python运行环境_pycharm安装django

    pycharm配置python运行环境_pycharm安装django新手下载安装pycharm并且配置pycharm下载安装pycharm电脑是32位就选择32位电脑是64位就选择64位选择next就搞定了配置环境变量第一步、找到pycharm的程序文件的地址右键->属性->复制“起始位置”里面的位置第二步、添加到电脑的环境变量我的电脑->右键->属性->高级系统设置->高级->环境变量->Administrator->找到Path->编辑->新建->粘贴pycharm程序文件地址-&

  • java—final关键字

    java—final关键字

  • goland 2021 激活码-激活码分享

    (goland 2021 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4…

  • gitlab cicd配置

    gitlab cicd配置简介以前代码更新之后,我们需要手动将代码拉到测试服务器上,运行验收通过之后,再在生产环境重新弄一遍,一两个服务还算轻松,如果涉及到的服务很多的话,每一个服务都需要这样来几遍,这是一个很头疼了,为了解决这个问题,我们引入了比较简单易懂的自动化部署工具,这也是gitlab自带的CI工具gitlab-runner,该工具解决了多环境多服务手动部署繁琐问题,用自动化脚本代替人工部署,我们不需要手…

  • 在乌镇拼命“洗白”的拼多多

    在乌镇拼命“洗白”的拼多多“虽然我们没为别人拼过命,但是一定为别人拼过多多。“以往冬初的乌镇世界互联网大会,刘强东往往会穿着显腰瘦的西服出现,不过今年没出现,倒是友商拼多多的创始人黄峥,来了。黄峥…

  • 【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]

    【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]一,前言1,Rclone是什么Rclone是一个开源的命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过50种云存储产品支持Rclone,包括S3对象存储,GoogleDrive,OneDrive等业务和消费者文件存储服务以及标准传输协议。2,它能用来干嘛可以备份(和加密)文件到云存储。从云存储还原(和解密)文件。将云数据镜像到其他云服务或本地。将数据迁移到云,或在云存储供应商之间迁移。将多个加密的,缓存的或多样化的云存储作为磁盘挂载。3,项目地址Gith

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号