为什么隐含层激活函数使用tanh比sigmoid更好
比较tanh和sigmoid函数
tanh函数的取值范围在[-1,+1]之间
sigmoid函数取值范围在[0,1]之间
原因
我们知道,sigmoid,tanh他们都是数值越是靠近正无穷或者负无穷,对应的梯度越小,参数更新也就越慢,因此我们总是希望输入接近0,这样可以使得梯度更大,参数更新越快。在实际应用中,使|z|尽可能限定在零值附近,从而提高梯度下降算法运算速度。
因此,普遍情况下,tanh比sigmoid在隐含层作为激活函数更好。
怎么选择激活函数
如果是分类问题,输出层的激活函数一般会选择sigmoid函数。
但是隐藏层的激活函数通常不会选择sigmoid函数,tanh函数的表现会比sigmoid函数好一些。实际应用中,通常会会选择使用ReLU或者Leaky ReLU函数,保证梯度下降速度不会太小。
其实,具体选择哪个函数作为激活函数没有一个固定的准确的答案,应该要根据具体实际问题进行验证(validation)。