机器与人类智能的差距

很多人以为“人工智能”就快实现了,是因为他们混淆了“识别”和“理解”。现在所谓的“人工智能”离真正的智能差的实在太远。有多远呢?真正的工作几乎没有开始。


语言

对于语言,人们常常混淆“语音识别”和“语言理解”,AI 研究者们很多时候还故意把两者混淆起来。所以你经常听他们说:“机器已经能理解人类语言了!” 这些都是胡扯。机器离理解人类语言差距非常远。

现在的机器只是“语音识别”,它知道你说的是哪些字,却不能理解你说的什么“意思”。即使加上所谓“知识图谱”,它也不能真的理解,因为知识图谱跟一本同义反义词典差不多,只不过多了一些关系。这些关系全都是文字之间的关系,它停留在文字/语法层面,而没有接触到“语义”。

语义根本不是文字,而是更深一层的信息。语义是什么呢?举个例子。如果你听到“猫”这个字,你的脑子里就出现关于猫的很多信息,它们是什么样子,有什么行为,等等。这些是具体形象的信息,它是人对“猫”这个概念的很多经验,这不是文字可以表示的。我把这种信息叫做“常识”。

知识图谱的研究者们试图把词语归一下类,找找其中的关系(IS_A 之类的),以为就能够理解人类语言。可是你们想过人类是如何理解语言的吗?许多人都不知道这些词语之间有什么关系。什么近义词,反义词,IS_A…… 这些学术概念在小孩子的头脑里根本就没有,可是他们却能理解你在说什么,因为他们的脑子里有常识。

所以知识图谱不大可能解决语言理解的问题,它只浮于表面。

要想产生语义,机器必须拥有人的“常识”。常识到底是什么数据,如何获得常识,如何表示,如何利用,谁也不知道。所以理解人类语言是一个毫无头绪的工作,根本不像 AI 专家们说的“已经实现了”。

如果不能真的从语义层面理解人类语言,什么“智能客服”,“智能个人助手”,全都只能扯淡。做个玩具忽悠小孩可能还行,真的要用来理解和处理“客服工作”,还是放弃吧。


视觉

对于视觉,AI 领域混淆了“图像识别”和“视觉理解”。深度学习视觉模型只是从大量数据拟合出从“像素->名字”的函数,能从一堆像素识别出图中物体的“名字”,但它却不知道那个物体“是什么”,无法对物体进行操作。

机器必须要能真的理解物体是什么,它有哪些组成部分,它们的边界在哪里,大概有什么性质…… 才能有效的对它采取行动,达到需要的效果。否则这个物体只是一个方框上面加个标签,不能精确地进行判断和操作。

以像素为基础的图像识别,恐怕是没法像人一样准确的识别物体的。人的视觉系统并不是简单的“拍照+识别”,而是“观察+理解+观察+理解+观察+理解……”,是一个动态的,反复的过程。感官接受信息,中间穿插着理解,理解反过来又控制着观察的方向和顺序。

人和动物的眼睛与摄像头有着本质的差异。眼睛都是会转动的,它被脑神经控制,敏捷地跟踪着感兴趣的部分。人和动物的视觉系统能够精确地理解物体的“形状”,理解“拓扑”关系,而且这些都是 3D 的。人脑看到的不是像素,而是一个 3D 拓扑模型。

人能理解物体的表面是连续的还是有洞,是凹陷的还是凸起的,分得清里和外…… 他能理解物体的表面是什么质地的,如果用手去拿会有什么样的反应。他能想象出物体的背面大概是什么样子,他能在头脑中旋转或者扭曲物体的模型。

这就是为什么人可以理解抽象画,漫画,玩具。虽然世界上没有猫和老鼠长那个样子,一个从来没看过《猫和老鼠》动画片的小孩,却知道这是一只猫和一只老鼠,后面有个房子。你试试让一个没有拿《猫和老鼠》剧照训练过的深度学习模型来识别这幅图?

人脑理解“拓扑”的概念,这使得人能够不受具体像素限制而正确处理各种物体。其中特别困难的一种,是像衣服这种柔性物体。衣服是可以几乎随意变形的,上面有几个洞。“叠衣服”这种对于人类斯通见惯的事情,对于机器是无比困难的。现在的机器人连桌上的杯子都无法准确地拿起来,就别提这些高难度的物体了。

理解穿插在了识别物体的过程中,“观察/理解”成为不可分割的整体。人看到物体的一部分,理解了那可能是什么,然后继续观察它周围是什么…… 理解使得人对物体的识别非常准确,甚至可以在信息不完整,模糊,扭曲的情况下工作,在恶劣的天气环境下,有反光的情况下也能识别物体。

深度神经网络从来没有考虑过这些问题,其中根本没有理解的成分存在,又何谈实现人类级别的视觉能力呢?

