自我博弈:人工智能的“内战”之路

🤖 引言:

强化学习 (RL) 是机器学习中一个重要的范式,它关注通过与环境的交互来优化决策过程。RL 的核心是马尔可夫决策过程 (MDP),一个描述环境状态、动作、转移和奖励的数学框架。在 MDP 中,智能体通过观察状态、根据策略执行动作、接收奖励并转移到下一个状态来与环境交互。RL 算法的目标是找到一个最优策略,最大化智能体在一段时间内获得的预期累积奖励。深度强化学习 (Deep RL) 通过使用深度神经网络作为函数逼近器来扩展传统的 RL。深度学习与 RL 的融合在处理高维状态空间方面发挥了重要作用,并在各种复杂任务中取得了突破。

然而,从单智能体过渡到多智能体强化学习 (MARL) 引入了复杂的动力学。在 MARL 中,智能体之间行动的相互依赖性带来了巨大的挑战,因为环境对每个智能体来说都是非平稳的。MARL 中的主要问题包括协调、通信和均衡选择,特别是在竞争场景中。这些挑战通常导致难以实现收敛、保持稳定和有效地探索解空间。

借助博弈论,一个对多个决策者之间交互进行建模的数学框架,自我博弈应运而生,成为解决 MARL 中一些固有挑战的优雅解决方案。通过解决非平稳性和协调问题,自我博弈提供了一种方法,让智能体与自身的副本或过去版本进行交互。这种方法有望实现更稳定和更易于管理的学习过程。自我博弈的能力扩展到各种场景,包括其在围棋 [8]–[11]、国际象棋 [10]、[11]、扑克 [12]、[13] 和电子游戏 [14]、[15] 中的突出应用。在这些场景中,自我博弈已经开发出超越人类专业水平的策略。尽管自我博弈的应用广泛且前景光明,但它也存在一些局限性,例如可能收敛到次优策略以及巨大的计算需求 [8]、[10]。

虽然一些研究通过经验博弈论分析 (EGTA) [16] 采取了广泛的视角,但值得注意的是,专门关注自我博弈的全面综述相对较少。其中,一些研究探讨了自我博弈的理论安全性 [17],而另一些研究则为自我博弈开发了一个算法框架,但不幸的是,该框架没有包含 Policy-Space Response Oracle (PSRO) 系列算法 [18]。此外,另一项研究专门关注 PSRO [19]。虽然这些不同的研究很有价值,但它们并没有提供一个全面捕捉自我博弈广度和深度的视角。因此,本综述旨在弥合这一差距。

🗺️ 自我博弈:一个统一的框架 🗺️

为了更好地理解自我博弈,我们首先需要一个统一的框架。本综述提出了一个基于现有自我博弈研究 [18]、[42]–[44] 的框架,它具有更高的表达能力和更强的泛化能力。该框架能够处理多同质玩家的通用和博弈。值得注意的是,虽然同质玩家代表了异质玩家的一个特定子集,但通过扩展输入向量的维度,可以将后者重新表述为前者,这实际上意味着嵌入智能体身份信息。此外,由于玩家是同质的,我们假设每个玩家共享相同的策略库。

为了更好地理解这个框架,我们可以将其比作一场“内战”。所有玩家都共享一个策略库,这个库的大小是固定的。在每次迭代中,都会初始化一个新的策略进行训练,并且从现有的策略库中随机抽取对手策略。在迭代过程中,对手策略通常保持不变,而只有被训练的策略会更新。在训练完成后,新的策略会替换策略库中的一个策略。然后,使用一个评估指标来评估更新后的策略库的性能。根据这个性能,调整下一次迭代中抽取对手的策略。这个过程不断重复。

🧠 自我博弈算法:四种主要类别 🧠

基于这个框架,我们可以将现有的自我博弈算法分为四类:传统自我博弈算法、PSRO 系列算法、持续训练系列算法和基于遗憾最小化的系列算法。

1️⃣ 传统自我博弈算法:

传统自我博弈算法涉及智能体通过不断地与自身进行博弈来改进策略,从而能够探索各种策略并提高其决策能力,无需外部输入。这些算法可以从智能体与自身最新版本进行训练开始,帮助识别和利用弱点。此外,其他方法涉及与来自不同迭代的策略集进行训练,使智能体能够开发出健壮且适应性强的策略。

2️⃣ PSRO 系列算法:

PSRO 系列算法与传统自我博弈算法类似,都是从单个策略开始,并通过加入新的预言机来逐渐扩展策略空间。这些预言机是近似于其他智能体当前元策略的最优响应的策略。此外,PSRO 使用 EGTA 来更新元策略分布,从而在策略选择中加入一定程度的探索,以减轻过度拟合的风险。

3️⃣ 持续训练系列算法:

PSRO 系列算法面临着两个主要挑战。首先,在预算有限的情况下,通常需要在每次迭代中截断 ABR 运算符。这会导致将次优训练的响应引入策略库。其次,在每次迭代中重新学习基本技能不仅效率低下,而且在面对越来越强大的对手时变得不可行 [43]。为了解决这些挑战,持续训练系列算法提倡对所有策略进行持续训练。也就是说,所有有效的策略都可能被选中进行训练。

