Relu及其延伸
来源:互联网 发布:m1216nfh网络打印驱动 编辑:程序博客网 时间:2024/06/16 01:37
近年来,在深度学习中,ReLU 变的越来越受欢迎。它的数学表达式很简单:f(x)=max(0,x)。显然,输入信号<0时,输出都是0;输入信号>0 的情况下,输出等于输入。二维情况下,使用ReLU之后的效果如下:
ReLU 的优点:
- 收敛速度会比 sigmoid/tanh 快很多
- 相比于 sigmoid/tanh,ReLU 只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。
ReLU 的缺点:
- 训练的时候很”脆弱”,很容易就”die”了。例如当一个非常大的梯度流过一个Relu神经元时,更新参数后,这个神经元再也不会对任何数据有激活现象了。实际操作中,如果你的learning rate 很大,那么很有可能你网络中的40%的神经元都”dead”了。 当然,如果你设置了一个合适的较小的learning rate,这个问题发生的情况其实也不会太频繁。
为了解决Relu容易”die”这个问题,一些Relu的变形就出来了:
Leaky-ReLU:
f(x)=αx,(x < 0),α 是一个很小的常数。
f(x)= x,(x>=0)
这样Leaky-ReLU即修正了数据分布,又保留了一些负轴的值,使得负轴信息不会全部丢失。
关于Leaky ReLU 的效果,众说纷纭,没有清晰的定论。有些人做了实验发现 Leaky ReLU 表现的很好;有些实验则证明并不是这样。
Parametric ReLU:
对于 Leaky ReLU 中的α,通常都是通过先验知识人工赋值的。 然而可以观察到,损失函数对α的导数是可以求得的,可不可以将它作为一个参数进行训练呢? Kaiming He的论文《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》指出,不仅可以训练,而且效果更好。公式非常简单,反向传播至未激活前的神经元的公式就不写了,很容易就能得到。对α的导数如下:
Randomized ReLU:
是 leaky ReLU 的random 版本 (α 是random的)。核心思想就是,在训练过程中,α 是从一个高斯分布 U(l,u) 中 随机出来的,然后再测试过程中进行修正(有点像dropout的用法)。
- Relu及其延伸
- CCSequence及其延伸
- 欧拉函数及其延伸
- RELU
- C#中的全局变量及其一点延伸
- C#中的全局变量及其一点延伸
- 深入理解字符串的反转及其延伸
- 青蛙跳台阶题目及其延伸
- 权限管理的基础及其延伸
- RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- 【神经网络】RELU 激活函数及其他相关的函数
- RELU 激活函数及其他相关的函数
- Centos6.5下安装myql5.5步骤
- UBOOT的环境变量
- Ubuntu 17.04 无线网络不能连接解决方法
- 解决Centos7下tomcat启动成功不能访问
- AndroidStudio去除项目无用的资源
- Relu及其延伸
- SQL注入原理及防范
- Python:入门到实现网络爬虫 Day4 --正则表达式
- Java反射讲解(一)
- 对称加密工具类
- DOM--操作技术
- 关于Halcon的工件形状、颜色、位置及二维码识别
- VMware 虚拟机占用磁盘空间
- 预见2020-《互联网的基因》书友汇