现在的深度学习模型都是基于像素的,没有抽象能力,不能构造 3D 拓扑模型。缺乏人类视觉系统的这种“拓扑抽象理解”能力,可能就是为什么深度学习模型需要那么多的数据,那么多的计算,而小孩子识别物体根本不需要那么多数据和计算,看一两次就知道是什么了。

说白了,“深度神经网络”跟神经元的关系是很肤浅的。“神经网络”应该被叫做“可求导编程”,说白了就是利用微积分,用大量数据拟合出一个函数,所以它只能做拟合函数能做的事情。可是拟合出来的函数也不是那么可靠。人们已经发现,微妙地修改图片上的一些像素,人完全看不出来图片改过,却能让深度神经网络输出完全错误的结果。

神经网络为什么会有这种缺陷呢?因为它只是拟合了一个粗略的函数,这函数碰巧能概括输入的许多数据。被“训练”调整出来的那些“参数”,往往是不可解释的,因为它们存在的目的只是把数据拟合出来,而没有任何意义。

AI 人士给这种“不可解释性”找借口,说神经网络的数据虽然不可解释,但它却出人意料的有效。那些数据其实就是知识!真的那么有效吗?那为什么能够被如此轻易的欺骗呢?这些“学习”得到的参数很可能根本就不是本质的东西,而是一堆毫无道理可言的数字,只为了把像素拟合起来降低误差,所以神经网络才能被钻空子。

人为什么看不出来这些图片被改过呢?因为人提取了高级的拓扑结构,所以人的判断不受少数像素修改的影响。所以人的视觉系统很可能是跟深度神经网络原理完全不同的,或者只有最低级的部分(比如线条检测)有相似之处。

脑科学研究者很可能并没有完全搞明白神经元是如何工作的,神经元与神经网络的关系是肤浅的。每当你质疑神经网络与神经元的关系,AI 研究者就会抬出 Hubel & Wiesel 在 1959 年拿猫做的那个实验:“有人已经证明了神经元就是那样工作的!”

可是你想过没有,为什么到了 2019 年,人们还拿一个 60 年前的实验来说明问题?这 60 年来就没有新的发现了吗?而且从 H&W 的实验你可以看出来,它只说明了猫的视觉神经有什么样的底层功能(能够检测“线条”),却没证明那就是全部的功能,也没有说视觉系统就是“神经网络”那个样子。

实验用的是一只麻醉后不能动弹的猫,所以他们并没有对更高级的功能进行实验。H&W 的实验只揭示了最底层的“线条检测”功能,却不知道上层是如何组合在一起的。很自然的,能够识别拓扑结构的视觉系统,应该能检测到连续的“线条”,但它应该不止有那个功能。

视觉系统应该还有更高级的特征我们没有发现,或者发现了,却被 AI 研究者忽略了。现在的深度神经网络把一堆像素操作堆在一起,然后对大量数据进行“学习”,以为学习都能得到所有的功能。设计新的神经网络,基本跟以前的“炼丹术士”的做法一样,这改改那改改,训练一下准确率提高了,就发 paper。至于为什么效果会好一些,其中揭示了什么原理,不知道。我很怀疑这样的研究方式能够带来什么质的突破。

虽然 Hubel & Wiesel 对生理学做出了杰出的贡献,然而我们应该看到,这只是一个开端,这一切的研究只处于理解视觉系统原理的初级阶段。拿一个初步的实验结果作为“终极答案”,这不是 Hubel & Wiesel 的错,只能怪后人断章取义。

如果没有真正的视觉理解,依赖于图像识别技术的“自动驾驶车”,是不可能在复杂的情况下做出正确操作,保障人们安全的。机器人等一系列技术,也只能停留在固定场景,精确定位的“工业机器人”阶段,而不能在复杂的自然环境中行动。

我认识一些工业机器人的研究者。他们告诉我,深度神经网络那些识别算法太不精确了,根本没法用于准确性要求很高的应用。工业机器人控制不精确,后果是灾难性的,完全不可接受,所以他们都不用深度神经网络来控制机器人。

要实现真正的语言理解和视觉理解是非常困难的。真正的 AI 其实没有起步,AI 专家们忙着忽悠和布道,根本没人关心其中的本质,又何谈实现呢?我不是给大家泼凉水,初级的识别技术还是有用的,而且蛮有趣的。但除非真正有人关心到问题所在,真的去研究本质的问题,否则实现真的 AI 就只是空中楼阁。我只是提醒大家不要盲目乐观,不要被忽悠了。

ikbc C104 机械键盘 有线键盘 游戏键盘 104键 原厂cherry轴 樱桃轴 吃鸡神器 笔记本键盘 白色 茶轴 自营