---
schema_version: "library-reader-v1"
source_type: "original_book"
title: "人工智能时代：破解人机共存密码（套装共10册）"
author: null
edition: null
publisher: null
year: null
isbn: "9787521719512"
library_document_id: "396e1bee-219e-4bee-9884-3214c17ff8f5"
source_sha256: "e5d429a1fedfac2a13b0bd25057c39d818c33927767948a9bb41411f01413ced"
pdf_physical_page_count: 3314
pdf_physical_page_index_base: 0
range_start: 310
range_count: 10
html_url: "https://workshop.closeclaw.top/api/ai/read/396e1bee-219e-4bee-9884-3214c17ff8f5?start=310&limit=10"
markdown_url: "https://workshop.closeclaw.top/api/ai/read/396e1bee-219e-4bee-9884-3214c17ff8f5.md?start=310&limit=10"
previous_url: "https://workshop.closeclaw.top/api/ai/read/396e1bee-219e-4bee-9884-3214c17ff8f5.md?start=300&limit=10"
next_url: "https://workshop.closeclaw.top/api/ai/read/396e1bee-219e-4bee-9884-3214c17ff8f5.md?start=320&limit=10"
---

# 人工智能时代：破解人机共存密码（套装共10册）

> 页码规则：PDF_PHYSICAL_PAGE_INDEX 是从 0 开始的权威文件物理页索引；PRINTED_PAGE 是页面中识别出的印刷页码，可能为空，二者不得混用。

## PDF_PHYSICAL_PAGE_INDEX=310 | PRINTED_PAGE=NOT_DETECTED

下围棋的目标很明确：围住比你的对手更多的地盘即取胜。可能的动作也很明确：在空位置上放棋子。就像在地图上导航一样，决定该怎么做的显而易见的方法是：想象不同的动作序列可能产生的不同未来，并选择最佳的未来。你问：“如果我这么做，我的对手会怎么做？接下来我又该怎么办？”这一思路如图16所示。从空棋盘的初始状态（有时称为根节点）开始，黑棋可以从3种不同的走子方法中选择一种。（其他的走子方法与这3种对称。）然后轮到白棋走棋。如果黑棋选择走在中央，那么白棋有两种不同的走子方法，一是走在角上，二是走在边上。然后再次轮到黑棋走棋。通过想象这些可能的未来，黑棋可以选择在初始状态时走哪一步棋。如果黑棋无法沿着每一条可能的路线计算到棋局结束，则可以使用一个评价函数来评估叶子节点的好坏。这里，评价函数将+5和+3赋值给两个叶子节点。即使是3×3路棋盘的围棋，我也只能展示未来棋局中博弈树的一小部分，但我希望这个思路足够清晰。的确，这种决策方式似乎只是简单的常识。

## PDF_PHYSICAL_PAGE_INDEX=311 | PRINTED_PAGE=NOT_DETECTED



## PDF_PHYSICAL_PAGE_INDEX=312 | PRINTED_PAGE=NOT_DETECTED



## PDF_PHYSICAL_PAGE_INDEX=313 | PRINTED_PAGE=NOT_DETECTED

问题是，19×19路棋盘上有超过10<sup>170</sup>种可能的局面。尽管在地图上找到一条确保最短的路线相对容易，但在围棋中找到一条确保获胜的路径完全不可行。即使该算法花费10亿年时间思考，它也只能探索整个可能性之树的一小部分。这就引出了两个问题：第一，程序应该探索博弈树的哪一部分？第二，对于它已经探索完的那部分博弈树，程序应该选择走哪一步棋？

我们先回答第二个问题：几乎所有的前向搜索程序都在使用的基本思路是，给叶子节点，即最遥远的未来的那些状态，各赋予一个估计值，然后“回溯”，找出根节点的各个选择有多好。<sup>[1]</sup> 例如，查看图16底部的两个局面，你可能会猜测左边局面的值为+5，右边局面的值为+3（从黑棋的角度看），因为角上的白子比边上的白子更容易受到攻击。如果这些值是正确的，那么黑棋可以预测白棋会在边上走棋，从而导致右边的局面。因此，给黑棋第一步棋在中央走棋赋值+3似乎是合理的。阿瑟·塞缪尔的西洋跳棋程序在1955年打败了它的创造者，<sup>[2]</sup>“深蓝”在1997年打败了当时的世界国际象棋冠军加里·卡斯帕罗夫，AlphaGo在2016年击败前世界围棋冠军李世石，它们采用的都是这个方案，只是略有不同而已。对于“深蓝”，人类主要基于对国际象棋的理解编写了一部分程序，用于评估叶子节点处的各种不同局面。对于塞缪尔的程序和AlphaGo，这些程序是从成千上万盘对局中学到的。

我们再来回答第一个问题，程序应该探索博弈树的哪一部分？这其实是在问：智能体应该做什么计算？这是人工智能中最重要的问题之一。对于玩游戏的程序来说，这是至关重要的，因为它们只有很短的、固定的时间分配，而且将时间用于毫无意义的计算是肯定会失败的。对于在现实世界中工作的人类和其他智能体来说，这一点甚至更为重要，因为现实世界要复杂得多：除非选择得当，否则在决定做什么的问题上，再多的计算也起不了一丁点作用。如果你正在开车，一头麋鹿走到路中间，此时你考虑用欧元换英镑，或是黑棋第一步棋是否应该下在棋盘中央是毫无用处的。

