欢迎光临散文网 会员登陆 & 注册

为什么神经网络必须使用非线性的激活函数?

2023-10-04 15:40 作者:小黑黑讲AI  | 我要投稿

神经网络之所以可以拟合任意函数,其中一个关键原因是,在神经元中使用了非线性的激活函数。

下面我们用一个例子来说明这个问题:

 

设置一个三层神经网络,第1层是输入层,输入特征x1、x2和偏置1。

 第2层是隐藏层,包含A、B、C三个神经元。

 第3层是输出层,有一个神经元D。神经网络最终输出y。

 其中A、B、C、D的权重使用小写字母a、b、c、d来代表。

在神经网络中,如果激活函数是线性的,那么不管网络有多少层,都会等价于一个无隐藏层的线性模型:

下面我们将激活函数设置为h(x)=x,来说明这一结论。

计算神经网络的输出y,它等于神经元D的权重d1、d2、d3分别乘以神经元A、B、C的输出,再累加到一起。

其中A=a1x1+a2x2+a0,同理可以计算出B和C的值。

将A、B、C的输出带入到y的表达式中,然后将表达式展开,并进行调整。

这时可以得到一个关于x1和x2的线性结果。

这里x1、x2和偏置的系数都是常数,因此神经网络的输出y,依然是关于x1和x2的线性变换。很明显,该神经网络是无法解决非线性问题的。

总结来说,一个没有非线性激活函数的神经网络,无论堆叠多少层,该神经网络仍然只是一个线性变换。

那么到这里,为什么神经网络必须使用非线性的激活函数,就讲完了,感谢大家的观看,我们下节课再会。

为什么神经网络必须使用非线性的激活函数?的评论 (共 条)

分享到微博请遵守国家法律