Peter Norvig:人工智能,一种现代方法
Peter Norvig: Artificial Intelligence: A Modern Approach
嘉宾:Peter Norvig
全文文稿 · 按对话顺序保留完整内容,深入理解上下文。
§01原文文稿 · 00:00–09:25
以下是与彼得·诺维格的一段对话。
他是谷歌的研究总监,
也是与斯图尔特·罗素合著
《人工智能:一种现代方法》一书的作者,
这本书教育并激励了一整代研究者,
包括我自己在内,进入了
人工智能领域。
这里是「人工智能播客」。
如果你喜欢它,请在 YouTube 上订阅,
在 iTunes 上给它五星好评、在 Patreon 上支持,
或干脆在推特上关注我
@LexFriedman,拼作 F-R-I-D-M-A-N。
现在,这就是我与彼得·诺维格的对话。
AI 界的大多数研究者,包括我自己,
都拥有《人工智能:一种现代方法》的
全部三个版本——红的、绿的和蓝的。
正如许多人所知,它是一本定义了整个领域的教科书,
是你和斯图尔特·罗素一起写的。
从第一版到第二版、到第三版、再到现在的第四版,
在你编写它的过程中,这本书是如何变化的、
你与它的关系又是如何变化的?
(接上)
——是啊,所以过了很多年、有很多变化。
从第一版到也许第二版或第三版,
变化之一
就是算力的崛起,对吧?
所以我想在第一版里,
我们说,「这里是谓词逻辑」,
但那只能走这么远,因为很快
你就有数百万条短短的谓词表达式,
它们不可能装进内存。
所以我们要用更简洁的一阶逻辑。
然后我们很快意识到,
「哦,谓词逻辑其实挺好,
因为有非常快的 SAT 求解器和其他东西。
而你看,只有数百万条表达式,
它们能轻松装进内存,
或者现在甚至数十亿条也装得进内存。」
所以那是我们所需技术类型的一个变化,
只因为硬件扩张了。
——甚至到第二版?
——是啊。——所以资源约束
在第二版时显著放松了?
——是啊,是啊。
——那是 2000 年代初的第二版?
——没错,所以 95 年是第一版,然后 2000、2001 年左右。
然后从那儿往前,
我想我们又开始看到那种情况了,
有了 GPU、然后更专门类型的机器,
比如 TPU,而你看到为深度学习
定制的 ASIC 等等。
所以我们在硬件上看到了又一次进步。
然后我想我们这一次尤其注意到的另一件事是,
在前三个版本里,
我们算是说,「嗯,我们要把 AI
定义为最大化期望效用。
而你把你的效用函数告诉我。」
而现在我们有了整整 27 章很酷的技术,
讲如何去优化那个。
我想在这一版里,我们更多地说,
「你知道吗?
也许那个优化部分是容易的部分,
而难的部分是决定我的效用函数是什么?
我想要什么?
而如果我是一群智能体、或一个社会,
作为一个整体我们想要什么?」
——所以你在这一版里触及了那个话题。
你稍微更深入地谈了效用。
——是啊,是啊。——那真的很有意思。
是在技术层面上,
还是几乎在往哲学的方向推?
——我想它是哲学性的,对吧?
所以我们一直有一章哲学,
我很高兴我们在支持它。
而现在它不那么是那种中文房间式的论证,
而更多是这些伦理和社会类型的问题。
所以我们谈到了公平和偏见的问题,
以及聚合效用这个问题本身。
——那么你如何把人类的价值观
编码进一个效用函数?
这是你可以纯粹通过数据、
以一种习得的方式去做的事,还是有某种系统性的(方法)?
显然还没有好的答案。
这才刚刚开始,
甚至只是去打开通向这些问题的门。
——没错,所以没有唯一的答案。
是的,有一些试图去学它的技术。
所以我们谈到了逆强化学习,对吧?
所以强化学习是,你采取一些行动、
你得到一些奖励,
然后你弄清楚你应该采取什么行动。
而逆强化学习是,
你观察某人采取行动,
然后你弄清楚,嗯,
这一定是他们试图想做的事。
如果他们做了这个行动,那一定是因为他们想要它。
当然,那有一些限制,对吧?
所以很多人采取自我毁灭的行动、
或者他们在某些方面是次优的。
所以你不想学那个。
你想以某种方式学到完美的行动,
而不是他们实际采取的行动。
所以那是那个领域的一个挑战。
然后它的另一大部分是算是理论性的,
即说,我们能实现什么?
所以你看那些预测再犯、
并决定谁该获得假释、
谁该获得保释之类的程序的工作。
而你要如何评估那个?
而一大问题是跨受保护类别的
公平性,
受保护类别指的是性别、种族之类的东西。
所以你想要的两件事是,你想说,
嗯,如果我得到比如 10 分里的 6 分,
那我想让那意味着相同的东西,
不管我是什么种族,对吧?
所以我想要无论如何都有 60% 的再犯概率。
而那个的制造者,
一个做那件事的商业程序的制造者说,
那正是我们试图优化的。
而你看,我们做到了。
我们达到了那种平衡。
然后在另一面,你也想说,
嗯,如果它犯错误,
我想让那同等地影响
受保护类别的双方。
而结果是它们并不那么做,对吧?
所以它们犯一个会伤害黑人的错误
的可能性是伤害白人的两倍。
所以那看起来不公平。
所以你会想说,嗯,
我想同时实现那两个目标。
然后结果你做分析,
而在理论上同时实现那两个目标
是不可能的。
所以你不得不在它们之间做权衡。
所以那个分析真的很有帮助,
让你知道你能瞄准什么、能得到多少。
你不可能什么都要,
但那个分析当然没法告诉你
我们该把那个权衡点定在哪里。
——但尽管如此,我们随后可以,
作为人类,去商议那个权衡应该在哪里。
——是啊,所以至少现在,我们是在以知情的方式争论。
我们不是在要求某种不可能的东西。
我们在说,这是我们所处的位置、
这是我们所瞄准的。
而这个策略比那个策略更好。
——所以我会说,那是
一个真的很有力、真的很重要的第一步,
但它是个做得到的,
算是消除系统中就受保护类别而言
不可取程度的偏见。
然后有某种东西,
我听了你的毕业演讲,
其中有一些更模糊的东西,
比如你提到了愤怒的小鸟。
你想创造那种
喂养多巴胺享受的系统,
那种为「你回到这个系统、
享受玩游戏的那一刻、
得到点赞或别的什么」优化的系统,这类东西,
还是某种长期的改善。
你有在想那个吗?
那真的是在走向哲学领域。
——我觉得那也是个真的很重要的问题,
当然在想那个。
我不太把那想成一个 AI 问题。
但正如你所说,重点是,
我们建起了这个社会、这套基础设施,
在其中我们说我们有一个注意力的市场,
而我们作为一个社会已经决定
我们喜欢免费的东西。
所以我们想要手机上所有的应用都免费。
而那意味着它们全都在竞争你的注意力。
然后最终它们以某种方式赚一些钱,
通过广告、或游戏内购之类。
但它们只能靠击败所有其他应用、
靠灌输(争夺)你的注意力来获胜。
而我们建起了一个市场,
在其中它们似乎在跟你作对、
而不是跟你协作。
而我想找到一种方式,
让我们能改变这片赛场,
好让我们更觉得,嗯,这些东西是站在我这边的。
是的,它们在短期内让我有点乐子,
但它们也在长期帮我,
而不是跟我竞争。
——而那些不一定是冲突的目标。
它们只是那些激励,那种直接的、当下的激励,
当我们试图弄清楚这整个新世界时,
它似乎处在那件事较容易的那一面,
也就是喂养多巴胺、那种快感冲动。
——没错。
——但是,所以也许快速退一步,
回到写《人工智能:
一种现代方法》这本书的开头。
所以你在 90 年代,
当你第一次和斯图尔特坐下来写这本书、
去覆盖一整个领域时,
§02原文文稿 · 09:27–19:30
它是仅有的几本
为 AI 成功做到那件事的书之一。
而其实在很多其他计算机科学领域里,
那都是一项巨大的工程。
所以它一定相当令人望而生畏。
那个过程是什么样的?
你有设想过你会试图
覆盖整个领域吗?
对它有一个更循序渐进的、
系统性的方法吗?
感觉如何?
——所以我想它是这么来的,
我会和伯克利其他 AI 的教员去吃午饭,
而我们会说,「这个领域在变。
现在的书似乎有点落后了。
最近没人出新书。
我们应该做那件事。」
而每个人都说,「是啊,是啊,那是件该做的好事。」
而我们从来没做任何事。
——没错。
——然后我最终去了工业界。
我去了 Sun 实验室。
所以我想,嗯,那就是我可能的
学术出版生涯的终结了。
但一年后我在一个会议上又遇到了斯图尔特,
我说,「你知道我们一直在谈的那本书吗?
你们现在肯定已经写了一半了吧?」
(笑)
而他说,「嗯,我们一直在谈,我们从没做任何事。」
所以我说,「嗯,你知道,我们应该做它。」
而我想原因是我们都觉得
那是一个这个领域正在变化的时候。
而那是在两个方面。
所以那种老派的 AI 主要基于
布尔逻辑,而你有几个技巧
来应对不确定性。
而它主要基于知识工程,
即你把某件事做成的方式是你出去、
你采访一个专家、然后手工写下
他们所知的一切。
而我们在 95 年看到这个领域在两个方面变化。
一,我们在更多地转向概率
而非布尔逻辑,
而我们在更多地转向机器学习
而非知识工程。
而其他的书没有赶上那个浪潮。
它们还更多在老派里。
所以它们当然有一部分已在路上。
但我们说,如果我们现在完全采取
那个观点开始,我们能有一本不同的书。
而我们得以把那个拼起来。
——而那个过程字面上是什么样的,如果你记得的话?
你是从写一章开始?
你列了提纲吗?
——是啊,我想我们列了提纲,
然后我们算是把章节分配给各人。
当时,我搬到了波士顿,
而斯图尔特在伯克利。
所以基本上我们是通过互联网做的。
而那和今天做它不一样。
它意味着拨号线路和远程登录(telnet)。
你 telnet 进一个 shell、你打 cat 文件名,
然后你希望它在另一端被捕捉到了。
——而你们当然不是来回发图像
和图表。
——没错,没错,那行不通。
——但你有预料到这个领域从那天、
从 90 年代起会走向哪里吗?
你有看到在后来几十年里随之而来的、
向基于学习的方法、向数据驱动方法的增长吗?
——我们当然觉得学习是重要的。
我想我们没看到它像今天这么重要。
我们错过了大数据这个想法。
我们错过了深度学习这个想法,
它当时还没被发明出来。
我们本可以从一开始
就完全以机器学习的观点
来写这本书。
我们选择更多地从这个观点来做——
即我们要先发展
不同类型的表示。
而我们要谈
不同类型的环境。
它是完全可观测还是部分可观测?
它是决定论的还是随机的,等等?
而我们是沿着那些轴把它弄得更复杂,
而不是先聚焦于机器学习那个轴。
——你觉得,你知道,有某种意义上,
深度学习的狂热
对某一组特定的问题极其成功。
而,你知道,最终它会,
在一般情况下,撞上挑战。
所以就感知系统
与必须在世界中行动的机器人之间的差异而言,
你觉得在未来几十年的第五版、第六版里,
我们会回到《人工智能:一种现代方法》那种广度吗?
(接上)
你觉得深度学习会在这个更大的 AI 视野里
占据一章的位置吗?
——是啊,我觉得我们还不知道
这一切会如何收场。
所以在新版里,我们有一章关于深度学习。
我们请到伊恩·古德费洛来当
那一章的客座作者。
所以他说他能把他那整本深度学习书
浓缩进一章。
我觉得他做得很棒。
我们也很受鼓舞,他,你知道,
我们把旧的神经网络那一章给了他、说——
——随你怎么玩。
——把那个现代化。
而他说,你知道,其中一半还行。
那当然有很多新东西
已经被发展出来,
但一些核心还是一样的。
所以我觉得我们会对你在那里能做什么
有更好的理解。
我觉得我们会需要把我们用其他技术
能做的所有事情都纳入进来,对吧?
所以深度学习始于卷积网络、
非常接近感知。
而它此后已发展到能用动作
和某种程度的更长期规划做更多的事。
但我们需要在表示、
推理、单次学习等方面做得更好。
而我觉得我们还不知道那会如何收场。
——那么你觉得,看 80 年代专家
符号系统的一些成功、
但肯定的最终消亡、部分消亡,
你觉得在你看来,那里用逻辑和推理
等做的工作中,有没有一些智慧的内核
会再次崛起?
——所以我当然觉得表示和推理的想法
是至关重要的,有时
你就是没有足够关于世界的数据
去从头学习。
所以你得有某种表示的想法,
无论那是被编程进去的、被告知的、还是别的,
然后能够采取推理的步骤。
我觉得老派 AI 的问题是,一,
我们试图把一切都建立在这些
原子性的符号上。
而如果你像是想定义一个三角形的性质,
那很好,对吧?
因为它们有充分必要条件。
但真实世界里的东西没有。
真实世界是混乱的、没有锐利的边缘,
而原子性的符号有。
所以那是个糟糕的匹配。
然后另一个方面是,那种推理
是普适的、可应用于任何地方,
这在某种意义上是好的,
但它也意味着没有关于「在哪里应用」的指引。
所以你开始得到这些悖论,比如,
嗯,如果我有一座山、我移走一粒沙,
那它仍然是一座山。
但如果我反复那么做,到某个点它就不是了。
而有了逻辑,没有什么能阻止你
反复地应用(规则)。
但也许有了像深度学习这样的东西,
而我真的不知道它正确的名字是什么,
我们能把那些想法分离开来。
所以一,我们可以说,
「山」不只是一个原子性的概念。
它是某种像词嵌入那样的东西,
有一个更复杂的表示。
而第二,我们可以以某种方式学到,
是的,有这条规则——你可以移走
一粒沙、而你可以那么做很多次,
但你不能做近乎无限次。
但另一方面,当你在整数上
做归纳时,当然,那做无限次
就没问题。
而如果我们能,我们不知怎么得学到
这些策略何时适用,
而不是让这些策略完全中立、
并在任何地方都可用。
——每当你用神经网络、
每当你从数据中学习、
以自动化的方式从数据形成表示时,
就「这个神经网络如何看世界」而言,
它不是很可解释、
或对我们人类不是可内省的。
它为什么在这么多、在这么多情况下
如此出色地成功,
又在小处以令人意外的方式如此惨地失败?
那么你觉得那里的未来是什么?
仅仅更多的数据、更好的数据、
更有组织的数据能解决那个问题吗?
还是有一些符号系统的元素
需要被引入进来,
它们稍微更可解释一点?
——是啊。
所以我更愿意谈信任、
验证和确认,
而不只是谈可解释性。
然后我觉得解释是你为那些目标
所用的一个工具。
而我觉得它是一个重要的问题——
即除非我们信任这些系统,否则我们不想用它们,
§03原文文稿 · 19:33–28:18
而我们想理解它们在哪里起作用、
在哪里不起作用。
而解释可以是其中一部分,对吧?
所以我申请一笔贷款、被拒了,
我想要某种为什么的解释。
而你有,在欧洲,我们有 GDPR,
它规定你有权能够拿到那个。
但另一方面,
仅有一个解释是不够的,对吧?
所以我们习惯于和人、
和组织、公司等等打交道,
而它们可以给你一个解释,
而你没有任何保证
那个解释与现实相符,对吧?
所以银行可以告诉我,
「嗯,你没拿到贷款,
是因为你的抵押物不够。」
而那可能是真的,也可能真实的情况是
他们只是不喜欢我的宗教或别的什么。
我从解释里分辨不出来,
而无论那个决定是由
计算机还是由人做出的,这都成立。
所以我想要更多。
我确实想要那些解释,
而我想能够进行一场对话、
来来回回地说,
「嗯,你给了这个解释,但这个怎么说?
而如果这件事发生过会怎样?
而我需要改变什么才能做到那个?」
所以我觉得一场对话是比起
单一输出的一个解释更好的思考方式。
而我觉得我们需要各种各样的测试,对吧?
所以为了知道,
那个决定到底是基于我的抵押物、
还是基于我的宗教、肤色或别的什么?
如果我只看我自己的案子,我分辨不出来,
但如果我看所有的案子,
那我就能检测出一个模式,对吧?
所以你想拥有那种能力。
你想拥有这些对抗性测试,对吧?
所以我们以为我们在图像物体识别上
做得相当好。
我们说,「你看,我们在 ImageNet 等上面
算是相当接近人类水平的表现了。」
然后你开始看到这些对抗样本,
而你说,「等一下。
那一部分一点也不像人类的表现。」
——而你可以非常容易地搞乱它。
——你可以非常容易地搞乱它,对吧?
而是啊,你对人也能那么做,对吧?
所以——也许是以一种不同的方式。
——没错,人类分不清那条裙子是什么颜色。
——没错。
——所以他们易受某些攻击,
这些攻击与对机器的攻击不同。
但对机器的攻击如此惊人,
它们真的改变了你对我们所做之事的思考方式。
而我思考它的方式是,
我觉得问题的一部分是,我们被
我们那些低维的隐喻诱惑了,对吧?
——是啊。
——你知道,你看——我喜欢那个说法。
——你看一本教科书、你说,
「好,现在我们已经把这个空间勾勒出来了。」
而你知道,一只猫在这儿、一只狗在这儿,
也许中间有一个小小的点
在那里你分不出区别,
但大体上我们都覆盖到了。
而如果你相信那个隐喻,
那你就说,「嗯,我们就快到了。」
而你知道,只会有
寥寥几个对抗样本。
但我觉得那是错误的隐喻。
而你真正应该说的是,
它不是一个我们大体覆盖了的二维平面空间。
它是一个百万维的空间,
而一只猫是这条沿着疯狂路径延伸出去的线。
而如果你朝任何方向稍微踏离那条路径一点,
你就身处无人之境、
你不知道会发生什么。
所以我觉得那就是我们所处的位置。
而现在我们得应对那个。
所以它与其说是一个解释,
不如说是对「这些模型是什么、
它们在做什么」的一种理解。
而现在我们可以开始探索,
你如何修正那个?
——是啊,验证系统的稳健性等等。
但把它拉回到「信任」这个词。
你觉得我们对我们的机器人
在所应用的标准上是不是有点太苛刻了?
所以,你知道,
有一种舞蹈,
在人与人之间的非言语
和言语沟通里有一种舞蹈。
你知道,如果我们就人类
应用同样的标准,你知道,
我们相当快就彼此信任。
你知道,你和我以前没见过,
而就有某种程度的信任,对吧?
不会有什么大错特错的事发生。
然而对 AI,当我们看 AI 系统时,
我们似乎总是、总是带着怀疑去接近它。
而就像,它们必须
通过大量艰苦的工作
来证明它们甚至配得上我们一丁点的信任。
你怎么看那个?
我们如何打破那道屏障、弥合那道鸿沟?
——我觉得那是对的。
我觉得那是个大问题。
就,我朋友马克·莫菲特是个博物学家,
而他说,「关于人类最惊人的事,
是你可以走进一家咖啡馆、
或一座城市里繁忙的街道,
你周围有很多
你以前从没见过的人,
而你们不互相残杀。」
(笑)
——是啊。
——他说,黑猩猩做不到那个。
——是啊,没错。
(笑)
如果一只黑猩猩处在
这儿有一些不是我部落的(同类)的情形里,
坏事就会发生。
——尤其在一家咖啡馆里,
周围有美味的食物。
——是啊,是啊。
但我们人类已经搞清楚了那个,对吧?
——大体上。
——大体上。
我们仍然会打仗、仍然做可怕的事,
但大体上,我们已经学会了彼此信任、
并共同生活。
所以那对我们的 AI 系统也会很重要。
而且我也觉得很多重点在 AI 上,
但在很多情况下,AI 是技术的一部分,
但不真的是主要的东西。
所以我们所看到的很多,
更多是归因于通信技术而非 AI 技术。
是啊,你想做出这些好的决定,
但我们之所以能有任何一种系统,
是因为我们有了通信,
这样我们在收集数据、
这样我们能触及世界各地的很多人。
我觉得那是我们正在应对的一个更大的变化。
——说到触及世界各地的很多人,
在教育这一面,
在教育方面你做过的许多事情之一,
你教过《人工智能导论》课程,
它注册了 16 万名学生。
它是 MOOC、大规模开放在线课程
第一批成功的例子之一。
你从那段经历里学到了什么?
你觉得 MOOC、在线教育的未来
是什么?
——是啊,做它非常有乐趣,
尤其是正好在最开始,
只因为它令人兴奋、新鲜,
但它也意味着我们的竞争更少。
没错,所以你会听到的一件事是,
嗯,MOOC 的问题是完成率
这么低,所以一定是失败。
而我得承认,我是个主要的贡献者。
我大概开始了 50 门不同的课程、
我没完成,
但我从它们那里恰好得到了我想要的,
因为我从没打算完成它们。
我只是想稍微涉猎一下,
要么是看那个主题内容、
要么只是看那种教学法——
他们是怎么上这门课的。
所以我想我学到的主要一点是,
当我进来时,我以为挑战是信息,
即说如果我只是,拿我想让你知道的东西、
而我讲得非常清楚、解释得很好,
那我的工作就完成了,好事就会发生。
然后在上那门课的过程中,我学到,
嗯,是啊,你得有信息,
但真的,动机是最重要的东西,
即如果学生不坚持下去,
那内容有多好都无所谓。
而我觉得作为最早的课程之一,
我们受到了算是外部动机的帮助。
所以我们试着把它做得诱人,
并建立起让社区
彼此协作的方式,好让它更有动力,
但真的,很多是,嘿,这是个新东西,
而我真的很兴奋能成为一个新东西的一部分。
所以学生们带来了他们自己的动机。
所以我觉得这很棒,
因为世界各地有很多人
以前从未有过这个、
永远不会有机会去斯坦福
上一门课、或去 MIT、
或去其他学校之一,
但现在我们能把那个带给他们。
而如果他们带来自己的动机,
他们就能以一种以前不能的方式取得成功。
但那真的只是顶层的那部分人,
§04原文文稿 · 28:21–37:37
准备好那么做的人。
其余的人就是看不到、
或没有那个动机、
也看不到如果他们咬牙坚持、能做到,
那会给他们带来什么好处。
所以我觉得在我们能做到那个之前
还有很长的路要走。
而我觉得其中一部分基于技术,
但更多是基于社区的理念,
即你其实得把人们聚到一起。
一部分的聚到一起可以在线上做。
我觉得一部分真的得当面做,
才能建立起那种社区和信任。
——有一种有意的机制,
我们发展出了一种短的注意力时长,
尤其是年轻人,
因为线上的视频算是越来越短。
如今大脑发育的方式,
对于伴着互联网长大的人,
他们的注意力时长相当短。
而我会说我成长时也一样,
大概出于不同的原因。
所以如果我没被迫坐在一间物理教室里,
我大概不会学到我所学的这么多,
算是无聊、有时睡着,
但算是强迫自己走过那个过程,
去上有时极其困难的计算机科学课。
在你看来,当面的教育体验——
首先你自己有过、
你自己也教过——
与在线教育之间的差别是什么?
而我们如何弥合那道鸿沟,如果那甚至可能的话?
——是啊,所以我觉得有两个问题。
一是它是当面还是在线,
所以算是物理位置。
然后另一个算是归属,对吧?
所以你坚持了下来,一部分是
因为你在教室里,
而你看到其他每个人都在
以和你同样的方式受苦。
但也因为你注了册、你交了学费,
算是每个人都期待你坚持下去。
——社会、父母、同侪。
——没错,所以那是两件分开的事。
我是说,你当然可以想象,
我交了一大笔学费,
而每个人都注了册、说,「是的,你在做这个。」
但然后我在我的房间里,
而我的同学在不同的房间里,对吧?
我们可以那样设置。
所以它不只是线上对线下。
我觉得更重要的
是你所做出的承诺。
而拥有那种非正式的东西当然重要,你知道,
(接上)
我在课外遇到人、
我们一起交谈,因为我们都在其中一起。
我觉得那真的很重要,
既在保持你的动机上,
也因为那是一些最重要的学习
发生的地方。
所以你想拥有那个。
也许,你知道,尤其现在,
我们开始进入更高的带宽、
以及增强现实、虚拟现实。
你也许能在不身处同一个
物理地点的情况下得到那个。
——你觉得有可能,比如在不久的将来,
我们会在斯坦福看到一门课,
对注册的学生来说只在线上吗?
或者字面上,算是,它是课程的一部分,
而没有——
——是啊,所以你开始看到那个了。
我知道佐治亚理工有一个那样做的硕士项目。
——很多时候,它算是
在悄悄渗入,就硕士项目、
或算是继续教育而言,
考虑到学生等的约束。
但我是说,字面上,有没有可能我们,
你知道,斯坦福、MIT、伯克利,
所有这些地方在未来几十年只在线上?
——是啊,大概不会,因为,你知道,
他们对一个物理校园有很大的投入。
——当然,所以有一种既是财务的、
也是文化的惯性。
——没错,然后有某些
就是很难虚拟地做的事,对吧?
所以,你知道,我们身处一个领域——
如果你有自己的计算机、自己的纸张
等等,你可以在任何地方做那工作。
但如果你在一个生物实验室或别的什么,
你知道,你在家里没有所有对的东西。
——没错,所以我们的领域,编程,
你也做了很多,
你自己做了很多编程。
2001 年,你写了一篇关于编程的很棒的文章,
名为《十年自学编程》,
算是对所有那些
说《21 天自学编程》的书的回应。
所以如果你要给
今天刚入门编程的人建议——
距你写那篇文章已经过了几年——
去开展那段旅程的最好方式是什么?
——我觉得有很多不同的方式,
而我觉得「编程」现在意味着更多东西。
而我想,你知道,我写那篇文章时,
我更多想的是
成为一名专业的软件工程师。
而我觉得那是,你知道,
算是一个贯穿职业生涯的研究领域。
但我觉得现在有很多事
人们可以做,其中编程是
解决他们想解决之事的一部分,
而不必达到那个专业级的地位,对吧?
所以我不会去
写一百万行代码,
但,你知道,我是个生物学家或物理学家之类的,
甚至一个历史学家,而我有一些数据,
我想对那些数据问一个问题。
而我觉得为那个,你不需要 10 年,对吧?
所以有很多捷径
能够回答那类问题。
而,你知道,你今天看到很多强调
学编程、教孩子怎么编程。
我觉得那很棒,
但我希望他们能稍微改变一下讯息,对吧?
所以我觉得代码不是主要的东西。
我其实不在乎你是否知道 JavaScript 的语法、
或你能否在这个可视化语言里
把这些积木连接起来。
但我确实在乎的是,你能分析一个问题、
你能想出一个解决方案、
你能执行,你知道,建一个模型、
跑那个模型、测试那个模型、看结果、
验证它们是否合理、
问问题并回答它们,对吧?
所以它更是建模和解决问题。
而你用编程来做那个,
但它不只是为编程本身而学编程。
——那真的很有意思。
所以它其实几乎,在很多情况下,
是学习与数据打交道、
从数据中提取出有用的东西。
所以当你说解决问题时,
你真正的意思是拿某种,
也许收集某种数据集、
把它清理好、并说出关于它的某些有意思的东西,
这在各种领域里都有用。
——你知道,我有时发现自己卡在
算是老路子里,对吧?
所以,你知道,我会在做一个项目,
也许和一个更年轻的员工一起,
而我们说,「哦,嗯,这里有这个新的包,
它能帮着解决这个问题。」
而我会去、开始读手册。
而,你知道,我会读手册读两个小时。
然后我同事回来说,「我搞定了。」
——对。——你知道,
我下载了那个包、安装了它、
我试着调用一些东西,第一个没成、
第二个没成,现在我搞定了。
而我说,「但我有 100 个问题,关于
这个怎么工作、那个怎么工作?」
而他们说,「谁在乎,对吧?
我不需要理解整个东西。
我回答了我的问题,它是个又大又复杂的包。
我不理解它的其余部分,
但我得到了对的答案。」
而我只是,我很难进入那种心态。
我想理解整个东西。
而,你知道,如果他们写了一份手册,
我大概应该读它。
而,但那不一定是对的方式。
我觉得我得习惯于应对更多的、
对不确定性更自在、
并不事事都知道。
——是啊,所以我也在同样地挣扎。
它算是唐纳德、唐·克努斯(即高德纳)之间的那个光谱。
——是啊。——它算是那种非常,
你知道,在他能就一个问题说任何话之前,
他真的得深入到机器码汇编。
——是啊。——而对比你刚说的那种,恰恰相反。
(接上)
我组里有好几个学生,你知道,
20 岁,而他们能在几个小时内
解决几乎任何问题。
那大概会花我几周时间,
因为我会,像你说的,去读手册。
那么你觉得「精通」的本质,
你提到生物学,算是把编程应用于
外部学科,但(也包括)计算机科学家。
所以随着时间,现在有越来越高层次的
抽象可用。
所以这一周,有 TensorFlow 峰会,对吧?
所以如果你不是特别钻深度学习、
但你仍然是个计算机科学家,
你可以用 TensorFlow 完成惊人多的事,
而不真正知道任何机器学习的
基本内部原理。
你觉得「精通」的本质在改变,
§05原文文稿 · 37:40–47:06
甚至对计算机科学家来说,
比如成为一个专家程序员意味着什么?
——是啊,我觉得那是真的。
你知道,我们本就真的不该
聚焦于程序员,对吧?
因为它毕竟是一种技能,
而我们真正想聚焦的是结果。
所以我们建起了这个生态系统,在其中你把事情
做成的方式是自己给它编程。
至少当我起步时,你知道,库函数意味着
你有平方根,差不多就那样。
没错,其他一切你都从头造。
然后我们建起了一个生态系统,在其中很多时候,
嗯,你可以下载很多东西,它们做了
你所需要的一大部分。
所以现在它更是一个组装、
而非制造的问题。
而那是一种看问题的不同方式。
——从另一个关于精通的视角、
看程序员、或以计算的方式
对问题进行推理的人。
所以谷歌,你知道,从招聘的视角、
从招聘或组建一个
程序员团队的视角,你如何判断某人
是不是一个好程序员?
或者如果某人,再一次,所以我想偏离,
我想远离「程序员」这个词,
而是某个能解决大规模数据
等问题的人。
你如何通过面试过程
组建那样一个团队?
——是啊,而我觉得随着一家公司成长,
你在你所寻找的人的类型上变得更广,
对吧?
所以我觉得,你知道,在早期,
我们会面试人,而我们试图问的问题
是,他们离杰夫·迪恩有多近?
而大多数人都挺远的,
但我们会要那些,你知道,
没那么远的。
所以我们得到了一个算是同质的、
真的很棒的程序员群体。
然后随着公司成长,你说,嗯,
我们不想让每个人都一样、
有相同的技能组合。
所以现在我们在健康领域招生物学家、
我们招物理学家、
我们招机械工程师、
我们招,你知道,社会科学家和民族志学者、
以及有不同背景、
带来不同技能的人。
——那么你提到过你可能仍然会参与
代码评审。
鉴于你有丰富的经验,
如你也提到的,
你经常看到并倾向于指出
如今新人、初级开发者代码里的什么错误,
鉴于你从 Lisp(原文转写为「Wisp」)
到几十年编程的背景?
——是啊,那是个很棒的问题。
你知道,有时我试着看
设计的灵活性,是的,你知道,这个 API 解决了
这个问题,但它将来会往哪里走?
还有谁会想调用这个?
而,你知道,你有没有让他们
更容易做那件事?
——那是个设计问题、是文档、
还是某种你没法真正用言语说清的、
无定形的东西?
它只是感觉如何。
如果你设身处地站在一个开发者的角度,
你会用这种东西吗?
——我觉得它是「你如何感觉」,对吧?
所以是啊,文档是好的,
但它更是个设计问题,对吧?
如果你把设计做对了,那人们就会弄明白,
无论文档好不好。
而如果设计错了,那它用起来就会更难。
——这些年来你自己作为一个程序员
是如何变化的?
在某种程度上,你已经开始说了,
算是,你想读手册、
你想理解语法的核心、
理解这门语言本该如何被使用等等。
但从 80 年代、90 年代到今天,
那个演变是什么样的?
——我想一件事是,你不必像以前那样
那么担心效率的小细节,
(接上)
所以比如我记得,我 90 年代写我那本 Lisp 书,
而我想做的事情之一是说,
这是你如何做一个对象系统。
而基本上,我们要做到
让每个对象是一个哈希表、
你查找那些方法,而这就是它如何工作的。
然后我说,当然,
真正的 Common Lisp 对象系统要复杂得多。
它有所有这些效率类型的问题,
而这只是一个玩具。
现实生活里没人会这么做。
而结果 Python 基本上恰好做到了
我所说的、并说对象只是字典。
而是啊,它们也有几个小技巧。
但大体上,那个在 80 年代会慢上 100 倍的东西,
如今对几乎一切都够快了。
——所以你作为一个程序员,不得不放下也许
一种我记得我也有过的执念,
即试图写高效的代码。
——是啊,就是说真正重要的是
让项目做完所花的总时间。
而其中大部分会是程序员的时间。
所以如果你效率稍低一点,
但它让(代码)更易理解和修改,
那就是对的权衡。
——那么你写了相当多关于 Lisp 的东西。
你那本关于编程的书是用 Lisp 写的。
你有很多 Lisp 的代码在外面。
所以我自己、以及不知道 Lisp 是什么的人,
应该去查一查它。
对许多 AI 研究者来说它是最喜欢的语言。
它是一个最喜欢的语言。
一个他们如今从不使用的最喜欢的语言。
那么你觉得 Lisp 的哪部分
最美、最有力?
——所以我觉得美的部分是那种简洁,
即用半页你就能定义整门语言。
而其他语言没有那个。
所以你觉得你可以把一切都装进脑子里。
然后很多人说,嗯,那太简单了。
这里有所有这些我想做的事。
而我的 Java 或 Python 或别的有 100 或 200
或 300 条不同的语法规则,
难道我不需要那些全部吗?
而 Lisp 的回答是,不,我们只会给你
八条左右的语法规则,
但我们会允许你定义你自己的。
所以那是个非常有力的想法。
而我觉得这个想法——即说,
我可以从我的问题、从我的数据开始,
然后我可以为那个问题、为那些数据
构建我想要的语言。
然后我可以让 Lisp 定义那门语言。
所以你算是在混合层次、
并说我同时是一门语言里的程序员、
也是一个语言设计者。
而那让你的问题与你最终的代码之间
有一个更好的匹配。
而我觉得 Lisp 在那方面做得比其他语言更好。
——是啊,它是函数式编程
一个非常优雅的实现。
但你觉得为什么 Lisp 没有像 Python 这样的语言
那样大规模被采用、取得成功?
是那些括号吗?
是所有那些括号吗?
——是啊,所以我觉得有几件事。
所以一是,我觉得它是为单个程序员
或一个小团队、以及一个有好品位
的熟练程序员设计的,这个程序员会说,
嗯,我在做语言设计,
而我得做出好的选择。
而如果你做出好的选择,那很棒。
如果你做出坏的选择,你会伤到自己,
而团队里的其他人可能会很难
理解它。
所以我觉得就人数而言,
Lisp 所擅长的项目规模
有一个上限。
而作为一个行业,我们算是成长到了那之外。
我觉得那部分是因为括号。
其中一个笑话是 Lisp 这个缩写
代表「大量恼人的、愚蠢的括号」。
(笑)
我的缩写是「Lisp 在句法上是纯的」,
即说你需要的只是括号和原子。
但我记得,所以我们有那本 AI 教科书,
而因为我们是 90 年代做的,
我们书里有伪代码,
但然后我们说,嗯,我们会在线上放 Lisp,
因为那是当时 AI 的语言。
而我记得一些学生抱怨,
因为他们以前没接触过 Lisp,
而他们不太明白发生了什么。
而我记得一个学生抱怨,
我不明白这段伪代码
是如何对应这段 Lisp 的。
而在代码里的符号与伪代码之间
有一一对应。
而唯一的区别就是括号。
所以我说,对某些人来说,一定是
一定数量的左括号会关掉他们的大脑。
——是啊,从那个意义上很有可能,
而 Python 就走了另一条路。
——所以那就是我说
好,不能只有 Lisp 作为语言的那个点,
因为我不想,你只有 10 或 12 或 15 周、
或不管多少周来教 AI,
而我不想浪费其中两周去教 Lisp。
所以我说,我得有另一门语言。
Java 是当时最流行的语言。
我开始那么做,然后我说,
§06原文文稿 · 47:09–56:15
真的很难在伪代码和 Java 之间
有一一对应,
因为 Java 太啰嗦了。
所以然后我说,我要做一次调查、
找出最像我伪代码的那门语言。
而结果 Python 基本上就是我的伪代码。
不知怎么我仿佛通了灵、附了吉多,
设计出一种和 Python 一样的伪代码,
尽管那时我还没听说过 Python。
从那以后,那就是我一直在用的,
因为它一直是个很好的匹配。
——那么 Python 里,你那个
名为 PyTudes 的 GitHub 仓库背后的故事是什么,
里面那些 Python 的谜题和练习挺有趣。
——是啊,它看起来挺有趣。
我喜欢做谜题、我也喜欢当教育者。
我和 Udacity 做了一门课,Udacity 212,我想是。
它基本上是解决问题,
用 Python、看不同的问题。
——PyTudes 就练习而言是为那门课服务的吗?
我在想——
——是啊,所以那门课先来。
PyTudes 里的一些东西是
课里内容的整理,然后一些
只是继续在做新问题。
——那么 PyTudes 的组织脉络是什么?
它只是一堆很酷的练习的集合吗?
——只是我觉得有趣的任何东西。
——好,棒极了。
那么你在 2001 到 2005 年间是谷歌的搜索质量总监,
(接上)
在那早期、只有少数几个员工、
而公司疯狂成长的时候,对吧?
所以,我是说,谷歌彻底改变了我们发现、
分享和聚合知识的方式。
所以这是文明最根本的方面之一,对吧?
(接上)
即信息被分享,
历史上有不同的机制,
但谷歌把那个提升了 10 倍,对吧?
而你是其中一部分,对吧?
人们发现那些信息。
那么在那些早期的日子里,
在哲学或技术层面上
有哪些挑战?
——它绝对是个激动人心的时代,
而如你所说,我们每年规模翻倍,
而挑战是我们想得到正确的答案。
而我们得弄清楚那意味着什么。
我们得实现那个、我们得让它全都高效,
而我们得不断测试、
看我们是否在给出好的答案。
——而当你说好答案时,
它意味着不管人们
输入什么关键词、那类东西,
他们得到的结果都是按
那些结果对他们的可取性排序的。
比如他们点的第一个东西
很可能就是
他们实际在找的那个。
——没错,我们有一个指标
聚焦于第一个东西。
有的聚焦于整个页面。
有的聚焦于前三个左右。
所以我们看了很多不同的指标,
来衡量我们做得多好,
而我们把它拆分成一些子类别,
也许这里有一类我们做得不好的查询,
而我们试着修正那个。
早期,我们开始意识到
我们处在一个对抗性的位置。
所以我们开始想,
嗯,我们算是像图书馆里的卡片目录。
所以书在这儿、我们在一边,
我们只是反映那里有什么。
然后我们意识到,每次我们做一个改动,
网站管理员也做一个改动。
而它是博弈论的。
所以我们不得不想,不只是
这是不是我们现在该做的对的一步,
而且如果我们走这一步,
对手的反制会是什么?
那会不会把我们带到一个更糟的地方?
在那种情况下,我们不会走那一步、
我们会走不同的一步。
——而你有没有发现,我是说,
我假设随着互联网的流行和增长,
人们在创造新内容。
所以你几乎在帮着引导新内容的创造。
——是啊,所以那当然是真的。
所以我们确实改变了网络的结构。
所以如果你回想最早的日子,
拉里和谢尔盖有那篇 PageRank 论文,
而约翰·克莱因伯格有这个「枢纽与权威」模型,
它说网络是由这些枢纽构成的,
比如会是我那个关于狗的酷链接之类的页面。
而人们会就只列出链接。
然后会有权威,
即那个关于狗、
大多数人都链接到的页面。
那不再发生了。
人们不再费心去说「我那个关于酷链接的页面」,
因为我们接管了那个功能,对吧?
所以我们改变了那个的运作方式。
——那时你有想象过互联网
会像今天这样大规模地生机勃勃吗?
我是说,它当时已经在快速成长,
但它只是另一个,我不知道你有没有,
今天,如果你坐下来、只是带着惊奇看互联网,
那源源不断被创造、
源源不断被分享和部署的
内容的数量。
——是啊,它对我来说一直都令人意外。
我想我不太擅长预测未来。
——好。
——我记得 1980 年左右当研究生时,
我们有阿帕网,
然后有这个把它商业化的提议——
搞这个互联网,而这个疯狂的参议员戈尔
觉得那也许是个好主意。
而我记得当时想,哦,拜托,
你不能指望一家商业公司
理解这项技术。
他们永远做不成它。
是啊,好,我们可以有这个 .com 域名,
但它哪儿也去不了。
所以我错了,阿尔·戈尔对了。
——与此同时,「成为一家商业公司」的本质
也变了。
所以谷歌,在很多方面,在它创立之初,
我觉得与此前的公司不同。
——没错,所以有所有这些
与当时所可能的大相径庭的商业模式。
——那么就预测未来而言,
你觉得要建造一个
接近人类水平智能的系统需要什么?
你谈到过,当然,
我们不该那么执着于
创造人类水平的智能。
我们只是创造对人类非常有用的系统。
但你觉得要接近那个水平需要什么?
——没错,所以我当然不觉得
人类水平的智能是一件事,对吧?
所以我觉得有很多不同的任务、
很多不同的能力。
我也不觉得那应该是目标,对吧?
所以我不会想造一个
能以人类水平做乘法的计算器,对吧?
那会是一步倒退。
所以对很多东西,
我们应该瞄准远超人类的水平。
对另一些东西,也许人类水平
是个好的瞄准水平。
而对另一些,我们会说,
「嗯,别费心做这个,
因为我们已经有人类能接手那些任务了。」
所以如你所说,我喜欢聚焦于什么是有用的工具。
而在某些情况下,处于人类水平
是跨过那个门槛、
让工具变得有用的重要一环。
所以我们在像如今这些个人助理
这样的东西里看到——你要么在手机上得到、
要么在放在桌上的音箱上得到,
你想能够和它们对话。
而我觉得作为一个行业,
我们还没完全弄清楚正确的模型是什么、
关于这些东西能做什么。
而我们在瞄准,
嗯,你就像和一个人那样
和它们对话。
但我们还没兑现那个模型,对吧?
所以你可以问它,「天气怎么样?」
你可以问它,「放些好听的歌」,
以及五六件其他的事,
然后你就用完了它能做的东西。
——就一种深刻、有意义的连接而言。
所以你提到过电影《她》
是你最喜欢的 AI 电影之一。
你觉得一个人有可能
爱上一个 AI 系统吗?
如你提到的 AI 助手。
所以从「天气怎么样」
迈出这一大步到拥有一种深刻的连接。
——是啊,我觉得作为人,那正是我们爱做的事。
而我曾在一场《她》的放映上,
我们有一个座谈,
而有人问我,
「你觉得《她》和哪部别的电影相似?」
而我的回答是《布莱恩的一生》,
它不是一部科幻电影,
但两部电影都是关于想去相信
某种不一定真实的东西。
——是啊,顺便,对不知道的人说一句,
它是蒙提·派森(的作品)。
是啊,那说得很精彩。
——没错,所以我觉得那就是我们的样子。
我们想信任、我们想相信、
我们想坠入爱河,
而那不一定需要那么多,对吧?
所以我的孩子爱上了他们的泰迪熊,
§07原文文稿 · 56:20–1:03:05
而那只泰迪熊不怎么有互动性,对吧?
所以那全都是我们把自己的感情
投射到我们的设备和我们的东西上,
而我觉得那就是我们爱做的事,
所以我们会继续那么做。
——所以是啊,作为人类,我们渴望那种连接,
而 AI 只需在另一端做一点点工作
来接住我们。
——是啊,而当然,如果你能达到狗的水平,
很多人已经把大量的爱投入到他们的宠物身上。
——投入到他们的宠物身上。
有些人,据我被告知,
在和自动驾驶汽车打交道时,
把大量的爱投入到了他们无生命的车上,
所以它真的不需要多少。
那么在一个也许愚蠢、或有点哲学性的话题上停留一下,
什么是一个好的测试——
在你看来,什么是一个好的智能测试?
像图灵测试那样的自然对话
是个好测试吗?
换句话说,如果你看到一台计算机做出什么,
会让你印象深刻?
——是啊,我是说,我一直都印象深刻。
(笑)
没错,所以——但比如真正令人印象深刻的。
——你知道,下围棋、玩《星际争霸》,
那些都挺酷的。
你知道,而我觉得,当然,对话是重要的。
我觉得,你知道,我们有时有这些测试,
其中很容易糊弄系统,
其中你可以有一个能对话的聊天机器人,
但它从不进入一个
深到它真的会暴露出自己
究竟是不是智能的情形。
我觉得,你知道,图灵提议了那个,
但我觉得如果他还活着,他会说,
你知道,我并没有真的那么当真。
对吧?——是啊。
——而我觉得,你知道,这只是我的看法,
但我觉得图灵的重点不是
这个对话测试是个好测试。
我觉得他的重点是「有一个测试」才是对的事。
所以与其让哲学家说,
哦不,AI 是不可能的,你应该说,
嗯,我们就有一个测试,
然后那个测试的结果会告诉我们答案。
而它不一定非得是一个对话测试。
——没错,而随着技术演进提出一个新的、更好的测试
大概是对的方式。
你是否像很多公众那样担心——
不是很多,而是公众中一些发声的部分——
担心人工智能的生存性威胁?
所以如你所说,往更远的未来看,
我们大多数人没法预测很多。
所以当笼罩在这样的神秘里时,有一种担忧——
嗯,你开始去想最坏的情况。
那是占据你很多心智空间的东西吗?
——所以我当然会想威胁。
我会想危险,而我觉得任何新技术
都有正面和负面。
而如果它是一项强大的技术,
它既能被用于坏、也能被用于好。
所以我当然不担心机器人末日
和《终结者》式的情景。
我担心的是就业的变化,
以及我们能否反应得足够快
来应对那个?
我觉得我们今天已经在看到它了,
其中很多人对收入不平等
的运作方式感到不满,
而自动化可能帮着加速
那类问题。
我看到强大的技术总能被用作武器,
无论是机器人、无人机还是别的什么。
其中一些我们正因为 AI 而看到。
很多你不需要 AI。
而我不知道什么是更坏的威胁,
是一架自主无人机、
还是 CRISPR 技术变得可获取,
还是我们有很多威胁要面对,
其中一些涉及 AI、一些不涉及。
——那么对于技术所带来的威胁,
你大体上是否乐观地认为技术
也会缓解那些威胁、或创造新机会、
或保护我们免受这些新技术
更有害的影响?
——不,再一次,很难预测未来。
而作为一个社会,到目前为止,
我们熬过了核弹和其他东西。
当然,只有存活下来的社会
才在进行这场对话。
所以也许那里有一种幸存者偏差。
——在不久的将来,有什么问题
让你觉得兴奋、有挑战、有影响而值得去做——
为你自己、为这个共同体、以及广义地?
——所以我们谈了这些对话中的助理。
我觉得那是个很棒的领域。
我觉得把常识推理
与数据的力量结合起来是个很棒的领域。
——在哪个应用里,在对话里,
还是只是广义地说?
——就总体而言,是啊。
作为一个程序员,我对编程工具感兴趣,
既就我们今天拥有的
像 TensorFlow 等现有系统而言。
我们能否让它们对更广的一类人
更容易使用?
而且,我们能否把机器学习
应用于更传统类型的编程?
所以当你去谷歌、输入一个查询、
而你把某个词拼错了时,它会说,「你是不是想找?」
而我们之所以能做那个,
是因为很多其他人犯了类似的错误、
然后他们纠正了它。
我们应该能够进入我们的代码库、
和我们的 bug 修复库,而当我打一行代码时,
它应该能说,「你是不是想要某某?」
如果你今天打这个,你明天大概会
打进这个 bug 修复。
——是啊,那是一个真的很令人兴奋的应用,
几乎是一个在每个层面上
为编码、编程体验服务的助手。
所以我觉得我可以安全地代表整个 AI 共同体,
首先,感谢你
所做的了不起的工作,
当然也为你用《人工智能:一种现代方法》这本书
所做的了不起的工作。
我觉得我们都非常期待
第四版、然后第五版等等。
所以彼得,非常感谢你今天与我交谈。
——是啊,谢谢你,荣幸之至。
(欢快的音乐)
(欢快的音乐)
(欢快的音乐)
(欢快的音乐)
(欢快的音乐)
(欢快的音乐)