目录
攻击方法
评估结果
首页 科技周边 人工智能 用魔法打败魔法!一个叫板顶级人类棋手的围棋AI输给了它的同类

用魔法打败魔法!一个叫板顶级人类棋手的围棋AI输给了它的同类

Apr 12, 2023 am 08:40 AM
ai 研究

近几年,自我博弈中的强化学习已经在围棋、国际象棋等一系列游戏中取得了超人的表现。此外,自我博弈的理想化版本还收敛于纳什均衡。纳什均衡在博弈论中非常著名,该理论是由博弈论创始人,诺贝尔奖获得者约翰 · 纳什提出,即在一个博弈过程中,无论对方的策略选择如何,当事人一方都会选择某个确定的策略,则该策略被称作支配性策略。如果任意一位参与者在其他所有参与者的策略确定的情况下,其选择的策略是最优的,那么这个组合就被定义为纳什均衡。

之前就有研究表明,自我博弈中看似有效的连续控制策略也可以被对抗策略利用,这表明自我博弈可能并不像之前认为的那样强大。这就引出一个问题:对抗策略是攻克自我博弈的方法,还是自我博弈策略本身就能力不足?

为了回答这个问题,来自 MIT、 UC 伯克利等机构的研究者进行了一番研究,他们选择自我博弈比较擅长的领域进行,即围棋(Go)。具体而言,他们对公开可用的最强围棋 AI 系统 KataGo 进行攻击。针对一个固定的网络(冻结 KataGo),他们训练了一个端到端的对抗策略,仅用了训练 KataGo 时 0.3% 的计算,他们就获得了一个对抗性策略,并用该策略攻击 KataGo,在没有搜索的情况下,他们的策略对 KataGo 的攻击达到了 99% 的胜率,这与欧洲前 100 名围棋选手实力相当。而当 KataGo 使用足够的搜索接近超人的水平时,他们的胜率达到了 50%。至关重要的是,攻击者(本文指该研究学到的策略)并不能通过学习通用的围棋策略来取胜。

这里我们有必要说一下 KataGo,正如本文所说的,他们在撰写本文时,KataGo 还是最强大的公开围棋 AI 系统。在搜索的加持下,可以说 KataGo 非常强大,战胜了本身就是超人类的 ELF OpenGo 和 Leela Zero。现在该研究的攻击者战胜 KataGo,可以说是非常厉害了。

图片

图 1:对抗策略打败了 KataGo 受害者。

图片

  • 论文地址:https://arxiv.org/pdf/2211.00241.pdf
  • 研究主页:https://goattack.alignmentfund.org/adversarial-policy-katago?row=0#no_search-board

有趣的是,该研究提出的对抗策略无法战胜人类玩家,即使是业余选手也能大幅胜过所提模型。

攻击方法

KataGo、AlphaZero 等之前的方法通常是训练智能体自己玩游戏,游戏对手是智能体自己。而在 MIT、UC 伯克利等机构的这项研究中,攻击者(adversary)和固定受害者(victim)智能体之间进行博弈,利用这种方式训练攻击者。该研究希望训练攻击者利用与受害者智能体的博弈交互,而不只是模仿博弈对手。这个过程被称为「victim-play」。

图片

在常规的自我博弈中,智能体通过从自己的策略网络中采样来建模对手的动作,这种方法的确适用于自我博弈。但在 victim-play 中,从攻击者的策略网络中建模受害者的方法就是错误的。为了解决这个问题,该研究提出了两类对抗型 MCTS(A-MCTS),包括:

  • A-MCTS-S:在 A-MCTS-S 中,研究者将攻击者的搜索过程设置如下:当受害者移动棋子时,从受害者策略网络中采样;当轮到攻击者移动棋子时,从攻击者策略网络中采样。
  • A-MCTS-R:由于 A-MCTS-S 低估了受害者的能力,该研究又提出了 A-MCTS-R,在 A-MCTS-R 树中的每个受害者节点上为受害者运行 MCTS。然而,这种变化增加了攻击者训练和推理的计算复杂性。

在训练过程中,该研究针对与 frozen KataGo 受害者的博弈来训练对抗策略。在没有搜索的情况下,攻击者与 KataGo 受害者的博弈可以实现 >99% 的胜率,这与欧洲前 100 名围棋选手的实力相当。此外,经过训练的攻击者在与受害者智能体博弈的 64 个回合中实现了超过 80% 的胜率,研究者估计其实力与最优秀的人类围棋棋手相当。

值得注意的是,这些游戏表明,该研究提出的对抗策略并不是完全在做博弈,而是通过欺骗 KataGo 在对攻击者有利的位置落子,以过早地结束游戏。事实上,尽管攻击者能够利用与最佳人类围棋选手相当的博弈策略,但它却很容易被人类业余爱好者击败。

为了测试攻击者与人类对弈的水平,该研究让论文一作 Tony Tong Wang 与攻击者模型实际对弈了一番。Wang 在该研究项目之前从未学习过围棋,但他还是以巨大的优势赢了攻击者模型。这表明该研究提出的对抗性策略虽然可以击败能战胜人类顶级玩家的 AI 模型,但它却无法击败人类玩家。这或许可以说明一些 AI 围棋模型是存在 bug 的。

评估结果

攻击受害者策略网络

首先,研究者对自身攻击方法对 KataGo (Wu, 2019) 的表现进行了评估,结果发现 A-MCTS-S 算法针对无搜索的 Latest(KataGo 的最新网络)实现了 99% 以上的胜率。

