本文转自当然我在扯淡,原文《我为什么不在乎人工智能》,作者:王垠。文章转载已获授权。

姓名:田争娇

前言

本文来自女程序员[Janet_zyh]的投稿,更多学习和交流,访问她的博客。igeekbar

有人听说我想创业,给我提出了一些“忽悠”的办法。他们说,既然你是程序语言专家,而现在人工智能(AI)又非常热,那你其实可以搞一个“自动编程系统”,号称可以自动生成程序,取代程序员的工作,节省许许多多的人力支出,这样就可以趁着“AI
热”拉到投资。

学号:17021211122

正文开始

今天为大家收集了一些关于人工智能(AI)的教程、书籍、视频演讲和论文,希望大家能够喜欢~~


有人甚至把名字都给我想好了,叫“深度程序员”(DeepCoder = Deep Learning +
Coder)。口号是:“有了 DeepCoder,不用 Top Coder!”
还有人给我指出了这方向最新的,吹得神乎其神的研究,比如微软的 Robust
Fill……

原文出处:王垠

在线教程

  • 麻省理工学院人工智能视频教程
    – 麻省理工人工智能课程
  • 人工智能入门
    – 人工智能基础学习。Peter Norvig举办的课程
  • EdX
    人工智能
    – 此课程讲授人工智能计算机系统设计的基本概念和技术。
  • 人工智能中的计划

    计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
  • 机器人人工智能

    这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
  • 机器学习
    – 有指导和无指导情况下的基本机器学习算法
  • 机器学习中的神经网络
    – 智能神经网络上的算法和实践经验
  • 斯坦福统计学习
    -Introductory course on machine learning focusing on: linear and
    polynomial regression, logistic regression and linear discriminant
    analysis; cross-validation and the bootstrap, model selection and
    regularization methods (ridge and lasso); nonlinear models, splines
    and generalized additive models; tree-based methods, random forests
    and boosting; support-vector machines.

image.png

我谢谢这些人的关心,然而其实我并不在乎,也不看好人工智能。现在我简单的讲一下我的看法。

【嵌牛导读】

插播

最近把各个互联网领悟的经典技术书和资源整理了一下,涵盖34个领悟,143家公司的面试真题,以及常见互联网技术领悟经典书和面试书和知名互联网公司校招薪资汇总表。

下载地址:

http://www.jianshu.com/p/4a9599a230af

机器一样的心

很多人喜欢鼓吹人工智能,自动车,机器人等技术,然而如果你仔细观察,就会发现这些人不但不理解人类智能是什么,不理解人工智能有什么局限性,而且这些“AI
狂人”们的心,已经严重的机械化了。他们或多或少的失去了人性,仿佛忘记了自己是一个人,忘记了人最需要的是什么,忘记了人的价值。这些人就像卓别林在『大独裁者』最后的演讲里指出的:“机器一样的人,机器一样的心。”

每当提到
AI,这些人必然野心勃勃地号称要“取代人类的工作”,“节省劳动力开销”。暂且不讨论这些目标能否实现,它们与我的价值观,从一开头就是完全矛盾的。一个伟大的公司,应该为社会创造实在的,新的价值,而不是想方设法“节省”什么劳动力开销,让人失业!想一下都觉得可怕,我创造一个公司,它最大的贡献就是让成千上万的人失业,为贪得无厌的人节省“劳动力开销”,让贫富分化加剧,让权力集中到极少数人手里,最后导致民不聊生,导致社会的荒芜甚至崩溃……

我不可想象生活在那样一个世界,就算那将使我成为世界上最有钱的人,也没有了意义。世界上有太多钱买不来的东西。如果走在大街上,我看不到人们幸福的笑容,悠闲的步伐,没有亲切的问候,关爱和幽默感,看不见甜蜜浪漫的爱情,反而看见遍地痛不欲生的无家可归者,鼻孔里钻进来他们留下的冲人的尿骚味,走到哪里都怕有人抢劫,因为人们实在活不下去了,除了偷和抢,没有别的办法活……

如果人工智能成功的话,这也许就是最后的结果。幸运的是,有充足的证据显示,人工智能是永远不会成功的。

王垠针对人工智能的发展,从多个方面表达了自己的不看好的观点。

人工智能书籍

  • 人工智能:一种现代的方法
    Stuart Russell & Peter Norvig
  • The Cambridge Handbook of Artificial
    Intelligence

    适合非专业人士阅读,本书覆盖了基本原则,主要理论和主要研究领域,还有相关主题,比如人造生命。
  • The Emotion Machine: Commonsense Thinking, Artificial Intelligence,
    and the Future of the Human
    Mind–
    在这部让人脑洞大开的图书中,科技先锋继续了他极具创造力的研究,给我们呈现了一个全新的不可思议的人类大脑运转模式。
  • Artificial Intelligence: A New
    Synthesis

    从粒子反应入手,Nilsson逐渐向我们展示了人工智能中最重要和最新的概念。

