在说激励函数之前,我想先说一下softmax这个函数。
我之前一直认为softmax是激励函数,但是感谢我的室友建哥纠正了我(什么时候我的深度学习可以像建哥一样优秀,我就满足了)。softmax模型可以用来给不同的对象分配概率,将n分类的n个输出,变为满足以下概率分布要求的函数。简单点说,softmax函数是一个分类函数。
激活函数:运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层的神经网络。在很多情况下,神经网络之所以能解决非线性问题(语音,图像识别),本质上就是激活加入了非线性因素,弥补了线性模型的表达力,把“激活的神经元特征”通过函数保留并映射到下一层。
- Sigmoid函数的有点在于,他的输出映射在(0,1)内,单调连续,非常适合作用输出层,并且求导比较容易(x*(1-x)),缺点是容易产生梯度消失。
- tanh收敛速度比sigmoid快,但是也无法解决梯度消失的问题。
tan h=(1-e^-2x)/(1+e^-2x) - rule:f(x)=max(x,0),softplus:f(x)=log(1+exp(x))
rule在x<0时导数为0,在x>0时导数为1,所以rule在x>0时保持梯度不衰减,从而缓解了梯度消失问题。在机器学习中有一句话,天下没有免费的午餐。我们很多时候都会用rule函数,但是rule会随着训练的进行导致部分权重无法更新,神经元死亡。