神经网络学习笔记:relu & sigmoid 激活函数对比

激活函数

  • Rectified Linear Unit(ReLU) - 用于隐层神经元输出
  • Sigmoid - 用于隐层神经元输出
  • Softmax - 用于多分类神经网络输出
  • Linear - 用于回归神经网络输出(或二分类问题                   

    Softmax激活函数只用于多于一个输出的神经元,它保证所以的输出神经元之和为1.0,所以一般输出的是小于1的概率值,可以很直观地比较各输出值。

2. 为什么选择ReLU?

    深度学习中,我们一般使用ReLU作为中间隐层神经元的激活函数,AlexNet中提出用ReLU来替代传统的激活函数是深度学习的一大进步。sigmoid函数的图像如下:

神经网络学习笔记:relu & sigmoid 激活函数对比_第1张图片

对sigmoid求导,结果为dg = g(1 - g),函数图像如下图:

神经网络学习笔记:relu & sigmoid 激活函数对比_第2张图片

从上图可以看到梯度小于1/4, 且两边的梯度越来越小,容易造成梯度消失的情况。

而Relu的导数则不一样,x>0时,dg = 1, x<00时dg=0.。

relu函数如图:

神经网络学习笔记:relu & sigmoid 激活函数对比_第3张图片

求导后的Relu函数如下图:

神经网络学习笔记:relu & sigmoid 激活函数对比_第4张图片

 

对比sigmoid类函数主要变化是:1)单侧抑制 2)相对宽阔的兴奋边界 3)稀疏激活性。这与人的神经皮层的工作原理接近。

relu的稀疏性应该是其次的,更主要的作用还是防止梯度弥散,第三个作用是加快计算

 

 

 

你可能感兴趣的:(神经网络)