王垠:AI噱头

中国的互联网产业,人工智能,显然是非常受重视的。没有其它国家的人有这么热衷于“人工智能”和“高科技”,成天各种浮夸,布道,洗脑。
AI 是有用的,但并不是像中国大佬们吹嘘的那样似乎是唯一可以做的事情,革命性的产业。“人工智能”(AI)这个词根本就是噱头,从一开头就是噱头。“神经网络”也跟神经没有任何关系。这个领域靠“智能”和“神经”这两个词,骗了一代又一代人。
真正起作用的技术,叫做“机器学习”(Machine Learning)或者“深度学习”(Deep Learning)。我喜欢把它叫“机器学习”,因为“深度学习”就是“机器学习”改进了一下而已,去掉了以前的一些缺陷,它并没有概念上的突破。因为之前人们对“机器学习”产生了失望,为了市场效益换了一个更吓人的名字而已。有深度!
等你看透了机器学习,就会发现它真的很有用,甚至可以说是优美的理论,因为它根本就是改头换面之后的微积分!它是牛顿,莱布尼兹古老而伟大的理论,以更加简单,优雅而强大的形式出现。
机器学习基本就是利用微积分求导,拟合一些函数,深度学习就是拟合更加复杂的函数。而各种“深度学习框架”(TensorFlow,PyTorch,MxNet……),就是用来描述这些函数所用的“编程语言”。
跟普通语言的不同点在于,这些语言是“可求导”的(differentiable)。用这些语言写出来的函数,你可以得到它们的导数。有了导数,你就可以用“梯度下降法”调整参数,使得误差最小化,然后你就拟合出了一个函数。
所有这些,都是古老的统计学方法的扩展。我不得不承认它们是非常好的改进,可以说是具有“美感”的。我好长一段时间都沉浸在对这些美丽的理论的思考之中。
微积分是非常有用的,但却不是万能的,你可以从概念上理解它能做什么,不能做什么。深度学习在某些领域有很大的价值,但它跟“智能”没有什么关系。深度学习拟合的函数可以告诉你图片上的物体名字叫“狗”,但它并不知道狗“是什么”。
深度神经网络(比如 ResNet)可以判断出图片上很多东西的“名字”,甚至比大部分人知道的名字还多,但它并不知道那些东西“是什么”。它看到的只是一堆像素,然后通过复杂的计算,给你一个“名字”。没有理解,也没有常识。
ResNet 拿 ImageNet 训练之后,在识别能力上当然可以“超越人类”。我自己看了 ImageNet 里面的那些图片,好多东西我根本就没见过,或者不知道是什么。世界上有那么多种类的花,那么多种类的树,那么多种动物,各种奇怪的海底生物,那么多的明星演员,那么多的人造日用品,各种各样的飞机船只,那么多的古董文物,非洲的图腾,太平洋小岛上出产的水果…… 我看了也不知道它们叫什么名字,我也不在乎。这种题我当然做不过 ResNet!
但我知道猫和狗是什么。我知道它们的很多特征,它们发出什么样的叫声,是什么样的构造,它们吃什么样的食物,会有什么样动作,什么样的行为…… 你拿千万张猫和狗的图片或者视频给 ResNet,或者其它神经网络,它能知道这些吗?
这就是我所谓的“常识”或者“理解”,你可能没想到这对于机器而言有多难。
如果我遇到从来没见过的东西,我不知道它叫什么名字。可是我观察一会儿,玩一会儿,我就知道它大概是什么类型的东西。我可以发现怎么和它互动,它可能有什么用处,它是什么样的结构…… 研究透了之后,我发现以前没人见过这种东西,我可能给它起个名字。
所以我虽然不知道一个东西的“名字”,但我却可以知道它“是什么”。我们应该清楚地区分“知道一个东西的名字”和“知道一个东西是什么”。
ResNet 能做这些事情吗?不能。它只知道一些东西的名字,许许多多东西的名字,它却不知道它们“是什么”。它只能等我把这东西照了相给它,然后告诉它名字。经过训练之后,它下次再看到这东西,可能就能告诉我它的名字。但到最后,它仍然只知道东西的名字。
我不是说 ResNet 没用,它非常有用。我会拿它当字典查,我可以用它做图片搜索,做很多有趣的,前所未见的事情。可是它不具有智能,我有。它只是我的工具。
没有人知道如何实现“常识”和“理解”,甚至没有人真的知道它们是什么。人的视觉系统看到的只是一堆像素吗?人的理解能力在观察中起了什么作用?到底什么是“智能”?…… 一系列深刻的问题,深度学习根本没能回答,甚至没有人思考这些事情。
所以深度神经网络所谓“超人类”的视觉能力,其实是一个字典。它记住了一些数据,然后加了一点“平滑”,拟合出一个从“图片==>名字”的函数。任何一部字典都超越了所有人的记忆能力,可是字典有智能吗?就是这么一个东西,让不明觉厉的人以为“智能”即将实现,让别有用心的人借机大肆忽悠。
中国大佬们全都在浮夸 AI 的能力,每每上台说得天花乱坠,跟科幻电影似的。作为一个“深度学习工程师”,成天研究和折腾深度学习框架,这些我都看在眼里,记在心里,一直没好说出来。这些布道 AI 的大佬们,到底有没有碰过代码,有没有训练过模型,知不知道深度学习到底是什么……
很多深度学习工程师,数据科学家都知道这些,默默无闻做着真正有价值的事情。他们的老板们,各位“大佬”,一知半解,却到处宣讲和浮夸。各种 AI 书也充斥着市场,大佬们写鼓吹 AI 的书,各种外行名人们,甚至娱乐圈的人也写鼓吹 AI 的书,都想借着 AI 的热潮捞一把。如此的铺天盖地而来,真是让人怀疑,中国人还有没有节操?
“智能”这个东西,根本还没开始思考,没开始动手,完全没有头绪,就在天天叫嚣着“快要实现了”,“真的要来了”。最大的忽悠主题就是自动驾驶,智能客服,甚至自动编程。这些根本就是机器学习做不到的事情。
一辆没有真的理解能力的“自动驾驶车”,你敢坐吗?就算它知道摄像头上每一个位置的物体叫什么名字,它却不知道它们是什么,它没有这个“概念”。

