因为线性激活函数是无界的。
对于线性函数来说,你的定义域是很大,其值域也很广——其绝对值会大于1。
在人工神经网络中,我们需要的激活函数的值域的绝对值往往应该局限在0到1之间。为什么?
比如我们要判断一个图片中有没有猫,有猫输出1,没猫输出0。因此,我们不需要激活函数输出一个8或者123这样的大数字,所以我们不能使用线性激活函数。因为线性激活函数是很容易突破绝对值小于等于1的这个限制的。
那么,你想想,有什么函数的值域的绝对值是小于等于1的呢?最简单的能想到的就是三角函数,比如sin 或者cos函数,但这两个函数具有周期性,没有单调性,也不太好。所以,最后人工智能专家用的激活函数一般是sigmoid、tanh函数。这两个函数都是有界的,而且是单调函数,用起来很舒服。当然你可以选择别的非线性激活函数的。
另外,补充2点:
1.在上面那个猫的例子中,如果输出0.98,意思是有猫的概率为98%。
2.tanh函数可以与狭义相对论中的洛伦兹变换在数学上挂钩,它的有界性对应于物理上就是光速不可超越。
联系客服