3.6 为什么需要( 非线性激活函数?(why need a nonlinear activation function?)

假设所有的激活函数都是线性的,直接令激活函数g(z)=zg(z)=z,即a=za=z

z[1]=W[1]x+b[1]z^{[1]}=W^{[1]}x+b^{[1]}
a[1]=z[1]a^{[1]}=z^{[1]}
z[2]=W[2]a[1]+b[2]z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}
a[2]=z[2]a^{[2]}=z^{[2]}
a[2]=z[2]=W[2]a[1]+b[2]=W[2](W[1]x+b[1])+b[2]=(W[2]W[1])x+(W[2]b[1]+b[2])=Wx+ba^{[2]}=z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}=W^{[2]}(W^{[1]}x+b^{[1]})+b^{[2]}=(W^{[2]}W^{[1]})x+(W^{[2]}b^{[1]}+b^{[2]})=W'x+b'

多层隐藏层的神经网络,如果使用线性函数作为激活函数,最终的输出仍然是输入xx的线性模型。这样的话神经网络就没有任何作用了。因此,隐藏层的激活函数必须要是非线性的

如果是预测问题而不是分类问题,输出yy是连续的情况下,输出层的激活函数可以使用线性函数。如果输出yy恒为正值,则也可以使用ReLUReLU激活函数

Last updated