我的人工智能梦

很多人可能不知道,我也曾经是一个“AI
狂热者”。我也曾经为人工智能疯狂,把它作为自己的“伟大理想”。我也曾经张口闭口拿“人类”说事,仿佛机器是可以跟人类相提并论,甚至高于人类的。当深蓝电脑战胜卡斯帕罗夫,我也曾经感叹:“啊,我们人类完蛋了!”
我也曾经以为,有了“逻辑”和“学习”这两个法(kou)宝(hao),机器总有一天会超越人类的智能。可是我没有想清楚这具体要怎么实现,也没有想清楚实现了它到底有什么意义。

故事要从十多年前讲起,那时候人工智能正处于它的冬天。在清华大学的图书馆,我偶然地发现了一本尘封已久的
Peter Norvig 的大作『Paradigms of Artificial Intelligence
Programming』(PAIP)。像个考古学家一样,我开始逐一地琢磨和实现其中的各种经典
AI 算法。PAIP 的算法侧重于逻辑和推理,因为在它的年代,很多 AI
研究者都以为人类的智能,归根结底就是逻辑推理。他们天真地以为,有了谓词逻辑,一阶逻辑这些东西,可以表达“因为所以不但而且存在所有”,机器就可以拥有智能。于是他们设计了各种基于逻辑的算法,专家系统(expert
system),甚至设计了基于逻辑的程序语言
Prolog,把它叫做“第五代程序语言”。最后,他们遇到了无法逾越的障碍,众多的
AI
公司无法实现他们夸口的目标,各种基于“神经元”的机器无法解决实际的问题,巨额的政府和民间投资化为泡影,人工智能进入了冬天。

我就是在那样一个冬天遇到了
PAIP,它虽然没能让我投身于人工智能领域,却让我迷上了 Lisp
和程序语言。也是因为这本书,我第一次轻松而有章法的实现了 A*
等算法,并且理解到里面的真谛。也是因为
PAIP,我第一次理解到了程序的“模块化”是什么,我开始在自己的程序里使用小的“工具函数”,而不再担心很多人忧心忡忡的“函数调用开销”。PAIP
和 SICP
这两本书,最后导致了我投身于程序语言领域,并且有幸获得这个领域鼻祖们的指点。

在 PAIP 之后,我又迷了一阵子机器学习(machine
learning),因为有人告诉我,机器学习是人工智能的新篇章。然而我逐渐的意识到,所谓的人工智能和机器学习,跟真正的人类智能,关系其实不大。相对于实际的问题,PAIP
里面的经典算法其实相当幼稚,复杂度很高,根本不可能解决大规模的实际问题。最重要的问题是,我看不出
PAIP
里面的算法跟“智能”有任何关系。而“机器学习”这个名字,完全就是一个幌子。很多人都看出来了,机器学习说白了就是统计学里面的“拟合函数”,换了一个具有迷惑性的名字而已。

【嵌牛鼻子】

编程

  • Prolog Programming for Artificial
    Intelligence

    这本针对Prolog和人工智能的畅销书主要讲述了使用Proglog语言编程解决有趣的人工智能问题的基本机制。
  • AI Algorithms, Data Structures and Idioms in Prolog, Lisp and
    Java
    – PDF
    here

吓人的外衣之下

人工智能的研究者们总是喜欢抬出“神经元”一类的名词来吓人,跟你说他们的算法是受了人脑神经元工作原理的启发。注意了,“启发”是一个非常模棱两可的词,由一个东西启发得来的结果,可以跟这个东西毫不相干。比如我也可以说,Yin
语言的设计是受了九阴真经的启发 😛

世界上这么多 AI
研究者,有几个真的研究过人脑,解刨过人脑,拿它做过实验,或者读过脑科学的研究成果?最后你发现,几乎没有
AI 研究者真正做过人脑或者认知科学的研究。著名的认知科学家 Douglas
Hofstadter 早就在接受采访时指出,这帮所谓“AI
专家”,对人脑和意识(mind)是怎么工作的,其实完全不感兴趣,也从来没有深入研究过,却号称要实现“通用人工智能”(Artificial
General Intelligence, AGI),这就是为什么 AI
直到今天都只是一个虚无的梦想。

纵观历史上机器学习能够做到的事情,都是一些字符识别(OCR),语音识别,人脸识别一类的,我把这些统称为“识别系统”。当然,识别系统是很有价值的,我每天都在用语音识别,人脸识别对于警察和间谍机关,显然意义重大。识别系统跟真正的“智能”,其实相去非常远,然而它们的普及,导致人工智能的能力被严重的神化了。说白了,这些识别系统,也就是统计学的拟合函数能做的事情:输出一堆像素或者音频,输出一个个的单词文本。很多人分不清“文字识别”和“语言理解”的区别。OCR
和语音识别系统,虽然能依靠统计的方法,知道你说的是哪些字,却不能真正理解你在说什么。这就像程序语言里面“语法”和“语义”的差别。识别出语法相对容易,要理解语义却比登天还难,这真的不是拟合一个函数就可以搞定的。

