文章目录
- 一、说明
- 二、AlphaGo 传奇(一):游戏规则
- 三、AlphaGo 传奇(二):它是如何运作的?
- 四、AlphaGo 传奇(三):史诗般的战斗和人工智能的未来
一、说明
1997 年,IBM 的“深蓝”系统击败了国际象棋世界冠军加里·卡斯帕罗夫。当时,这场胜利被广泛誉为人工智能的里程碑。但事实证明,“深蓝”技术只对国际象棋有用,其他方面则无用。计算机科学并未经历一场革命。AlphaGo 这个围棋系统最近击败了历史上最强大的围棋选手之一,它会有什么不同吗?
二、AlphaGo 传奇(一):游戏规则
2016 年,AlphaGo 成为少数获得最高排名的职业围棋选手之一,一举席卷全球。问题是?AlphaGo 不是一个人,而是一个由 Google DeepMind 研究人员设计的程序。超过 2 亿人观看了与李世石的比赛。具体来说,这大约是英国总人口的 3 倍。 随后,参与该项目的研究人员获得了马文·明斯基奖章,并登上了《自然》杂志的封面(这些只是他们取得的成就中的一小部分)。自原版 AlphaGo 问世以来,已经经历了几代,分别是 Master、AlphaGo Zero、AlphaZero 和 MuZero。
但这到底是怎么回事?为什么它如此重要?在这个由 3 部分组成的系列文章中,我们将介绍围棋游戏的规则,包括它为何具有挑战性、AlphaGo到底是什么、它是如何工作的,以及接下来会发生什么……
第一部分:什么是“Go”?
围棋是至今仍在玩的最古老的棋盘游戏之一。每局有 2 名玩家,每名玩家使用一组白色或黑色棋子。标准围棋棋盘有 19×19 条网格线,有 361 个交叉点。游戏的目标是比对手包围更多的领地,领地定义为被单一颜色的棋子包围的空点数量。每位玩家轮流将棋子放在交叉点上。
主要有 4 条规则。1
) 一旦玩家将棋子放到棋盘上,除非被吃掉,否则棋子不能从原位置移动。2
) 如果玩家的棋子被对方的棋子包围,则该棋子将被吃掉。3
) 玩家不能重复之前的玩法,以避免在吃掉对手的棋子时出现来回反复的情况。4
) 如果玩家不想移动,则允许其放弃,如果双方连续放弃,游戏结束。最终得分为玩家领地的数量减去其被吃掉的棋子的数量。
当玩家级别不同时,会使用让分制,即给级别较低的玩家某种形式的让步。这可以是游戏结束时的额外分数,或有更多可用棋子。
第 IB 部分:围棋难在何处?
编写计算机程序来下围棋非常困难,因为棋手的技能取决于位置判断和人类的模式识别。人类棋手很早就能识别出模式(黑棋和白棋),并根据棋盘位置决定自己的棋子是否会被吃掉。由于目前的程序还不够复杂,无法模拟棋手的视觉意识,因此算法解决方案是根据之前的合法打法对可能的走法进行详尽的搜索。具体来说,游戏位置有大约 10 170 种,游戏状态则有更多。每种状态都包含玩家独特的走法历史。
相反,国际象棋等游戏本质上是组合游戏,因此计算机更容易评估可能的走法和组合,因为有许多算法技术可以加快搜索过程。人类玩家在国际象棋游戏中处理所有可能的组合的能力较弱。您可以在此处了解有关可解游戏的更多信息。
IC部分:什么是AlphaGo?
AlphaGo 是一个计算机程序,它使用 人工智能、深度学习、强化学习和监督学习中的多种概念来下围棋。因此,您不是在线与人对战,而是与一个已经学会如何采取最佳动作来取胜的计算机程序对战。数据如何?AlphaGo 在与其他围棋程序对战的 495 场比赛中仅输掉 1 场,并击败了 2 名世界冠军。
AlphaGo 成功的关键概念之一是深度学习(DL)的使用。如上所述,计算机围棋的主要难点之一是模式识别。众所周知, DL擅长视觉领域的模式识别,因此产生了非常成功的图像分类器。例如,区分 1-10 范围内的手写数字,或识别照片中的动物类型(猫、狗、青蛙、松鼠等)。DL 的算法和表达能力被用于模拟人类围棋玩家,其中每个游戏玩法和位置都由二维图像表示。
好了,现在我们知道了规则和术语,下一篇文章将解释 AlphaGo 的实际工作原理。到时候见!
分享这个:
2024 年 4 月 16 日汤姆洛克斯数学
三、AlphaGo 传奇(二):它是如何运作的?
克莱尔·滕
在我们深入了解 AlphaGo 内部工作原理之前,让我们首先定义第一部分中提到的一些术语,即深度学习(DL)、强化学习(RL)和监督学习(SL)。
深度学习 (DL) 是一种使用许多堆叠和连接的神经元或层的模型。为了说明其工作原理,让我们看一个图像分类器试图区分狗和猫的例子。广义上讲,每一层都会学习不同的特征。例如,第一层学习耳朵形状,第二层学习脸部形状,第三层学习眼睛颜色。这些连接学习到的相关信息可能有助于区分狗和猫。更深的模型有更多的层,可以学习更多的特征。相反,浅层模型可能只有 1 或 2 层,其中用于分类的唯一信息是耳朵和脸部形状。在某些应用中,浅层模型就足够了,但 DL 模型更强大,表现力更强。
强化学习 (RL) 是 AI 的一个子领域,它创建了学习一系列动作以达到最佳解决方案的系统。一个简单的理解强化学习的方法就是一个孩子学习如何骑没有辅助轮的自行车。最初,孩子骑上车座后几乎立刻就失去了平衡。摔倒后,他们会站起来,再试一次。随着时间的推移,孩子会通过反复试验学会如何保持平衡。在这里,一系列最佳动作可能如下所示:握住车把,一只脚踩在地上,另一只脚踩在踏板上。每个单独的动作都会带来奖励,最终产生累积分数。效率较低的一系列动作可能会返回与平衡自行车相同的最终输出,但会返回较低的分数。例如,如果孩子被附近的遛狗者分散了注意力,并花了一些动作来和狗玩耍。
相比之下,监督学习 (SL) 看起来略有不同。现在想象一下,孩子不再没有任何经验,而是有一些写在抽认卡上的例子,如下图所示。孩子不是从头开始学习,而是已经知道一系列可以导致自行车平衡或不平衡的动作。由于输入(抽认卡)和输出(成功/失败)已经定义,孩子通过研究给定抽认卡中的模式来学习预期的标签(成功/失败)。当孩子得到一辆不同类型的自行车并且他们仍然知道如何保持平衡时,就会实现最终的输出。他们已经学会了如何概括和应用他们学到的技能在类似但新的场景中。
第一行有 3 张卡片,说明如何骑自行车,最后一张卡片根据操作标有成功或失败的标签。第一行给出成功的例子,而第二行给出失败的例子。
总而言之,RL 专注于通过反复试验来学习的最佳过程,而 SL 则通过使用训练示例进行学习。两者都达到了相同的最终目标,但 RL 关心实现目标的 过程,而 SL 则不关心。
好的,呼。现在我们已经完成了解决所有术语的艰苦工作,因此我们准备深入研究 AlphaGo 的不同组件,这些组件共同打造出一名围棋大师。
成为大师需要三个主要步骤:
i)学徒向大师学习如何在围棋中走获胜棋步;
ii)学徒在围棋桌上与自己对弈以提高自己的策略;
iii)学徒评估哪些棋步最有利于赢得最后的比赛。
简而言之,这份清单告诉我们学徒首先需要学习如何玩游戏(i);然后他们需要改进他们的策略(ii);最后,他们需要评估哪些策略会在真正的游戏中取得成功(iii)。
第一部分:向专家学习。
AlphaGo 的第一部分构建了一个 SL 模型,该模型从专家走法数据库(3000 万种走法)中学习。继续我们之前的 SL 示例,想象一个学徒收到了包含专家采取的一系列行动的抽认卡。但是,标签不是成功/失败(如我们的自行车示例),而是输出为专家根据他们之前的步骤将采取的下一步行动。
现在,这个学徒要学习和吸收很多很多的抽认卡。因此,为了减轻他们的负担,训练了两个不同的 SL 模型。这两个模型具有相同的架构,即层的设计。不同之处在于更新和调整的参数数量,这与所需的训练时间长度直接相关。参数越多,需要更多的计算能力和时间。第一个学徒预测结果的准确率为 55%,比之前的基准高出 10%。第二个学徒预测的准确率为 24%,但计算输出的速度比前者快 3 倍。
第二部分:学习如何成为一名更好的球员
现在学徒已经从第一部分学习了策略,是时候改进他们的游戏玩法了。最终目标是让玩家为自己创造新的动作,而不是仅仅模仿专家。因此,玩家使用不太准确但更高效的模型作为起点。我们不再需要第一个专家动作数据库。
为了提高水平,学徒现在要与自己对战,用随机选择的学习策略与另一个策略对战。这种自我对战的形式就是强化学习。每场新游戏都允许玩家根据哪些策略有效、哪些策略无效来迭代和更新他们之前的策略。请记住,在强化学习中,实现目标的过程与最终目标本身同样重要,这意味着玩家正在学习如何使用最佳解决方案赢得游戏,从而获得最高分。
第三部分:评估他们的游戏玩法
好吧,我们有一位玩家先从专家那里学习游戏,然后通过反复与自己比赛来提高水平。最后要解决的问题是评估他们玩得有多好——哪一系列动作可以获胜?
最基本的解决办法是建立一个模型,使用第一部分中的专家数据库来评估玩家的动作。由于数据库的位置高度相关(代表整个游戏玩法而不是单个动作),最终的评估模型将记住整个游戏而不是概括新的位置。这种现象被称为过度拟合。你可以把它想象成通过只记住过去的试卷来备考。如果期末考试与你的一次练习完全一样,你就会取得很好的成绩!但是,如果看起来不一样,你将无法回答问题,因为你一开始就不知道它 为什么有效。
相反,为了进行评估,该模型使用第二部分中进行的游戏作为新数据库。每场比赛仅使用 1 个位置进行训练以缓解相关性问题,返回 3000 万个独特的游戏位置。
就这样!第一、二和三部分——学习、改进和评估——不断重复、改进,直到我们最终拥有一位围棋大师。在本系列的第三部分也是最后一部分中,我们将首次看到 AlphaGo 与人类玩家进行对决,并探索接下来会发生什么……
关于人工智能的定义尚无统一意见 。广义上讲,人工智能程序是像人类一样思考和行动的系统。
分享这个:
2024 年 4 月 29 日汤姆洛克斯数学
四、AlphaGo 传奇(三):史诗般的战斗和人工智能的未来
在前两篇文章中,我们了解了什么是 AlphaGo(一种经过训练可以下围棋的人工智能)以及它的工作原理(深度学习),那么接下来是什么?敬请期待……
这可能并不明显,但训练这些模型需要大量的计算能力。在本系列的第 2 部分中,我们了解了 AlphaGo 如何利用 3000 万个数据点通过监督学习 (SL) 从专家游戏中学习。仅这个模型就花费了 50 个图形处理单元 (GPU) 和 3 周的时间进行训练。为了评估玩家在通过自我对弈学习和改进后的动作,又花了一周时间。作为参考,个人计算机 (PC) 通常有 1 个中央处理器 (CPU),并且可能还有 1 个 GPU(如果安装)。GPU 是功能更强大、速度更快的 CPU,因此 50 个 GPU 工作 4 周确实需要大量的计算能力!
经过 4 周的等待,AlphaGo终于准备好上场了。团队首先让 AlphaGo 与最先进的计算机围棋程序 — — Crazy Stone、Zen 和 Pachi — — 进行对弈,495 场比赛中,AlphaGo 只输了 1 场。胜率高达 99.8%。但它的胜率甚至更高。正如本系列第 1 部分所讨论的那样,游戏规则允许使用让子来解释玩家之间的技能水平差异。在与其他围棋程序的第二场比赛中,AlphaGo 给了对手 4 颗让子,即在棋盘上放置 4 颗额外的棋子。最终比分如何?AlphaGo 仍然赢得了 77% 以上的比赛。
好吧,那么人类选手呢?第一个对手是三届欧洲围棋冠军樊麾。在五盘比赛中,AlphaGo 以 5-0 不让分获胜。AlphaGo 随后与李世石对决,后者被认为是过去十年最伟大的围棋选手……
2016 年 3 月,AlphaGo 赢得了 100 万美元的大奖,在为期 6 天的比赛中,AlphaGo 以 4-1 获胜,全球观众超过 2 亿。AlphaGo 不仅赢得了比赛,还发明了全球围棋专家从未见过的新招式。哇哦。
那么,接下来会怎样?自 AlphaGo 以来,已经开发了许多其他迭代版本,包括 Master、AlphaGo Zero、AlphaZero 和 MuZero。每次迭代都在其前身的基础上不断改进,AlphaGo Zero 的训练完全不需要任何专家知识!
毫无疑问,发展将会继续,而 ChatGPT 等聊天引擎的引入只会加速增长,但潜在的限制和挑战是什么?
好吧,正如上面提到的——以及在本系列第 2 部分中讨论的——AI 模型需要大量的训练数据才能很好地概括。而且正如前面所讨论的,在非常强大的 GPU 上训练这些模型需要很长时间。与 AI 模型相比,在第 2 部分中学习如何骑自行车的孩子很可能花费更少的精力和时间学习!围棋的规则定义得非常明确(棋盘游戏通常如此),但现实生活环境却很混乱。这意味着建立一个涉及使用真实场景进行学习的强化学习 (RL) 模型极其困难。运行“学会下棋”模拟的成本与人类在复杂环境中的学习能力无法相比,它要大几个数量级。
AlphaGo 向我们展示了建立一个能够完全从环境线索中学习的模型是可能的,尽管它有明确的规则和运行数百万次模拟的能力。从那时起,强化学习取得了多项进展,尤其是在自动驾驶汽车领域。与预期的需要数百万次迭代才能达到合理的能力水平不同,最近的算法能够在短短 20 分钟内学会车道跟踪。这里的重点是能够通过智能反复试验来解决给定的任务,而不仅仅是查看数百万个看似随机的数据点。
在这个由 3 部分组成的 AlphaGo 系列文章中,我希望能够让您了解 AlphaGo 在人工智能领域的重要性,并简要概述算法的工作原理,以及将强化学习算法推广到当今研究人员面临的现实世界的挑战。感谢您的阅读!