之前提到了“线性可分”这个词,我们不必纠结它的数学定义,就从字面意思去理解就可以了:如果把逻辑与(AND)、或(OR)、非(NAND)运算作为输入数据,按照 0、1 值构成二维的坐标平面,并把逻辑运算结果为 1的用方块表示,结果为 0 的用圆圈表示,就形成了如图 4-17 所示的内容,三种逻辑运算都能够很直观地通过一条直线将这个二维坐标平面中的数据划分开来。
在《感知机:计算几何学导论》一书里,明斯基和派普特使用数学方法证明了感知机在处理线性可分的数据时,其学习过程可以使权重收敛到一个稳定值,换句话说,感知机处理线性可分问题是可行的。但是他们同时也指出了感知机的致命弱点:“感知机能解决线性可分的问题,但是它也只能解决线性可分的问题。”两位教授同样用数学方法证明了感知机,更准确地说是单层感知机不能处理非线性数据的分类问题,其中最典型的就是“异或问题”。异或运算(XOR,是一种逻辑析取操作,当两个运算元的值不同时结果为真)也是一个很基本的逻辑运算,如果连这样的问题都解决不了,那感知机的处理能力确实是有极大局限性的。我们可以直观地从图 4-18 中看到,对于代表异或的图形,确实没有办法通过一条直线把方块和圆圈划分开。
在证明单层感知机能力不足的同时,明斯基在书中还试图将当时只存在于少数人大脑构想中的多层感知机(MultiLayer Perceptron,MLP)的出路也一并堵死。虽然明斯基并没有进行严格的证明,但是他的灵敏的数学直觉告诉他多层感知机应该是能够处理非线性的分类问题的<sup>○一</sup>,因为这一点在简单的低维度的样例中很容易体现出来。如果延续我们之前的例子,只需要在网络中增加一个“隐层”(Hidden Layer,这是神经网络的概念,神经网络中除去输入层、输出层外的中间层被统称为隐层),按照图 4-19 中标注的数值来设置连接线的权重和神经元的阈值,就可以轻而易举地实现逻辑异或运算<sup>○二</sup>。
130
第二部分 学派争鸣