top of page
アンカー 1

一、前文回顾

上一节我们通过神经元模拟了逻辑与,非,或门。你会发现他们的构造其实一样的,都是一个神经元,不同的是权重值不一样,那么同样的方法我们来模拟一下另外一个逻辑电路。

二、异或门(XOR gate)

异或门就是对于两个输入信号x1或者x2,相同则输出0,相异则输出1.

那么神经元也可以通过人工设定权重来实现异或门吗?很肯定的告诉你:不行!!我们先回顾一下或门。当权重参数(w1,w2,b)=(1.0,1.0,-0.5)的时候,我们就可以用神经元来构造一个或门。(下图所示)


为了更直观的了解它,我们用二维坐标图来看一下。上图神经元所表示的其实就是用一条x1+x2-0.5=0的直线把二维平面分割成两部分,一边的值为0,一边的值为1。正如下图点虚线把二维平面分割为两部分,灰色部分为0,另外一边为1。


因为当(x1,x2)=(0,0)的时候或门输出为零,其余输出为1,所以在二维坐标里面我们用▲代表1,●代表0。你会发现我们的这条直线很完美的把0和1都分开了。那么在回头再看看XOR门,同样的在二维坐标用▲和●标出0和1的值。你会发现无论你怎么画,都不可能画出一条完美的把0和1区域分开的直线(如下图所示,只有曲线可以划分)。


这便是神经元的极限:它可以模拟与,或,非门,但是却无法模拟异或门。所以我们要换个思路来思考:把神经元组合起来试试(下图所示),看能不能解决异或门这个难题。


x1和x2分别代表初始输入信号,s1代表非门(NAND)的输出,s2代表或门(OR)的输出,s1和s2又分别作为与门(AND)的输入,y是与门的输出。整理一下真理值表


三、总结

因为异或门在二维平面不可以被直线分割(也可以称为非线性),所以神经元无法模拟异或门,但是通过三个其他神经元(与门,或门,非门)的组合便可以完美解决这个问题。而这三兄弟的组合我们就可以称为一个神经网络。为了庆祝这个神经网络的诞生,我给他取了一个霸气的名字:小D。所以下节的主题便是【小D的诞生】。

bottom of page