转自:激活函数Relu 及 leakyRelu_有丝吼的博客-CSDN博客_leaky relu
Relu 及 leakyRelu是深度学习中常用的激活函数,看了几篇博客后,做一个小的总结。
1. Relu:
数学表达式:a = max(0, z)
函数图像为:
优点:由上图可以看出,Relu得到的SGD的收敛速度较快
缺点:训练的时候很容易‘die'了,对于小于0的值,这个神经元的梯度永远都会是0,在实际操错中,如果learning rate很大,很可能网络中较多的神经元都'dead'了,即使是较小的learning rate,这种情况也很有可能发生。
为了解决以上的问题,提出了leakyRelu激活函数:
2. leakyRelu:
数学表达式:y = max(0, x) + leak*min(0,x) (leak是一个很小的常数,这样保留了一些负轴的值,使得负轴的信息不会全部丢失)
leakyRelu的图像:
3. 在tf中的实现:
Relu在tf中有官方的实现,可以直接调用函数 tf.nn.relu( features, name= None )
leakyRelu的简单实现可以这么写: tf.maximum(leak * x, x),
比较高效的写法为: