几种激活函数的对比(二)

(4)Leaky ReLU

ReLU是将所有的负值设置为0,造成神经元节点死亡的情况。相反,Leaky ReLU是给所有负值赋予一个非零的斜率。

优点:

(1)神经元不会出现死亡的情况。

(2)对于所有的输入,不管是大于等于0还是小于0,神经元不会饱和

(3)由于Leaky ReLU线性、非饱和的形式,在SGD中能够快速收敛。

(4)计算速度要快很多。Leaky ReLU函数只有线性关系,不需要指数计算,不管在前向传播还是反向传播,计算速度都比sigmoid和tanh快。

缺点:

(1)Leaky ReLU函数中的a,需要通过先验只是人工赋值。

RReLU

RReLU的英文全称是“Randomized Leaky ReLU”,中文名字叫“随机修正线性单元”。

特点:

(1)RReLU是Leaky ReLU的random版本,在训练过程中,a是从一个高斯分布中随机出来的,然后在测试过程中进行修正。

(2)数字形式与PReLU类似,但RReLU是一种非线性激活函数,其参数是随机的。

ELU

ELU的英文全称是Exponential Linear Units,中文全称是“指数线性单元”。它试图将激活函数的输出平均值接近零,从而加快学习速度。同时,它还能通过正值的标识来避免梯度消失的问题。根据一些研究显示,ELU分类精度高于ReLu的。

优点:

(1)ELU包含了ReLU的所有优点。

(2)神经元不会出现死亡的情况。

(3)ELU激活函数的输出均值是接近于零的。

缺点:

(1)计算时需要计算指数的,计算效率低。

Maxout

Maxout "Neuron"是由Goodfellow等人提出的一种很有特点的神经元,它的激活函数,计算的变量,计算方式和普通的神经元完全不同,并有两组权重。显得到两个超平面,再进行最大值计算。激活函数是对ReLu和Leaky ReLU的一般化归纳,没有ReLU函数的缺点,不会出现激活函数饱和神经元死亡的情况。缺点是参数增加了1倍。

如何选择激活函数?

(1)通常来说,不能把各种激活函数串在一个网络中使用。

(2)如果使用ReLU,一定要小心设置学习率,并且要注意不要让网络中出现很多死亡神经元。如果死亡神经元过多的问题不好解决,可以试试Leaky ReLU, PReLU或者Maxout.

(3)尽量不要使用sigmoid激活函数。

参考:https://blog.csdn.net/qq_42422981/article/details/89561955

 

posted @ 2020-02-20 20:46  我们都是大好青年  阅读(484)  评论(0编辑  收藏  举报