ReLU比Sigmoid效果好的理由:

https://blog.csdn.net/ljyljyok/article/details/88394212

Relu的gradient大多数情况下是常数,有助于解决深层网络的收敛问题。Relu的另一个优势是在生物上的合理性,它是单边的,相比sigmoid和tanh,更符合生物神经元的特征。

sigmoid和tanh的gradient在饱和区域非常平缓,接近于0,很容易造成vanishing gradient的问题,减缓收敛速度。vanishing gradient在网络层数多的时候尤其明显,是加深网络结构的主要障碍之一。ReLU更容易学习优化。因为其分段线性性质,导致其前传,后传,求导都是分段线性。而传统的sigmoid函数,由于两端饱和,在传播过程中容易丢弃信息。对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失,参见 @Haofeng Li 答案的第三点),从而无法完成深层网络的训练。

还有表达区间问题,sigmoid和tanh区间是0到1,或着-1到1,在表达上,尤其是输出层的表达上有优势。

采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。

ReLu的另一个优势是稀疏度(Sparsity),因为当a<=0时,输出总是0, 每一层的神经元越多,结果就会越稀疏;另一方面Sigmoid总是会产生非零值,从而生成稠密表示(Dense Representations)。 稀疏表示(Sparse Representations )是学习变得更简单和快捷。

Sigmoid优势:

https://www.zhihu.com/question/342749179

 

sigmoid和tanh,它们全程可导。

 

 

 

 

 

 

posted on 2020-08-11 18:07  rin_riceroll  阅读(661)  评论(0编辑  收藏  举报