各大公司最近叫得最响亮的“AI 技术”,就是 Siri,Cortana,Google
Assistant,Amazon Echo
一类含有语音识别功能的工具,叫做“个人助手”。这些东西里面,到底有多少可以叫做“智能”的东西,我想用过的人都应该明白。我每一次试用
Siri
都被它的愚蠢所折服,可以让你着急得砸了水果手机。那另外几个同类,也没有好到哪里去。很多人被“微软小冰”忽悠过,咋一看真能理解你说的话,然而聊一会你就发现,小冰不过是一个“网络句子搜索引擎”而已。它只是按照你句子里的关键字,随机搜出网上已有的句子。大部分这类句子出自问答类网站,比如百度知道,知乎,等等。一个很简单的实验,就是反复发送同一个词给小冰,比如“智能”,看它返回什么内容,然后拿这个内容到
Google
或者百度搜索,你就会找到那个句子真正的出处。人都喜欢自欺欺人,看到几个句子回答得挺有“诗意”,就以为它是在跟你对话,而其实它是牛头不对马嘴,所以你才感觉有“诗意”。大部分人跟小冰对话,都喜欢只把其中“符合逻辑”的部分截图下来,然后惊呼:“哇,小冰好有趣!”
他们没有告诉你的是,没贴出来的对话,几乎全都是鸡同鸭讲。

我并不是说这些产品完全没有价值。我用过 Siri 和 Google
Assistant,我发现它们还是有用的,特别是在开车的时候。因为开车时操作手机容易出事,所以我可以利用语音控制。比如我可以对手机说:“导航到最近的加油站。”
然而实现这种语音控制,根本不需要理解语言,你只需要用语音识别输入一个函数调用:导航(加油站)。个人助手在其它时候用处都不大。我不想在家里和公共场所使用它们,原因很简单:我懒得说话,或者不方便说话。点击几下屏幕,我就可以精确地做到我想要的事情,这比说话省力很多,也精确很多。个人助手完全不理解你在说什么,这种局限性本来无可厚非,然而各大公司却拿这些个人助手来煽风点火,各种夸大,闭口不提他们的局限性,让外行们以为人工智能就快实现了,这就是为什么我必须鄙视一下他们。

由于有了这些“个人助手”,有些人就号称类似的技术可以用来制造“机器客服”,使用机器代替人作为客服。他们没有想清楚的是,客服看似“简单工作”,跟这些语音控制的玩意比起来,难度却是天壤之别。客服必须理解公司的业务,必须能够精确地理解客户在说什么,必须形成真正的对话,要能够为客户解决真正的问题,而不能只抓住一些关键字进行随机回复。另外,客服必须能够从对话信息,引发现实世界的改变,比如呼叫配送中心停止发货,向上级请求满足客户的特殊要求,拿出退货政策跟客户辩论,拒绝他们的退货要求,抓住客户心理,向他们推销新服务等等,各种需要“人类经验”才能处理的事情。所以机器能不但要能够形成真正的对话,理解客户的话,它们还需要现实世界的大量经验,需要改变现实世界的能力,才可能做客服的工作。由于这些个人助手全都是在忽悠,所以我看不到有任何希望,能够利用现有的技术实现机器客服。

很多人看到 AlphaGo 的胜利,以为所谓 Deep Learning
终究有一天能够实现人类级别的智能。在之前的一篇文章里,我已经指出了这是一个误区。很多人以为人觉得困难的事情(比如围棋),就是体现真正人类智能的地方,其实不是那样的。我问你,心算除法(23423451345
/ 729)难不难?这对于人是很难的,然而任何一个傻电脑,都可以在 0.1
秒之内把它算出来。围棋,国际象棋之类也是一样的原理。这些机械化的问题,根本不能反应真正的人类智能,它们只需要蛮力。

纵观人工智能领域发明过的吓人术语,从 Artificial Intelligence 到
Artificial General Intelligence,从 Machine Learning 到 Deep
Learning,……
我总结出这样一个规律:人工智能的研究者们特别喜欢制造吓人的名词,当人们对一个名词失去信心,他们就会提出一个不大一样的,新的名词,免得人们把对这个名词的失望,转移到新的研究上面。然而这些名词之间,终究是换汤不换药。因为没有人真的知道人的智能是什么,所以也就没有办法实现“人工智能”。

生活中的每一天,我这个“前 AI
狂热者”都在为“人类智能”显示出来的超凡能力而感到折服。甚至不需要是人,任何高等动物(比如猫)的能力,都让我感到敬畏。我发自内心的尊重人和动物。我不再有资格拿“人类”来说事,因为面对这个词汇,任何机器都是如此的渺小。