4️⃣ 基于遗憾最小化的系列算法:

另一类自我博弈算法是基于遗憾最小化的。基于遗憾最小化的算法与其他类别的主要区别在于,它们优先考虑随着时间的推移而积累的收益,而不是仅仅关注单个回合。这种方法会导致更激进和更具适应性的策略,这对于避免随着时间的推移而被对手利用至关重要。此外,这些算法要求玩家在多个回合中推断和适应对手的策略。这种情况在重复博弈中很常见,而不是一次性博弈。例如,在德州扑克或狼人杀这样的游戏中,玩家必须使用欺骗、隐瞒和诈唬来争取整体胜利,而不仅仅是赢得单场比赛。值得注意的是,虽然传统的基于遗憾最小化的自我博弈通常不使用 RL,但许多后续的研究工作将遗憾最小化与 RL 相结合,以实现强大的性能。

📊 自我博弈的应用:从棋盘游戏到电子游戏 📊

自我博弈已经成功应用于各种领域,包括棋盘游戏、纸牌游戏和电子游戏。

1️⃣ 棋盘游戏:

棋盘游戏,其中大多数是完美信息博弈,曾经被两种关键技术的引入所改变:位置评估和蒙特卡洛树搜索 (MCTS) [94]、[95]。这些方法在经过少量修改后,在解决国际象棋 [96]、跳棋 [97]、黑白棋 [98]、西洋双陆棋 [99] 和拼字游戏 [100] 等棋盘游戏方面表现出超人的有效性。

相比之下,将这些技术应用于围棋,其估计有 2.1 × 10170 种合法棋盘配置,只能实现业余水平的性能 [101]–[105]。鉴于此,我们的讨论将专门关注围棋,以说明自我博弈的应用。除了围棋,我们还将扩展我们的探索,包括策略游戏,这是一个以不完美信息为特征的棋盘游戏,与大多数基于完美信息的棋盘游戏形成对比。

2️⃣ 纸牌游戏和麻将:

纸牌游戏和麻将通常涉及不完美信息,为人工智能带来了独特的挑战。

3️⃣ 电子游戏:

与传统的棋盘游戏和纸牌游戏相比,电子游戏通常具有实时动作、较长的时域以及更高的复杂性,因为它们具有更广泛的可能动作和观察范围。

🤔 自我博弈的挑战与未来方向 🤔

尽管自我博弈方法因其独特的迭代学习过程和适应复杂环境的能力而展现出优越的性能,但仍有一些领域需要进一步研究和发展。

1️⃣ 理论基础:

虽然已经证明在有限玩家和有限动作的博弈中存在纳什均衡 [145],但在更大的博弈中计算纳什均衡仍然具有挑战性,因此许多研究旨在实现近似纳什均衡 [146]。然而,在某些情况下,即使是计算近似纳什均衡也很困难 [65]。一些研究已经转向更高层次的均衡,例如相关均衡 [47] 和 α 秩 [46]。

2️⃣ 环境的非平稳性:

随着训练的进行,对手玩家的策略会发生变化,而对手是自我博弈框架中环境的一个重要因素。这种变化会导致相同的策略随着时间的推移而产生不同的结果,从而创建一个非平稳的环境。这个问题也是 MARL 领域所共有的。未来的研究应该旨在开发更健壮的算法,能够适应不断变化的条件。例如,将对手建模纳入自我博弈 [121] 可以帮助智能体预测对手策略的变化并主动调整自己的策略,使其对环境变化更加稳健。

3️⃣ 可扩展性和训练效率:

随着团队数量和团队中玩家数量的增加,自我博弈方法的可扩展性面临着巨大的挑战。随着参与者数量的增加,交互的复杂性呈爆炸式增长。例如,在 OpenAI Five [14] 中,英雄池的大小仅限于 17 个英雄。MOBA AI [135] 在课程学习的帮助下将英雄池扩展到 40 个英雄,但它仍然无法涵盖实际游戏中可用的所有英雄池。一个可能的解决方案是利用玩家之间固有的联系来优化学习过程。例如,使用基于图的模型来表示和利用玩家之间的关系可以帮助管理和降低大规模多智能体环境的复杂性。

4️⃣ 与大型语言模型的结合:

大型语言模型 (LLM) 以其非凡的能力和新兴的泛化能力而闻名,被认为是实现人类水平智能的潜在基础 [148]。自我博弈方法已被提议用于微调 LLM、增强 LLM 的推理性能以及构建具有强大决策能力的基于 LLM 的智能体。

5️⃣ 现实应用:

自我博弈是一种强大的技术,在各种领域都有广泛的应用。它在解决从现实世界情况中抽象出来的某些问题方面特别有效,因为它采用了迭代学习方法。例如,在经济学领域,自我博弈被用于增强多议题谈判任务中的监督学习模型 [157]。此外,自我博弈在解决组合优化问题 (COP) 方面也证明了其优势,例如旅行商问题 (TSP) 和容量车辆路径问题 (CVRP) [158]。在交通领域,自我博弈有助于开发类似于人类的自动驾驶行为 [159],并使车辆能够学习协商策略以在道路上合并或驶离 [160],尽管目前仍在二维模拟器中进行。