## PDF_PHYSICAL_PAGE_INDEX=314 | PRINTED_PAGE=NOT_DETECTED

人类能够管理自己的计算活动，从而合理而又迅速地做出理智的决策，这种能力至少与人类正确感知和推理的能力一样非凡。这似乎是我们自然而然、毫不费力获得的东西：当我父亲教我下国际象棋时，他教给我规则，但他并没有教我如何用某种聪明的算法来选择探索游戏树的哪些部分，以及忽略哪些部分。

这是如何发生的？我们可以在什么基础上指导我们的思想？答案是，计算的价值在于它能提高你的决策质量。选择计算的过程叫元推理，这意味着对推理进行推理。正如人可以根据期望值理性地选择动作，我们也可以选择计算。这叫作理性元推理。<sup>[3]</sup>它的基本思想很简单：

执行能够最大限度地改善决策质量的计算，当成本（就时间而言）超过预期改善时停止计算。

就是这样。不需要花哨的算法！这个简单的原理在包括象棋和围棋在内的广泛问题中生成了有效的计算行为。我们的大脑似乎也在执行类似的任务，这就解释了为什么我们不需要学习新的、特定于游戏的算法来思考我们所学的每一个新游戏。

当然，探索从当前状态延伸到未来的可能性之树并不是做出决定的唯一途径。通常，从目标开始向后追溯更有意义。例如，公路上出现麋鹿暗示了你应该设置目标，避免撞到麋鹿，这又反过来暗示了3种可能的动作：左转、右转或刹车。这个目标并不会让你把欧元换成英镑或把黑色棋子落在棋盘中央。因此，目标对一个人的思维有很好的聚焦效果。目前没有任何游戏程序利用这一想法。事实上，目标通常会考虑所有可能的合法动作。这是我不担心AlphaZero会接管世界的（诸多）原因之一。

## PDF_PHYSICAL_PAGE_INDEX=315 | PRINTED_PAGE=NOT_DETECTED

展望更远的未来

让我们假设你已经决定在围棋棋盘上落下具体的一步棋。太棒了！现在你必须真正做到这一点。在现实世界中，这涉及你把手伸进棋盒里拿起一枚棋子，再移动到预定位置上方，然后按照围棋礼仪，轻轻地或者用力地把棋子规整地落到棋盘上。

上述动作的每一个步骤，都相当于一支由感知和运动控制指令组成的复杂舞蹈，涉及手、手臂、肩膀和眼睛的肌肉和神经。当你伸手去拿棋子的时候，你要确保你身体的其余部分不会因为重心的转移而不稳。你可能没有意识到自己选择这些动作，但这并不意味着它们不是由你的大脑选择的。例如，棋盒里可能有许多棋子，但是你的“手”——实际上是你的大脑处理了感官信息，仍然需要从中选择一枚棋子。

我们做的几乎每件事都是这样的。开车时，我们可能会选择向左变换车道，但这个动作需要看后视镜和你身后的情况，你可能会调整速度，转动方向盘，同时监控进度，直到动作完成。在谈话中，例行的回答，如“好的，让我查一下日历，然后再给你回复”，需要清楚地说出16个字，每一个字都需要数百个精确协调的运动控制指令来控制舌头、嘴唇、下巴、喉咙和呼吸器官的肌肉。你说母语时，这个过程是自动的，它类似于在计算机程序中运行子程序（见第2章）。事实上，复杂的动作序列可以变成常规的和自动的，从而在更复杂的过程中作为单个动作发挥作用，这是人类认知的绝对基础。用一种不太熟悉的语言说话，例如问去波兰的什切布热申市怎么走，会让你意识到，在你的生活中曾经有一段时间，阅读和说话是需要脑力劳动和大量练习的困难任务。

因此，你的大脑面临的真正问题不是在棋盘上选择一步棋，而是向你的肌肉发送运动控制指令。如果我们把注意力从围棋走子层面转移到运动控制指令层面，问题看起来就大不相同了。粗略地讲，你的大脑大约每100毫秒就会发出一次指令。我们每个人大约有600块肌肉，所以理论上每秒最多可以做6 000个动作，每小时2 000万个，每年2 000亿个，一生20万亿个。所以请明智地使用它们！

## PDF_PHYSICAL_PAGE_INDEX=316 | PRINTED_PAGE=NOT_DETECTED

现在，假设我们尝试应用类似AlphaZero的算法来解决这个层面的决策问题。AlphaZero大约能向前计算50步棋，但是50步棋的运动控制指令只能让你计划几秒钟后的未来！这对于长达一个小时的围棋对局所需要的2 000万个运动控制指令而言远远不够，对于攻读博士学位所涉及的1万亿（1 000 000 000 000）个步骤而言更远远不够。因此，虽然AlphaZero在围棋对局中比任何人都看得更远，但这种能力在现实世界中似乎并没有帮助。这是一种错误的前向搜索。