机器的心,AI 技术,个人助手,傻机器的价值

人工智能原理

  • Superintelligence
    – 书中问:如果机器在智能上超越人类会怎样。非常好的一本书。
  • Our Final Invention: Artificial Intelligence and the End of the
    Human
    Era
    – Our Final Invention explores the perils of the heedless pursuit of
    advanced AI. Until now, human intelligence has had no rival. Can we
    coexist with beings whose intelligence dwarfs our own? And will they
    allow us to?
  • How to Create a Mind: The Secret of Human Thought
    Revealed
    – Ray
    Kurzweil——谷歌公司的技术主管——向我们展示了如何用反向工程来了解大脑是如何工作的,然后运用这些知识来创造人工智能机器。

自动编程是不可能的

现在回到有些人最开头的提议,实现自动编程系统。我现在可以很简单的告诉你,那是不可能实现的。微软的 Robust
Fill 之类,全都是在扯淡。我对微软最近乘着
AI
热,各种煽风点火的做法,表示少许鄙视。不过微软的研究员也许知道这些东西的局限,只是国内小编在夸大它的功效吧。

你仔细看看他们举出的例子,就知道那是一个玩具问题。人给出少量例子,想要电脑完全正确的猜出他想做什么,那显然是不可能的。很简单的原因,例子不可能包含足够的信息,精确地表达人想要什么。最最简单的变换也许可以,然而只要多出那么一点点例外情况,你就完全没法猜出来他想干什么。就连人看到这些例子,都不知道另一个人想干什么,机器又如何知道?这根本就是想实现“读心术”。甚至人自己都可以是糊涂的,他根本不知道自己想干什么,机器又怎么猜得出来?所以这比读心术还要难!

对于如此弱智的问题,都不能 100%
正确的解决,遇到稍微有点逻辑的事情,就更没有希望了。论文最后还“高瞻远瞩”一下,提到要把这作法扩展到有“控制流”的情况,完全就是瞎扯。所以
RobustFill 所能做的,也就是让这种极其弱智的玩具问题,达到“接近 92%
的准确率”而已了。另外,这个 92% 是用什么标准算出来的,也很值得怀疑。

任何一个负责的程序语言专家都会告诉你,自动生成程序是根本不可能的事情。因为“读心术”是不可能实现的,所以要机器做事,人必须至少告诉机器自己“想要什么”,然而表达这个“想要什么”的难度,其实跟编程几乎是一样的。实际上程序员工作的本质,不就是在告诉电脑自己想要它干什么吗?最困难的工作(数据结构,算法,数据库系统)已经被固化到了库代码里面,然而表达“想要干什么”这个任务,是永远无法自动完成的,因为只有程序员自己才知道他想要什么,甚至他自己都要想很久,才知道自己想要什么……

有句话说得好:编程不过是一门失传的艺术的别名,这门艺术的名字叫做“思考”。没有任何机器可以代替人的思考,所以程序员是一种不可被机器取代的工作。虽然好的编程工具可以让程序员工作更加舒心和高效,任何试图取代程序员工作,节省编程劳力开销,克扣程序员待遇,试图把他们变成“可替换原件”的做法(比如
Agile,TDD),最终都会倒戈,使得雇主收到适得其反的后果。同样的原理也适用于其它的创造性工作:厨师,发型师,画家,……

所以别妄想自动编程了。节省程序员开销唯一的办法,是邀请优秀的程序员,尊重他们,给他们好的待遇,让他们开心安逸的生活和工作。同时,开掉那些满口“Agile”,“Scrum”,“TDD”,“软件工程”,光说不做的扯淡管理者,他们才是真正浪费公司资源,降低开发效率和软件质量的祸根。

【嵌牛提问】

免费读物

  • Foundations of computational
    agents
    – 这部书由剑桥大学出版社于2010年出版。
  • The Quest for Artificial
    Intelligence

    这本书回顾了人工智能的历史,从早期的18世纪先人的梦想,到如今众多成功的人工智能技术。

傻机器的价值

既然我决定不蹚人工智能这摊浑水,那我要怎么创业呢?很简单,我觉得人其实不需要很“智能”的机器,“傻机器”才是对人最有价值的。所以设计新的,可靠的,造福于人的傻机器,应该是我创业的目标。

只举一个例子,有些 AI
公司想研制“机器佣人”,可以自动打扫卫生做家务。我觉得这问题几乎不可能解决,还不如直接请真正智能的——阿姨来帮忙。我可以做一个阿姨服务平台,方便需要服务的家庭和阿姨进行配对。给阿姨配备更好的工具,通信,日程,支付设施,让她工作不累收钱又方便,让家庭也省心放心,那岂不是两全其美?哪里需要什么智能机器人,难度又高,又贵又不好用。显然这样的阿姨服务平台,结合真正的人的智能,轻而易举就可以让那些机器佣人公司死在萌芽之中。

