ReLU Sigmoid and Tanh(2)
来源:互联网 发布:java多态的实现原理 编辑:程序博客网 时间:2024/05/16 17:38
Sigmoid
它能够把输入的连续实值“压缩”到0和1之间。如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.
缺点:
当输入非常大或者非常小的时候,这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。所以,需要尤其注意参数的初始值来尽量避免saturation的情况。如果你的初始值很大的话,大部分神经元可能都会处在saturation的状态而把gradientkill掉,这会导致网络变的很难学习。
Sigmoid的output不是0均值.这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。
产生的一个结果就是:如果数据进入神经元的时候是正的(e.g.x>0 elementwise in f=wTx+b),那么w计算出的梯度也会始终都是正的。
当然了,如果你是按batch去训练,那么那个batch可能得到不同的信号,所以这个问题还是可以缓解一下的。因此,非0均值这个问题虽然会产生一些不好的影响,不过跟上面提到的kill gradients 问题相比还是要好很多的。
tanh
tanh(x)=2sigmoid(2x)−1
与sigmoid不同的是,tanh是0均值的。因此,实际应用中,tanh会比 sigmoid更好(毕竟去粗取精了)。
ReLU
近年来,ReLU变的越来越受欢迎。数学表达式如下:
f(x)=max(0,x)
输入信号<0时,输出都是0,>0的情况下,输出等于输入。
ReLU的优点:
使用ReLU得到的SGD的收敛速度会比sigmoid/tanh快很多。有人说这是因为它是linear,而且non-saturating。相比于sigmoid/tanh,ReLU只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。
ReLU的缺点:当然 ReLU也有缺点,就是训练的时候很”脆弱”,很容易就”die”了.
举个例子:一个非常大的梯度流过一个ReLU神经元,更新过参数之后,这个神经元再也不会对任何数据有激活现象了。
如果这个情况发生了,那么这个神经元的梯度就永远都会是0.
实际操作中,如果你的learningrate很大,那么很有可能你网络中的40%的神经元都”dead”了。
当然,如果你设置了一个合适的较小的learningrate,这个问题发生的情况其实也不会太频繁。
Leaky-ReLU、P-ReLU、R-ReLU
Leaky ReLUs:就是用来解决这个“dyingReLU”的问题的。与 ReLU不同的是:
f(x)=αx,(x<0)
f(x)=x,(x>=0)
这里的α是一个很小的常数。这样,即修正了数据分布,又保留了一些负轴的值,使得负轴信息不会全部丢失。
关于LeakyReLU的效果,众说纷纭,没有清晰的定论。有些人做了实验发现Leaky ReLU表现的很好;有些实验则证明并不是这样。
ParametricReLU:对于 Leaky ReLU中的α,通常都是通过先验知识人工赋值的。
然而可以观察到,损失函数对α的导数我们是可以求得的,可不可以将它作为一个参数进行训练呢?KaimingHe的论文《DelvingDeep into Rectifiers: Surpassing Human-Level Performance on ImageNetClassification》指出,不仅可以训练,而且效果更好。
- ReLU Sigmoid and Tanh(2)
- ReLU Sigmoid and Tanh
- Caffe源码(七):ReLU,Sigmoid and Tanh
- sigmoid、tanh、softplus和ReLu激活函数
- 神经网络之激活函数(sigmoid、tanh、ReLU)
- 激活函数-Sigmoid,Tanh,ReLu,softplus,softmax
- 神经网络之激活函数(sigmoid、tanh、ReLU)
- 10分钟搞懂常用激活函数 :linear、Sigmoid、tanh、Relu | Neural Networks #2
- 神经网络中的激活函数(activation function)-Sigmoid, ReLu, TanHyperbolic(tanh), softmax, softplus
- 机器学习笔记-神经网络中激活函数(activation function)对比--Sigmoid、ReLu,tanh
- 常见激活函数(sigmoid/logistic/tanh/softmax/ReLU关系解释)
- 四种激活函数(Relu Linear Sigmoid Tanh)
- 深度学习——激活函数Sigmoid/Tanh/ReLU
- 神经网络激活函数sigmoid relu tanh 为什么sigmoid 容易梯度消失
- 人工神经网络中的activation function的作用以及ReLu,tanh,sigmoid激励函数的区别
- 一次面试引发的问题:激活函数Relu,sigmoid ,tanh的角逐
- 神经网络中的激活函数-Sigmoid, ReLu, TanHyperbolic(tanh), softmax, softplus简述
- 常用的激活函数总结(Sigmoid函数、Tanh函数、ReLu函数、Softmax函数)
- 欢迎使用CSDN-markdown编辑器
- 论文阅读:Instance-Level Salient Object Segmentation
- 【HDU 1069】Monkey and Banana(dp+sort结构体排序)
- elasticsearch sort评分
- 如何查找MySQL中查询慢的SQL语句
- ReLU Sigmoid and Tanh(2)
- scray中的Request 不执行回调
- bzoj2038 小Z的袜子(hose) 莫队算法(不修改只查询 基础版)
- 转换java
- HDU 5763
- Ultra-QuickSort
- Hive采集数据框架flume
- 网络编程(tcp、udp)
- FireFox插件RESTClient POST请求带json数据