如果不理解那些东西是什么,有什么样的性质,会发生什么样的事情,它会知道如何反应吗?这可不是打几个文字标签那么简单,“软的”,“硬的”…… 它需要拥有一个人从小到大对所有这些东西的“经验”和“常识”。我们连自己脑子里的“常识”是什么,它在我们脑子里是以什么形式存在,如何起的作用,全都不知道!
常识并不是文字可以表达的。挺多人试图用文字来表达常识,比如“知识图谱”在单词之间建立一些“关系”,以为可以表示“知识”,结果没有很好的效果。

常识并不停留在语言的层面,我们对事物的常识并不是文字。想一想你对猫的常识,你可以栩栩如生的“想象”出一只猫来。看到一只猫,你可以想象出它会有什么样的行为。这些并不是文字和它们之间的关系可以表达的。
一辆没有常识的自动驾驶车,它永远无法理解周围正在发生什么。同样的道理也可以说明“智能客服”,其它各种需要“理解”的事情,根本无法做到。
注意我不是说 AI 完全是忽悠。我当然看好某些机器学习应用,把好钢用在刀刃上的地方。这些包括人脸识别,公安检测系统,医学影像处理,金融分析,网络攻击检测,推荐系统,甚至广告推送和市场营销…… 这些都可以服务于我们。就算做不到非常准确,都会是很有用的工具。
可是为什么各位大佬每次出台总是提“自动驾驶”,“智能助理”,“智能客服”?总是好像能取代很多人的工作,而其实根本就不可能。机器学习是很好的工具,可以帮助我们,可是几乎完全没有能力取代人。我说的可不是什么“人类至上”的信念,而是这些技术根本就没有那个能力。
最搞笑的是很多公司把 Siri,Alexa 一类也作为 AI 的“拳头产品”,因为很多人以为这些“个人助理”能够理解他们说的话。它们确实可以知道你说了那些“字”,但它们完全无法理解你在说什么。
如果你会用 Linux 命令行就很好解释了:Siri,Alexa 之类的个人助手不过是“具有语音识别功能的命令行工具”。它们在某些情况下是有用的(比如开车的时候),但它们并不理解你说的话。
美国人发明了机器学习,深度学习,可是为什么美国人没有像中国人这么“全民 AI”呢?因为别人知道机器学习可以用来做什么,可是还有很多其它重要的事情可以做。我坐等你们超英赶美瞎忙乎,我们自己实实在在把房子造好,把街道建好,把衣服造好,把生活弄舒服…… 发展 AI 能改善这些吗?中国人的衣服,鞋子,日用品…… 几乎样样靠进口。