当然我不会真去做个阿姨服务平台,我只是举个例子。许许多多对人有用的傻机器,还在等着我们去发明。这些机器设计起来虽然需要灵机一动,然而实现起来难度却不高,给人带来便利,经济上见效也快。这些东西不对人的工作造成竞争,反而可能制造更多的就业机会,可以说是利国利民。利用人的智慧,加上机器的蛮力,让人们又省力又能挣钱,才是最合理的发展方向。

王垠为什么不看好人工智能?自动编程为什么不可能实现?

程序代码

  • AIMA Lisp Source
    Code
    – “Artificial Intelligence A Modern Approach”一书中的Common
    Lisp源代码。

【嵌牛正文】

视频/演讲

  • The Unreasonable Effectiveness of Deep
    Learning
    – Dr. Yann
    LeCun——负责Facebook人工智能研究的主管——他给我们深入讲解了人工智能神经网络和他们对机器学习的应用。

有人听说我想创业,给我提出了一些“忽悠”的办法。他们说,既然你是程序语言专家,而现在人工智能(AI)又非常热,那你其实可以搞一个“自动编程系统”,号称可以自动生成程序,取代程序员的工作,节省许许多多的人力支出,这样就可以趁着“AI
热”拉到投资。

机器学习

  • Deep Learning. Methods and
    Applications
    来自微软研究室的免费读物。
  • Neural Networks and Deep
    Learning
    – Neural networks and deep learning currently provide the best
    solutions to many problems in image recognition, speech recognition,
    and natural language processing. This book will teach you the core
    concepts behind neural networks and deep learning
  • Machine Learning: A Probabilistic
    Perspective
    – 这本小书对机器学习给出了详尽的介绍
  • Deep
    Learning
    – Yoshua Bengio, Ian Goodfellow and Aaron Courville put together
    this currently free (and draft version) book on deep learning. The
    book is kept up-to-date and covers a wide range of topics in depth
    (up to and including sequence-to-sequence learning).

有人甚至把名字都给我想好了,叫“深度程序员”(DeepCoder = Deep Learning +
Coder)。口号是:“有了 DeepCoder,不用 Top Coder!”
还有人给我指出了这方向最新的,吹得神乎其神的研究,比如微软的Robust
Fill……

其它

  • Open Congition
    Project
    – 我们正在努力开发一款具有思考能力的机器。

如果你有什么收藏的人工智能相关的资料
,大家一起分享,一起学习,也欢迎推荐给我们呦~~~

这里是igeekbar,欢迎每一位Geek
常来做客大家有啥建议、意见,不要客气!欢迎给我留言哈

我谢谢这些人的关心,然而其实我并不在乎,也不看好人工智能。现在我简单的讲一下我的看法。

机器一样的心

很多人喜欢鼓吹人工智能,自动车,机器人等技术,然而如果你仔细观察,就会发现这些人不但不理解人类智能是什么,不理解人工智能有什么局限性,而且这些“AI
狂人”们的心,已经严重的机械化了。他们或多或少的失去了人性,仿佛忘记了自己是一个人,忘记了人最需要的是什么,忘记了人的价值。这些人就像卓别林在『大独裁者』最后的演讲里指出的:“机器一样的人,机器一样的心。”

每当提到
AI,这些人必然野心勃勃地号称要“取代人类的工作”,“节省劳动力开销”。暂且不讨论这些目标能否实现,它们与我的价值观,从一开头就是完全矛盾的。一个伟大的公司,应该为社会创造实在的,新的价值,而不是想方设法“节省”什么劳动力开销,让人失业!想一下都觉得可怕,我创造一个公司,它最大的贡献就是让成千上万的人失业,为贪得无厌的人节省“劳动力开销”,让贫富分化加剧,让权力集中到极少数人手里,最后导致民不聊生,导致社会的荒芜甚至崩溃……

我不可想象生活在那样一个世界,就算那将使我成为世界上最有钱的人,也没有了意义。世界上有太多钱买不来的东西。如果走在大街上,我看不到人们幸福的笑容,悠闲的步伐,没有亲切的问候,关爱和幽默感,看不见甜蜜浪漫的爱情,反而看见遍地痛不欲生的无家可归者,鼻孔里钻进来他们留下的冲人的尿骚味,走到哪里都怕有人抢劫,因为人们实在活不下去了,除了偷和抢,没有别的办法活……

如果人工智能成功的话,这也许就是最后的结果。幸运的是,有充足的证据显示,人工智能是永远不会成功的。

我的人工智能梦

