没有人类数据库的 AlphaGo(和其他使用强化学习的游戏程序)

数据挖掘 强化学习
2021-10-09 02:57:39

我不是该主题的专家,我的问题可能非常幼稚。它源于一篇文章,旨在了解 AlphaGo 程序中使用的强化学习的力量和局限性。

AlphaGo 程序是使用神经网络构建的,其中包括(蒙特卡洛对树的探索等),这些神经网络是从一个巨大的人类围棋游戏数据库中训练出来的,然后通过让游戏的游戏版本得到加强。多次对自己编程。

现在我想知道如果我们尝试在没有人类数据库的情况下构建这样一个程序会发生什么,即从一个基本的围棋程序开始,只知道规则和一些探索树的方法,然后让自己对战以改进它的神经网络。我们会在与自己多次对战之后,得出一个能够与最优秀的人类玩家竞争或击败的程序吗?如果是这样,那么需要多少游戏(按数量级)?或者相反,这样的程序是否会向弱得多的玩家收敛?

我假设这个实验还没有进行,因为 AlphaGo 是最近才出现的。但对于专家来说,答案可能是显而易见的。否则任何有根据的猜测都会让我感兴趣。

人们也可以对“更简单”的游戏提出同样的问题。如果我们在国际象棋程序中使用与 AlphaGo 大致相同的强化学习技术,但不使用人类数据库,我们最终会得到一个能够击败最优秀人类的程序吗?如果是这样,多快?这个试过了吗?或者如果不是国际象棋,那么跳棋,甚至更简单的游戏呢?

非常感谢。

4个回答

我不是专家,但看起来 AlphaGo Zero 回答了你的问题。 https://deepmind.com/blog/alphago-zero-learning-scratch/

早期版本的 AlphaGo 最初训练了数千种人类业余和职业游戏,以学习如何下围棋。AlphaGo Zero 跳过了这一步,简单地通过与自己对弈来学习下棋,从完全随机的游戏开始。在这样做的过程中,它迅速超越了人类的游戏水平,并以 100 比 0 击败了之前发布的冠军击败版本的 AlphaGo。

AlphaGo 论文的作者也问了同样的问题,他的回答是我们不知道如果 AlphaGo 从头开始​​学习会发生什么(他们还没有测试过)。

然而,考虑到游戏的复杂性,在没有先验知识的情况下从头开始训练算法将是一项艰巨的任务。因此,在开始构建这样一个系统时,通过使用人类获得的知识将其升级到 Master 级别是合理的。

值得注意的是,虽然人的动作偏向于树节点(状态)处的动作选择,但这个先验有一个衰减因子。这意味着增加对特定状态的访问,降低了鼓励算法探索的先验强度。

目前的 AlphaGo 精通水平未知它与人类的游戏方式有多接近或多远(在锦标赛中,它做了一个人类几乎零概率执行的动作!但同样也做了一些非常糟糕的动作) . 可能仍然需要通过实际实施相应的测试算法来回答所有这些问题。

我应该编辑我的答案,因为DeepMind 最近的论文回答了你的问题。AlphaGo 第一版的全部经验带来了很多进步,真的值得一读。

据我了解AlphaGo的算法,它基于一个简单的强化学习(RL)框架,使用蒙特卡洛树搜索来选择最佳动作。最重要的是,RL 算法所涵盖的状态和动作不仅仅是游戏的整个可能配置(围棋具有巨大的复杂性),而是基于策略网络和价值网络,从真实游戏中学习,然后通过玩 AlphaGo vs AlphaGo 游戏来提高。

那么我们可能会想,从真实游戏中训练是否只是节省时间的捷径,还是获得这种效率的必要选择。我想没有人真正知道答案,但我们可以陈述一些假设。首先,人类推动好动作的能力是由于智能比简单的神经网络复杂得多。对于棋盘游戏来说,它是记忆、经验、逻辑和感觉的混合体。在这个方向上,我不确定 AlphaGo 算法能否在不明确探索整个围棋游戏配置的很大一部分的情况下构建这样的模型(这实际上是不可能的)。当前的研究集中在构建此类游戏的更复杂表示,例如关系 RL 或归纳逻辑学习。然后对于更简单的游戏(国际象棋可能是这种情况,但不确定),

仍然只是一种意见。但我很确定,回答您的问题的关键在于 RL 方法,这种方法如今在知识方面仍然非常简单。我们无法真正确定是什么让我们能够处理这些游戏,而我们迄今为止发现的打败人类的最佳方法是粗略地向他学习,并通过大量计算改进(一点)学习模型。

对于复杂的、部分观察的环境,甚至可以在没有人工数据库的情况下进行竞争性自我游戏。OpenAI 正专注于这个方向。根据这篇文章

自我游戏确保环境始终是 AI 改进的正确难度。

这也是自我游戏成功的一个重要原因。

OpenAI 在 2017 年 8 月 11 日的 Dota 2 1v1 中取得了超人的成绩,在标准比赛规则下以 2-0击败了 Dendi 。

机器人通过自我游戏从零开始学习游戏,不使用模仿学习或树搜索。这是朝着构建人工智能系统迈出的一步,该系统可以在涉及真实人类的混乱、复杂情况下实现明确定义的目标。

不仅仅是游戏,这个方向对于机器人任务也很有希望。

我们发现,自我游戏可以让模拟 AI 发现诸如抢断、闪避、假装、踢球、接球和跳水等身体技能,而无需明确地设计具有这些技能的环境。

在下一步中,他们扩展了学习如何合作、竞争和沟通的方法,而不仅限于自我游戏。