当然，我并不是说攻读博士学位实际上需要提前计划1万亿次肌肉动作。学生最初只会制订非常抽象的计划，可能是选择加州大学伯克利分校或其他学校，选择博士生导师和研究课题，申请资金，获得学生签证，前往选定的城市，做一些研究等。为了做出选择，你要进行足够多的思考，考虑正确的事情，这样你的决定就会变得清晰起来。如果获得签证等抽象步骤的可行性不明确，那么你需要进行更多的思考，或许还需要搜集信息，这意味着让计划在某些方面更加具体，例如选择一种你有资格申请的签证类型，搜集必要的文件，并提交申请。图17显示了这样一个抽象计划，并将获得签证的步骤细化为三个子计划。当你开始执行这个计划的时候，它的初始步骤必须一直细化到原始级别，这样你的身体才能执行它们。

## PDF_PHYSICAL_PAGE_INDEX=317 | PRINTED_PAGE=NOT_DETECTED

AlphaGo根本无法进行这种思考，它考虑的唯一动作就是从初始状态开始按顺序发生的原始动作。它没有抽象计划的概念。试图将AlphaGo应用于现实世界，就像试图通过思考第一个字母应该是A、B还是C来写一部小说一样。

1962年，赫伯特·西蒙在著名的论文《复杂性的体系结构》中强调了层级组织的重要性。<sup>[4]</sup>自20世纪70年代初以来，人工智能研究人员已经开发出多种方法来构建和细化层级组织的计划。<sup>[5]</sup>一些由此产生的系统能够构建具有数千万步骤的计划，例如在大型工厂组织制造活动。

现在，我们在理论上对抽象动作的含义有了相当深刻的理解，即如何定义抽象动作对世界产生的影响。<sup>[6]</sup>例如，考虑一下图17中的抽象动作“前往伯克利”。它可以通过多种不同的方式实现，每种方式都会对世界产生不同的影响：你可以乘船偷渡到伯克利，飞往加拿大然后步行跨越边境，租用私人飞机等。但是你现在不需要考虑这些选择。只要你确信有一种方法可以做到不消耗太多的时间和金钱，也不会招致太多的风险而危及计划的其余部分，你就可以把抽象步骤

## PDF_PHYSICAL_PAGE_INDEX=318 | PRINTED_PAGE=NOT_DETECTED

“前往伯克利”放入计划中，并确信计划会成功。通过这种方式，我们可以制订高层次的计划，这些计划最终将变成数十亿或数万亿个原始步骤，在真正开始执行这些原始步骤之前，你完全不必担心这些步骤是什么。

当然，如果没有层级组织，这一切都是不可能的。如果没有像获得签证和写论文这样的高层次的动作，我们就无法制订一个抽象的计划来获得博士学位；如果没有获得博士学位和创办公司这种更高层次的动作，我们就无法制订出先获得博士学位然后创办公司的计划。在现实世界中，如果没有几十个抽象层次上的大量动作库，我们就会迷失方向。（围棋游戏没有明显的动作层次，所以我们大多数人在下围棋时都很迷茫。）然而，目前现有的所有分层规划方法都依赖于人为产生的抽象动作和具体动作的层级组织，我们还不知道如何从经验中学习这种层级组织。

[1] 未 来 60 年 国 际 象 棋 程 序 的 基 本 计 划 ： Claude Shannon, “Programming acomputer for playing chess,” Philosophical Magazine, 7th ser., 41 (1950):256–75。香农的建议借鉴了几个世纪以来通过累加棋子价值来评估国际象棋局面的传统，请参见Pietro Carrera, Il gioco degli scacchi (Giovanni de Rossi, 1617)。

[2] 一份描述塞缪尔对西洋跳棋早期强化学习算法的开拓性研究的报告：Arthur Samuel, “Some studies in machine learning using the game of checkers,” IBM Journal of Research and Development 3 (1959): 210–29。

[3] 理性元区域划分的概念及其在搜索和游戏中的应用源于我的学生埃里克·韦弗尔德 （Eric Wefald）的论文研究，他在写完自己的作品之前就悲惨地死于一场车祸。以下是在 他死后发表的文章：Stuart Russell and Eric Wefald, Do the Right Thing: Studies in Limited Rationality (MIT Press, 1991)。另请参见：Eric Horvitz,“Rational metareasoning and compilation for optimizing decisions under bounded resources”, in Computational Intelligence, II: Proceedings of the International Symposium, ed. Francesco Gardin and Giancarlo Mauri (North-Holland, 1990); and Stuart Russell and Eric Wefald, “On optimal game-tree search using rational metareasoning,” in Proceedings of the 11th International Joint Conference on Artificial Intelligence, ed. Natesa Sridharan (Morgan Kaufmann, 1989)。

## PDF_PHYSICAL_PAGE_INDEX=319 | PRINTED_PAGE=NOT_DETECTED



下一段：[继续读取](https://workshop.closeclaw.top/api/ai/read/396e1bee-219e-4bee-9884-3214c17ff8f5.md?start=320&limit=10)