很多人可能不知道,我也曾经是一个“AI
狂热者”。我也曾经为人工智能疯狂,把它作为自己的“伟大理想”。我也曾经张口闭口拿“人类”说事,仿佛机器是可以跟人类相提并论,甚至高于人类的。当深蓝电脑战胜卡斯帕罗夫,我也曾经感叹:“啊,我们人类完蛋了!”
我也曾经以为,有了“逻辑”和“学习”这两个法(kou)宝(hao),机器总有一天会超越人类的智能。可是我没有想清楚这具体要怎么实现,也没有想清楚实现了它到底有什么意义。

故事要从十多年前讲起,那时候人工智能正处于它的冬天。在清华大学的图书馆,我偶然地发现了一本尘封已久的
Peter Norvig 的大作『Paradigms of Artificial Intelligence
Programming』(PAIP)。像个考古学家一样,我开始逐一地琢磨和实现其中的各种经典
AI 算法。PAIP 的算法侧重于逻辑和推理,因为在它的年代,很多 AI
研究者都以为人类的智能,归根结底就是逻辑推理。他们天真地以为,有了谓词逻辑,一阶逻辑这些东西,可以表达“因为所以不但而且存在所有”,机器就可以拥有智能。于是他们设计了各种基于逻辑的算法,专家系统(expert
system),甚至设计了基于逻辑的程序语言
Prolog,把它叫做“第五代程序语言”。最后,他们遇到了无法逾越的障碍,众多的
AI
公司无法实现他们夸口的目标,各种基于“神经元”的机器无法解决实际的问题,巨额的政府和民间投资化为泡影,人工智能进入了冬天。

我就是在那样一个冬天遇到了
PAIP,它虽然没能让我投身于人工智能领域,却让我迷上了 Lisp
和程序语言。也是因为这本书,我第一次轻松而有章法的实现了 A*
等算法,并且理解到里面的真谛。也是因为
PAIP,我第一次理解到了程序的“模块化”是什么,我开始在自己的程序里使用小的“工具函数”,而不再担心很多人忧心忡忡的“函数调用开销”。PAIP
和 SICP
这两本书,最后导致了我投身于程序语言领域,并且有幸获得这个领域鼻祖们的指点。

在 PAIP 之后,我又迷了一阵子机器学习(machine
learning),因为有人告诉我,机器学习是人工智能的新篇章。然而我逐渐的意识到,所谓的人工智能和机器学习,跟真正的人类智能,关系其实不大。相对于实际的问题,PAIP
里面的经典算法其实相当幼稚,复杂度很高,根本不可能解决大规模的实际问题。最重要的问题是,我看不出
PAIP
里面的算法跟“智能”有任何关系。而“机器学习”这个名字,完全就是一个幌子。很多人都看出来了,机器学习说白了就是统计学里面的“拟合函数”,换了一个具有迷惑性的名字而已。

吓人的外衣之下

人工智能的研究者们总是喜欢抬出“神经元”一类的名词来吓人,跟你说他们的算法是受了人脑神经元工作原理的启发。注意了,“启发”是一个非常模棱两可的词,由一个东西启发得来的结果,可以跟这个东西毫不相干。比如我也可以说,Yin
语言的设计是受了九阴真经的启发 😛

世界上这么多 AI
研究者,有几个真的研究过人脑,解刨过人脑,拿它做过实验,或者读过脑科学的研究成果?最后你发现,几乎没有
AI 研究者真正做过人脑或者认知科学的研究。著名的认知科学家 Douglas
Hofstadter 早就在接受采访时指出,这帮所谓“AI
专家”,对人脑和意识(mind)是怎么工作的,其实完全不感兴趣,也从来没有深入研究过,却号称要实现“通用人工智能”(Artificial
General Intelligence, AGI),这就是为什么 AI
直到今天都只是一个虚无的梦想。

纵观历史上机器学习能够做到的事情,都是一些字符识别(OCR),语音识别,人脸识别一类的,我把这些统称为“识别系统”。当然,识别系统是很有价值的,我经常用手机上的语音输入法,人脸识别对于警察和间谍机关,显然意义重大。虽然很重要,识别系统跟真正的“智能”,却相去非常远,而且这些识别系统的普及,导致了人工智能的能力被严重的神化。说白了,这些识别系统,也就是统计学的拟合函数能做的事情:输出一堆像素或者音频,输出一个个的单词文本。很多人分不清“文字识别”和“语言理解”的区别。OCR
和语音识别系统,虽然能依靠统计的方法,知道你说的是哪些字,却不能真正理解你在说什么。

聊一点深入的话题,看不懂的人可以跳过这一段。“识别”和“理解”的差别,就像程序语言里面“语法”和“语义”的差别。程序语言的文本,首先要经过词法分析器(lexer),语法分析器(parser),才能送进解释器(interpreter),只有解释器才能实现程序的语义。类比一下,自然语言的语音识别系统,其实只相当于程序语言的词法分析器(lexer)。大部分的
AI
系统,连语法分析器(parser)都没有,所以主谓宾,句子结构都分析不清楚,更不要说理解其中的含义了。IBM
的语音识别专家Frederick
Jelinek曾经开玩笑说:“每当我开掉一个语言学家,识别率就上升了。”
其原因就是语音识别仅相当于一个 lexer,而语言学家研究的是 parser 以及
interpreter。当然了,你们干的事情太初级了,所以语言学家帮不了你们,但这并不等于语言学家是没有价值的。

