您当前的位置:首页 > 世界名著 > 科学之路

11 感知器的局限性

11
感知器的局限性

当收集到的示例中的C或D相差不大时,我们刚刚描述的方法可以发挥作用;但如果形状、大小或方向的差别太大(例如一个在图像角落里极小的C),那么感知器将无法找到可以区分C和D示例的权重组合。此外,经证实,某些类型的形状变化也是无法被感知器识别的。所有的线性分类器都存在这样的局限性,感知器只是其中一个例子。接下来我们探究一下为什么会这样。

线性分类器的输入端输入的是n个数字的列表,也可以用n维向量表示。从数学上讲,一个向量代表的是空间中的一个点,构成它的数字就是其坐标。对于一个有2个输入的神经元,输入空间是二维的(它是一个平面),一个输入向量代表平面中的一个点;如果神经元有3个输入,则输入向量对应一个三维空间中的一个点。在我们描述的C和D示例中,输入空间具有25个维度(图像的25个像素一一对应到神经元的25个输入)。也就是说,图像是由25个像素值组成的向量,它对应的是25维空间中的一个点。这是一个无法用画面呈现的超空间!

一个线性分类器,也就是麦卡洛克和皮茨所说的神经元阈值,将其输入空间分为两部分,即例如C的图像和D的图像。如果空间是一个平面(具有2个输入的神经元),则两部分之间的边界就是一条线;如果空间是三维的,则两部分之间的边界就是一个平面;如果空间维数是25,边界则应该是一个24维的超平面。总结来说,如果输入数据的个数为n,则该空间具有n个维度,分离曲面就是n–1维的超平面。

为了验证该边界确实是一个超平面,我们可以重写二维中的加权和公式,即向量w(权重)和向量x(输入像素值)的向量:

S=w[0]*x[0]+w[1]*x[1]

当此加权和为0时,我们就跨越在由线性分类器分隔出的两部分之间的边界上,因此,边界点满足等式:

w[0]*x[0]+w[1]*x[1]=0

也可写成:

x[1]=–w[0]/w[1]*x[0]

这就是一个直线方程!

当我们计算两个向量的向量积时,如果它们是正交的,则向量积等于0;如果两个向量之间的夹角小于90°,向量积为正;如果两个向量之间的夹角大于90°,向量积为负。因此,在第一种情形中,向量x就是所有与向量w正交的向量的集合。在n维情形中,它们形成n–1维的超平面。

不过问题就在这里,以下是我的论证。

我们来设想一个感知器,它只有2个输入,也就是一个有2个输入的神经元,而不是25个输入(5×5像素的网格)。我们在此感知器中添加第三个“虚拟”输入,其值始终等于–1。如果没有这个附加参数,分隔线必定经过平面原点;现在多了这个附加参数,两部分空间之间的分界线就有可能不再经过平面的起点,因为我们可以通过改变权重的方式自由移动边界线。

由此可知,这种非常基础的机器无法对某些输入的图像进行分类。(0,0),(1,0),(1,1),(0,1),这4个学习示例可以用4个点表示,映射到图上则展示如图3—6:

通过权重的配置,感知器可实现的函数是能够将点分为两个集合,分别进行分类。

通过观察图3—6,我们可以看到存在一条直线将(0,0)、(1,0)和(0,1)、(1,1)分开,但并不存在将(0,0)、(1,1)和(1,0)、(0,1)分开的直线。

图3—6 有2个输入的感知器

将两个黑点(0,1)和(1,0)对应为+1,两个灰点(0,0)和(1,1)对应为–1,这个函数被称为“异或”。不存在一条可以分开黑点与灰点的直线,或者说线性分类器(例如感知器)不能计算这个异或函数。图中的直线分别表示“与”函数:[对于(1.1)为+1,其他为–1)]和“或”函数[对于(0.0)为–1,其他为+1]。在二维情形下,16个布尔函数中只有两个不能线性分离;在高维空间中,只有极小一部分函数是线性可分离的。

如果一个函数在(0,0)点为0,在(1,1)点为1,在(1,0)点为1,在(0,1)点为0,则该函数称为“异或”。我们说它不是“线性可分离的”:输出为1的输入点是不能与输出为0的一条直线、一个平面或一个超平面分离的。

在下表中,每一行都是两个二进制输入的4种可能情况之一。带有编号的每一列代表一个特定的布尔函数在4个给定输入时对应的输出。总共有16个可能的函数(24),其中有14个函数可以通过线性分类器实现,只有2个函数无法实现(在最后一行中用N表示)。

p151

这个案例中涉及的是二维空间中的点,对应函数中两个输入图像的两个像素,所以这是人类能够看见的一个平面。

而一个真正的感知器能够在多维空间上工作。当我们想让感知器区分稍微复杂或变化较大的形状、位置等时,经常会遇到刚才描述的情况,只不过这种情况是“高”维度的。

对感知器而言,如果输入向量与权重向量形成锐角,则加权和为正;如果为钝角则加权和为负。正负之间的分隔边界是与权重向量w正交的点x的集合,因为w和x的向量积为0。在n维空间中,边界方程为:

w[0]*x[0]+w[1]*w[1]+w[2]*w[2]…w[n–1]*x[n–1]=0

它是一个n–1维的超平面。

感知器通过一个超平面将空间分成两半。我们希望在超平面的“一侧”呈现所有使C图像检测器处于活跃状态的点,在“另一侧”呈现所有使C图像检测器处于非活跃状态的点。如果真的存在这样的超平面,则感知器能够通过不断的学习找到它;如果这样的超平面不存在,也就是说,这些点不是线性可分离的,即使感知器无限次地修改权重,也无法收敛到稳定且唯一的权重配置。

我们为什么要进行这个论证?因为它解释了20世纪60年代初期困扰研究模式识别学者的难题,而这些专家也因此推断出感知机器的功能有限,无法用它来识别自然图像中的物体。

事实上,当输入数据的维数足够大、示例众多且复杂时,例如成千上万张狗、猫、桌子和椅子的照片,它们的类别很有可能不是线性可分离的,也就是说无法被直接与像素相连接的感知器识别。即使在简单的C和D的示例中,如果字母的形状、位置或大小有很大的差异,感知器也无法对C和D进行分类。

西摩尔·帕普特和马文·明斯基在1969年出版的著作《感知器:计算几何学概论》[1]葬送了感知器的未来,这使相关的研究人员更加沮丧。这次机器学习研究的停顿在人工智能的历史中扮演了重要的角色,它导致我们走入了上文提到的人工智能的几个寒冬期(低谷)里的一个,使研究受阻的科学界转变了研究方向。

对当代读者而言,这个论证的好处就是提供了另一个了解机器学习的角度。

[1] Marvin L. Minsky, Seymour A. Papert,Perceptrons : An Introduction to Computational Geometry, op. cit.

上一章 封面 书架 下一章