当前位置: 首页>前端>正文

为什么relu要好于tanh和sigmoid relu相比sigmoid

ReLU 激活函数:

ReLu使得网络可以自行引入稀疏性,在没做预训练情况下,以ReLu为激活的网络性能优于其它激活函数。 
数学表达式: $y = max(0,x)$

第一,sigmoid的导数只有在0附近的时候有比较好的激活性,在正负饱和区的梯度都接近于0,所以这会造成梯度消失,而relu函数在大于0的部分梯度为常数,所以正半区不会产生梯度消失现象。第二,relu函数在负半区的导数为0 ,所以一旦神经元激活值进入负半区,那么梯度就会为0,也就是说这个神经元不会经历训练,即所谓的稀疏性。第三,relu函数的导数计算更快,程序实现就是一个if-else语句,而sigmoid函数要进行浮点四则运算。

ReLU 的缺点是,它在训练时比较脆弱并且可能“死掉”

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值,第1张

解决方案:

1、把relu换成leaky relu,保证让激活函数在输入小于零的情况下也有非零的梯度。

2、采用较小的学习率

3、采用 momentum based 优化算法,动态调整学习率

Leaky ReLU

ReLU 中当 x<0 时,函数值为 0。而 Leaky ReLU 则是给出一个很小的梯度值,比如 0.01。

maxout:

https://arxiv.org/pdf/1302.4389.pdf

 

Maxout 具有 ReLU 的优点(如:计算简单,不会 梯度饱和),同时又没有 ReLU 的一些缺点 (如:容易 go die)。不过呢,还是有一些缺点的嘛:就是把参数double了。

Sigmoid 激活函数:

sigmoid 激活函数在神经网络学习方面,可以将重点特征推向中央区,将非重点特征推向两侧区。 
数学表达式: 为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值_02,第2张

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值_03,第3张

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值_04,第4张

缺点:

激活函数计算量大,反向传播求梯度时,求导涉及除法
反向传播时,很容易就会出现梯度消失或梯度爆炸的情况,从而无法完成深层网络的训练

梯度消失或梯度爆炸的原因:

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_激活函数_05,第5张

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_反向传播_06,第6张

可以推导出

为什么relu要好于tanh和sigmoid relu相比sigmoid,\begin{align}
&\frac{\partial C}{\partial b_1}=\frac{\partial C}{\partial y_4}\frac{\partial y_4}{\partial z_4}\frac{\partial z_4}{\partial x_4}\frac{\partial x_4}{\partial z_3}\frac{\partial z_3}{\partial x_3}\frac{\partial x_3}{\partial z_2}\frac{\partial z_2}{\partial x_2}\frac{\partial x_2}{\partial z_1}\frac{\partial z_1}{\partial b_1}\
&=\frac{\partial C}{\partial y_4}\sigma,第7张

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值_07,第8张

其实梯度爆炸和梯度消失问题都是因为网络太深,网络权值更新不稳定造成的,本质上是因为梯度反向传播中的连乘效应(导数的链式求导法则)。对于更普遍的梯度消失问题,可以考虑用ReLU激活函数取代sigmoid激活函数。另外,LSTM的结构设计也可以改善RNN中的梯度消失问题。

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值_08,第9张

 

Tanh 激活函数:

Tanh 激活函数使得输出与输入的关系能保持非线性单调上升和下降关系,比sigmoid 函数延迟了饱和期(即导数接近0),对神经网路的容错性好。 
数学表达式: 

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_激活函数_09,第10张

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_权值_10,第11张

为什么relu要好于tanh和sigmoid relu相比sigmoid,为什么relu要好于tanh和sigmoid relu相比sigmoid_反向传播_11,第12张

 




https://www.xamrdz.com/web/22s1961641.html

相关文章: