Sigmoid对比ReLU
来源:3-3 逻辑回归(2)
谢思阳
2020-02-24
不太清楚这个问题放在这里是否合适。现在机器视觉中是不是已经不再使用Sigmoid转而使用ReLU了?我以前得到的解释是使用Sigmoid会让训练变得很困难,所以Sigmoid是比较传统的方法,而现在基本都用ReLU,我还见过使用Leaky ReLU。老师是否可以解释一下?
1回答
-
同学你好,这是个很好的问题,flare老师在第8章卷积神经网络的章节也有提及“为什么CNN结构使用relu替代sigmoid作为激活函数”。flare老师和大家分享常用激活函数的优缺点:
sigmoid:
很直观的反映了二分类任务的事件可能性(概率),通过引入双边极值稳定的非线性函数关系能有效地模拟神经元信息机制,在逻辑回归与神经网络中被广泛使用。
缺陷:双边区域数值饱和(x很大或很小)导致随着x变化带来的y变化很小,导数趋于零,容易造成模型求解梯度消失问题。当我们建立一个复杂的神经网络,比如用于机器视觉的卷积神经网络,多层信息传递后,对模型进行反传导的梯度求解会存在梯度消失的情况,导致无法找到最优解。
tanh:和sigmoid挺像的,也是双边极值稳定的非线性函数关系,而且因为正负方向以原点对称,输出均值是0(与很多样本的分布均值接近),使得其收敛速度要比sigmoid快,减少迭代次数。也存在梯度消失问题。
relu:全称是Rectified Linear Units,是一种后来才出现的激活函数。
可以看到,当x<0时,ReLU饱和,而当x>0时,则不存在饱和问题。所以,ReLU 能够在x>0时保持梯度不衰减,从而缓解梯度消失问题。相比于纯线性的激活函数,relu函数存在梯度不相同的两个区域,从而能实现非线性关系的拟合。
然而,随着训练的推进,部分输入会落入硬饱和区,导致对应权重无法更新。这种现象被称为“神经元死亡”。为了解决这个问题,就有了Leaky Relu我们可以看到,Leaky Relu对原来relu的饱和区域做了调整,以解决x<0区域的梯度消失问题。
622020-02-25
相似问题