各大公司最近叫得最响亮的“AI 技术”,就是 Siri,Cortana,Google
Assistant,Amazon Echo
一类含有语音识别功能的工具,叫做“个人助手”。这些东西里面,到底有多少可以叫做“智能”的东西,我想用过的人都应该明白。我每一次试用
Siri
都被它的愚蠢所折服,可以让你着急得砸了水果手机。那另外几个同类,也没有好到哪里去。很多人被“微软小冰”忽悠过,咋一看真能理解你说的话,然而聊一会你就发现,小冰不过是一个“网络句子搜索引擎”而已。它只是按照你句子里的关键字,随机搜出网上已有的句子。大部分这类句子出自问答类网站,比如百度知道,知乎,等等。一个很简单的实验,就是反复发送同一个词给小冰,比如“智能”,看它返回什么内容,然后拿这个内容到
Google
或者百度搜索,你就会找到那个句子真正的出处。人都喜欢自欺欺人,看到几个句子回答得挺有“诗意”,就以为它是在跟你对话,而其实它是牛头不对马嘴,所以你才感觉有“诗意”。大部分人跟小冰对话,都喜欢只把其中“符合逻辑”的部分截图下来,然后惊呼:“哇,小冰好有趣!”
他们没有告诉你的是,没贴出来的对话,几乎全都是鸡同鸭讲。

我并不是说这些产品完全没有价值。我用过 Siri 和 Google
Assistant,我发现它们还是有用的,特别是在开车的时候。因为开车时操作手机容易出事,所以我可以利用语音控制。比如我可以对手机说:“导航到最近的加油站。”
然而实现这种语音控制,根本不需要理解语言,你只需要用语音识别输入一个函数调用:导航(加油站)。个人助手在其它时候用处都不大。我不想在家里和公共场所使用它们,原因很简单:我懒得说话,或者不方便说话。点击几下屏幕,我就可以精确地做到我想要的事情,这比说话省力很多,也精确很多。个人助手完全不理解你在说什么,这种局限性本来无可厚非,然而各大公司却拿这些个人助手来煽风点火,各种夸大,闭口不提他们的局限性,让外行们以为人工智能就快实现了,这就是为什么我必须鄙视一下他们。

由于有了这些“个人助手”,有些人就号称类似的技术可以用来制造“机器客服”,使用机器代替人作为客服。他们没有想清楚的是,客服看似“简单工作”,跟这些语音控制的玩意比起来,难度却是天壤之别。客服必须理解公司的业务,必须能够精确地理解客户在说什么,必须形成真正的对话,要能够为客户解决真正的问题,而不能只抓住一些关键字进行随机回复。另外,客服必须能够从对话信息,引发现实世界的改变,比如呼叫配送中心停止发货,向上级请求满足客户的特殊要求,拿出退货政策跟客户辩论,拒绝他们的退货要求,抓住客户心理,向他们推销新服务等等,各种需要“人类经验”才能处理的事情。所以机器能不但要能够形成真正的对话,理解客户的话,它们还需要现实世界的大量经验,需要改变现实世界的能力,才可能做客服的工作。由于这些个人助手全都是在忽悠,所以我看不到有任何希望,能够利用现有的技术实现机器客服。

很多人看到 AlphaGo 的胜利,以为所谓 Deep Learning
终究有一天能够实现人类级别的智能。在之前的一篇文章里,我已经指出了这是一个误区。很多人以为人觉得困难的事情(比如围棋),就是体现真正人类智能的地方,其实不是那样的。我问你,心算除法(23423451345
/ 729)难不难?这对于人是很难的,然而任何一个傻电脑,都可以在 0.1
秒之内把它算出来。围棋,国际象棋之类也是一样的原理。这些机械化的问题,根本不能反应真正的人类智能,它们只需要蛮力。

纵观人工智能领域发明过的吓人术语,从 Artificial Intelligence 到
Artificial General Intelligence,从 Machine Learning 到 Deep
Learning,……
我总结出这样一个规律:人工智能的研究者们特别喜欢制造吓人的名词,当人们对一个名词失去信心,他们就会提出一个不大一样的,新的名词,免得人们把对这个名词的失望,转移到新的研究上面。然而这些名词之间,终究是换汤不换药。因为没有人真的知道人的智能是什么,所以也就没有办法实现“人工智能”。

