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),
          比较高效的写法为:
              



Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