总结:

自我博弈是现代 RL 研究的基石,为开发先进的 AI 系统提供了深刻的见解和工具。本综述为研究人员和从业人员提供了宝贵的指南,为这一充满活力和不断发展的领域取得进一步进展铺平了道路。

参考文献:

[1] R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction, 2nd ed. Cambridge, MA: MIT Press, 2018.
[2] V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski et al., “Human-level control through deep reinforcement learning,” Nature, vol. 518, no. 7540, pp. 529–533, 2015.
[3] M. J. Mataric, “Behavior-based robotics,” Adaptive Behavior, vol. 4, no. 1, pp. 7–20, 1996.
[4] J. R. Doyle, “Rationality and its roles in reasoning,” Computational Intelligence, vol. 8, no. 1, pp. 1–15, 1992.
[5] M. Wooldridge, An Introduction to MultiAgent Systems. Chichester, UK: John Wiley & Sons, 2009.
[6] D. Silver, J. Schrittwieser, K. Simonyan, I. Antonoglou, A. Huang, A. Guez, T. Hubert, L. Baker, M. Lai, A. Bolton et al., “Mastering the game of Go without human knowledge,” Nature, vol. 550, no. 7676, pp. 354–359, 2017.
[7] S. J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, 3rd ed. Upper Saddle River, NJ: Pearson Education, 2010.
[8] D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. van den Driessche, J. Schrittwieser, D. Antonoglou, V. Panneershelvam, M. Lanctot et al., “Mastering the game of Go with deep neural networks and tree search,” Nature, vol. 529, no. 7587, pp. 484–489, 2016.
[9] D. Silver, J. Schrittwieser, K. Simonyan, I. Antonoglou, A. Huang, A. Guez, T. Hubert, L. Baker, M. Lai, A. Bolton et al., “Mastering the game of Go without human knowledge,” Nature, vol. 550, no. 7676, pp. 354–359, 2017.
[10] T. Hubert, A. Huang, T. H. S. van den Driessche, J. Schrittwieser, S. P. Singh, K. Simonyan, D. Silver, and D. Hassabis, “Mastering chess and shogi by self-play with a general reinforcement learning algorithm,” Science, vol. 362, no. 6419, pp. 1140–1144, 2018.
[11] T. Schrittwieser, I. Antonoglou, T. Hubert, K. Simonyan, D. Silver, and D. Hassabis, “Mastering Atari, Go, chess and shogi by planning with a learned model,” Nature, vol. 588, no. 7839, pp. 604–609, 2020.
[12] M. Bowling, N. Zinkevich, M. Johanson, and O. L. V. de Jong, “Exploiting imperfect information in texas hold’em poker,” in Proceedings of the 18th ACM Conference on Information and Knowledge Management, 2009, pp. 1519–1522.
[13] D. S. Brown, “Fictitious play in games with incomplete information,” in Proceedings of the 2nd International Conference on Artificial Intelligence, 1971, pp. 289–299.
[14] O. OpenAI, “OpenAI Five,” https://openai.com/blog/openai-five/, 2018.
[15] O. Vinyals, I. Babuschkin, W. M. Czarnecki, M. Mathieu, A. Dudzik, J. Chung, D. Horgan, M. Reimann, T. Leblond, C. Beattie et al., “Grandmaster level in starcraft ii using multi-agent reinforcement learning,” Nature, vol. 575, no. 7782, pp. 350–354, 2019.
[16] M. Zinkevich, M. Bowling, M. Johanson, and C. Piccione, “Regret minimization in games with incomplete information,” in Proceedings of the 21st National Conference on Artificial Intelligence, 2006, pp. 1277–1282.
[17] T. Sandholm, “The state of solving large imperfect-information games,” in Proceedings of the 20th International Joint Conference on Artificial Intelligence, 2007, pp. 1–7.
[18] J. Heinrich, M. Lanctot, T. L. M. van den Driessche, and D. Silver, “Deep reinforcement learning from self-play in imperfect-information games,” in Proceedings of the 33rd International Conference on Machine Learning, 2016, pp. 1667–1676.
[19] M. Lanctot, V. Zambaldi, A. Guez, T. L. M. van den Driessche, S. P. Singh, and D. Silver, “A unified game-theoretic approach to multiagent reinforcement learning,” in Proceedings of the 31st AAAI Conference on Artificial Intelligence, 2017, pp. 3727–3734.

  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    135 引用 • 190 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 633 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 3 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1520 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1706 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 653 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 1 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 604 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    574 引用 • 3533 回帖
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 530 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 360 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 5 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 6 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 2 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 445 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    26 引用 • 196 回帖 • 18 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    6 引用 • 63 回帖 • 5 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1235 回帖 • 412 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖 • 3 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 492 关注
  • 安全

    安全永远都不是一个小问题。

    200 引用 • 816 回帖 • 1 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 17 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 54 关注
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 483 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 637 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注