生活中的每一天,我这个“前 AI
狂热者”都在为“人类智能”显示出来的超凡能力而感到折服。甚至不需要是人,任何高等动物(比如猫)的能力,都让我感到敬畏。我发自内心的尊重人和动物。我不再有资格拿“人类”来说事,因为面对这个词汇,任何机器都是如此的渺小。

自动编程是不可能的

现在回到有些人最开头的提议,实现自动编程系统。我现在可以很简单的告诉你,那是不可能实现的。微软的Robust
Fill之类,全都是在扯淡。我对微软最近乘着
AI
热,各种煽风点火的做法,表示少许鄙视。不过微软的研究员也许知道这些东西的局限,只是国内小编在夸大它的功效吧。

你仔细看看他们举出的例子,就知道那是一个玩具问题。人给出少量例子,想要电脑完全正确的猜出他想做什么,那显然是不可能的。很简单的原因,例子不可能包含足够的信息,精确地表达人想要什么。最最简单的变换也许可以,然而只要多出那么一点点例外情况,你就完全没法猜出来他想干什么。就连人看到这些例子,都不知道另一个人想干什么,机器又如何知道?这根本就是想实现“读心术”。甚至人自己都可以是糊涂的,他根本不知道自己想干什么,机器又怎么猜得出来?所以这比读心术还要难!

对于如此弱智的问题,都不能 100%
正确的解决,遇到稍微有点逻辑的事情,就更没有希望了。论文最后还“高瞻远瞩”一下,提到要把这作法扩展到有“控制流”的情况,完全就是瞎扯。所以
RobustFill 所能做的,也就是让这种极其弱智的玩具问题,达到“接近 92%
的准确率”而已了。另外,这个 92% 是用什么标准算出来的,也很值得怀疑。

任何一个负责的程序语言专家都会告诉你,自动生成程序是根本不可能的事情。因为“读心术”是不可能实现的,所以要机器做事,人必须至少告诉机器自己“想要什么”,然而表达这个“想要什么”的难度,其实跟编程几乎是一样的。实际上程序员工作的本质,不就是在告诉电脑自己想要它干什么吗?最困难的工作(数据结构,算法,数据库系统)已经被固化到了库代码里面,然而表达“想要干什么”这个任务,是永远无法自动完成的,因为只有程序员自己才知道他想要什么,甚至他自己都要想很久,才知道自己想要什么……

有句话说得好:编程不过是一门失传的艺术的别名,这门艺术的名字叫做“思考”。没有任何机器可以代替人的思考,所以程序员是一种不可被机器取代的工作。虽然好的编程工具可以让程序员工作更加舒心和高效,任何试图取代程序员工作,节省编程劳力开销,克扣程序员待遇,试图把他们变成“可替换原件”的做法(比如
Agile,TDD),最终都会倒戈,使得雇主收到适得其反的后果。同样的原理也适用于其它的创造性工作:厨师,发型师,画家,……

所以别妄想自动编程了。节省程序员开销唯一的办法,是邀请优秀的程序员,尊重他们,给他们好的待遇,让他们开心安逸的生活和工作。同时,开掉那些满口“Agile”,“Scrum”,“TDD”,“软件工程”,光说不做的扯淡管理者,他们才是真正浪费公司资源,降低开发效率和软件质量的祸根。

傻机器的价值

我不反对继续投资研究那些有实用价值的人工智能,然而我觉得不应该过度夸大它的用处,把注意力过分集中在它上面,仿佛那是唯一可以做的事情,仿佛那是一个划时代的革命,仿佛它将取代一切人类劳动。我的个人兴趣,其实不在人工智能上面。那我要怎么创业呢?很简单,我觉得大部分人其实不需要很“智能”的机器,“傻机器”才是对人最有价值的。所以设计新的,可靠的,造福于人的傻机器,应该是我创业的目标。当然我这里所谓的“机器”,包括了硬件和软件。

只举一个例子,有些 AI
公司想研制“机器佣人”,可以自动打扫卫生做家务。我觉得这问题几乎不可能解决,还不如直接请真正智能的——阿姨来帮忙。我可以做一个阿姨服务平台,方便需要服务的家庭和阿姨进行配对。给阿姨配备更好的工具,通信,日程,支付设施,让她工作不累收钱又方便,让家庭也省心放心,那岂不是两全其美?哪里需要什么智能机器人,难度又高,又贵又不好用。显然这样的阿姨服务平台,结合真正的人的智能,轻而易举就可以让那些机器佣人公司死在萌芽之中。

当然我不会真去做个阿姨服务平台,我只是举个例子。许许多多对人有用的傻机器,还在等着我们去发明。这些机器设计起来虽然需要灵机一动,然而实现起来难度却不高,给人带来便利,经济上见效也快。这些东西不对人的工作造成竞争,反而可能制造更多的就业机会,可以说是利国利民。利用人的智慧,加上机器的蛮力,让人们又省力又能挣钱,才是最合理的发展方向。