为什么隐含层激活函数使用tanh比sigmoid更好
比较tanh和sigmoid函数
tanh函数的取值范围在[-1,+1]之间

sigmoid函数取值范围在[0,1]之间

原因
我们知道,sigmoid,tanh他们都是数值越是靠近正无穷或者负无穷,对应的梯度越小,参数更新也就越慢,因此我们总是希望输入接近0,这样可以使得梯度更大,参数更新越快。在实际应用中,使|z|尽可能限定在零值附近,从而提高梯度下降算法运算速度。
因此,普遍情况下,tanh比sigmoid在隐含层作为激活函数更好。
怎么选择激活函数
如果是分类问题,输出层的激活函数一般会选择sigmoid函数。
但是隐藏层的激活函数通常不会选择sigmoid函数,tanh函数的表现会比sigmoid函数好一些。实际应用中,通常会会选择使用ReLU或者Leaky ReLU函数,保证梯度下降速度不会太小。
其实,具体选择哪个函数作为激活函数没有一个固定的准确的答案,应该要根据具体实际问题进行验证(validation)。
本文探讨了在神经网络中,为何tanh激活函数通常优于sigmoid。tanh函数的输出范围在[-1,1],相比sigmoid的[0,1],能提供更均衡的正负输出,减少梯度消失问题。由于靠近0时梯度较大,tanh能加速训练过程。在选择激活函数时,分类问题通常在输出层使用sigmoid,而隐藏层则偏好tanh或ReLU家族函数。实际应用中,应根据问题验证激活函数的效果。
1万+

被折叠的 条评论
为什么被折叠?