如下图 3 所示,研究者评估了自身对抗策略对 Initial 和 Latest 策略网络的表现。他们发现在大部分训练过程中,自身攻击者对两个受害者均取得很高的胜率(高于 90%)。但是随着时间推移,攻击者对 Latest 过拟合,对 Initial 的胜率也下降到 20% 左右。

研究者还评估了对 Latest 的最佳对抗策略检查点,取得了超过 99% 的胜率。并且,如此高的胜率是在对抗策略仅训练 3.4 × 10^7 个时间步长的情况下实现的,这一数据是受害者时间步长的 0.3%。

图片

迁移到有搜索的受害者

研究者将对抗策略成功地迁移到了低搜索机制上,并评估了上一节训练的对抗策略对有搜索 Latest 的能力。如下图 4a 所示,他们发现在 32 个受害者回合时,A-MCTS-S 对受害者的胜率下降到了 80%。但这里,受害者在训练与推理时都没有搜索。

图片

此外,研究者还测试了 A-MCTS-R,并发现它的表现更好,在 32 个受害者回合时对 Latest 取得了超过 99% 的胜率,但在 128 个回合时胜率下降到 10% 以下。

在图 4b 中,研究者展示了当攻击者来到 4096 个回合时,A-MCTS-S 对 Latest 最高取得了 54% 的胜率。这与 A-MCTS-R 在 200 个回合时的表现非常相似,后者取得了 49% 的胜率。

其他评估

如下图 9 所示,研究者发现,尽管 Latest 是一个更强大的智能体,但针对 Latest 训练的攻击者在对抗 Latest 时要比 Initial 表现更好。

图片

最后,研究者探讨了攻击原理,包括受害者的 value 预测和硬编码防御评估。如下图 5 所示,所有的基线攻击都要比他们训练的对抗策略表现差得多。

图片

更多技术细节请参阅原论文。

以上是用魔法打败魔法!一个叫板顶级人类棋手的围棋AI输给了它的同类的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SQL 如何添加新列 SQL 如何添加新列 Apr 09, 2025 pm 02:09 PM

SQL 中通过使用 ALTER TABLE 语句为现有表添加新列。具体步骤包括:确定表名称和列信息、编写 ALTER TABLE 语句、执行语句。例如,为 Customers 表添加 email 列(VARCHAR(50)):ALTER TABLE Customers ADD email VARCHAR(50);

SQL 添加列的语法是什么 SQL 添加列的语法是什么 Apr 09, 2025 pm 02:51 PM

SQL 中添加列的语法为 ALTER TABLE table_name ADD column_name data_type [NOT NULL] [DEFAULT default_value]; 其中,table_name 是表名,column_name 是新列名,data_type 是数据类型,NOT NULL 指定是否允许空值,DEFAULT default_value 指定默认值。

SQL 清空表:性能优化技巧 SQL 清空表:性能优化技巧 Apr 09, 2025 pm 02:54 PM

提高 SQL 清空表性能的技巧:使用 TRUNCATE TABLE 代替 DELETE,释放空间并重置标识列。禁用外键约束,防止级联删除。使用事务封装操作,保证数据一致性。批量删除大数据,通过 LIMIT 限制行数。清空后重建索引,提高查询效率。

SQL 添加列时如何设置默认值 SQL 添加列时如何设置默认值 Apr 09, 2025 pm 02:45 PM

为新添加的列设置默认值,使用 ALTER TABLE 语句:指定添加列并设置默认值:ALTER TABLE table_name ADD column_name data_type DEFAULT default_value;使用 CONSTRAINT 子句指定默认值:ALTER TABLE table_name ADD COLUMN column_name data_type CONSTRAINT default_constraint DEFAULT default_value;

使用 DELETE 语句清空 SQL 表 使用 DELETE 语句清空 SQL 表 Apr 09, 2025 pm 03:00 PM

是的,DELETE 语句可用于清空 SQL 表,步骤如下:使用 DELETE 语句:DELETE FROM table_name;替换 table_name 为要清空的表的名称。

Redis内存碎片如何处理? Redis内存碎片如何处理? Apr 10, 2025 pm 02:24 PM

Redis内存碎片是指分配的内存中存在无法再分配的小块空闲区域。应对策略包括:重启Redis:彻底清空内存,但会中断服务。优化数据结构:使用更适合Redis的结构,减少内存分配和释放次数。调整配置参数:使用策略淘汰最近最少使用的键值对。使用持久化机制:定期备份数据,重启Redis清理碎片。监控内存使用情况:及时发现问题并采取措施。

phpmyadmin建立数据表 phpmyadmin建立数据表 Apr 10, 2025 pm 11:00 PM

要使用 phpMyAdmin 创建数据表,以下步骤必不可少:连接到数据库并单击“新建”标签。为表命名并选择存储引擎(推荐 InnoDB)。通过单击“添加列”按钮添加列详细信息,包括列名、数据类型、是否允许空值以及其他属性。选择一个或多个列作为主键。单击“保存”按钮创建表和列。

怎么创建oracle数据库 oracle怎么创建数据库 怎么创建oracle数据库 oracle怎么创建数据库 Apr 11, 2025 pm 02:33 PM

创建Oracle数据库并非易事,需理解底层机制。1. 需了解数据库和Oracle DBMS的概念;2. 掌握SID、CDB(容器数据库)、PDB(可插拔数据库)等核心概念;3. 使用SQL*Plus创建CDB,再创建PDB,需指定大小、数据文件数、路径等参数;4. 高级应用需调整字符集、内存等参数,并进行性能调优;5. 需注意磁盘空间、权限和参数设置,并持续监控和优化数据库性能。 熟练掌握需不断实践,才能真正理解Oracle数据库的创建和管理。

See all articles