POK´ELLMON:在宝可梦战斗中实现人类水平的人工智能

news2024/11/15 19:42:50

人工智能咨询培训老师叶梓 转载标明出处

最近,由美国乔治亚理工学院的Sihao Hu、Tiansheng Huang和Ling Liu发表的论文介绍了POK´ELLMON,这是一个开创性的基于大模型(LLM)的具身智能体,它在战术战斗游戏中,特别是宝可梦战斗中,实现了与人类相媲美的表现。这标志着人工智能在与虚拟环境互动方面的能力有了显著提升,这种互动方式与人类行为非常相似。

POK´ELLMON配备的三种策略

POKE´LLMON系统是一个为宝可梦对战设计的智能体,其框架在图5中有所展示。这个系统的核心在于使用之前的动作和相应的基于文本的反馈来不断优化其策略。它通过分析历史动作和结果来学习并改进其决策过程。

在每一轮对战中,POKE´LLMON会考虑之前采取的动作和这些动作的效果,以此来调整其策略。这个过程是迭代的,系统会不断地从每次对战中学习并更新其行为模式。系统不仅仅是简单地重复之前的动作,而是通过分析反馈来理解哪些动作是有效的,哪些需要改进。

POKE´LLMON还会将当前状态信息与外部知识相结合。这包括宝可梦的类型优势/劣势关系以及招式/特性的效果。这些信息对于制定有效的对战策略至关重要。例如,了解某个宝可梦类型对另一个类型有优势,可以帮助系统决定在特定情况下使用哪些宝可梦或招式。

系统将上述所有信息作为输入,独立生成多个可能的动作。这些动作是系统基于当前对战环境和已有知识生成的。然后,系统会在这些生成的动作中选择最一致的动作作为最终输出执行。选择最一致的动作意味着系统会优先考虑那些与它的策略和目标最匹配的动作,从而提高其在对战中的成功率。

POK´ELLMON的设计包括三个关键策略:

1、上下文强化学习

在POK´ELLMON的设计中,上下文强化学习(ICRL)扮演了一个至关重要的角色。这种学习机制的核心在于利用战斗过程中产生的即时文本反馈,来动态调整智能体的行动策略。这种反馈可以是关于宝可梦HP的变化、攻击招式的有效性、招式执行的优先级,或是招式的实际效果等。这些信息被智能体用作一种“奖励”,帮助其在没有额外训练的情况下,即时优化其决策过程。

在实际应用中,ICRL生成了四种类型的反馈:

  1. HP变化:通过观察连续两回合的HP变化,智能体可以评估攻击招式的实际伤害效果。这有助于智能体理解哪些招式在当前战斗中更有效。

  2. 攻击招式有效性:智能体会根据战斗结果判断攻击招式是否非常有效、无效或由于属性优势或能力/招式效果而无效。这种反馈帮助智能体识别并避免使用效果不佳的招式。

  3. 招式执行优先级:通过分析招式的执行顺序,智能体可以对战斗中的速度因素有一个大致的估计,尽管对手宝可梦的精确状态可能不可用。

  4. 执行招式的实际效果:智能体还会考虑招式除了造成直接伤害外的其他效果,如状态提升、HP恢复、中毒、烧伤或冻结等。

ICRL的一个关键优势是它能够使智能体在战斗中即时学习和适应。例如,如果智能体发现其使用的水属性攻击对对手的宝可梦没有效果,因为它具有“干燥皮肤”特性,那么它可以通过观察战斗动画中的“免疫”信息,及时调整其行动策略。这种即时反馈机制使得智能体能够像人类玩家一样,根据战斗的实时变化做出反应。

图6显示代理重复使用相同的攻击招式“蟹钳锤”(Crabhammer)对对手的毒蟾斗士(Toxicroak)没有效果,因为其特性“干燥皮肤”(Dry Skin)可以抵消水系招式的伤害
图7显示在第三回合中,代理使用“精神冲击”(Psyshock),但对对手的宝可梦没有造成伤害。通过ICRL,代理切换到另一个宝可梦

2、知识增强生成

POK´ELLMON智能体在设计中采用了知识增强生成(KAG)这一策略,以提高其在宝可梦战斗中的决策质量。KAG的核心在于利用外部知识来辅助智能体做出更准确的判断和行动选择。这种方法特别针对智能体在战斗中可能出现的幻觉问题,即错误地识别宝可梦类型优势或招式效果。

在宝可梦战斗中,了解不同类型之间的优势和劣势至关重要。例如,火属性攻击对草属性宝可梦会造成双倍伤害,而对水属性宝可梦则效果减半。通过在战斗状态描述中明确标注这些类型关系,智能体能够更直观地识别出哪些宝可梦在当前战斗中具有优势,从而做出更合适的宝可梦选择和招式使用。

宝可梦世界中有数百种招式和能力,每种都有其独特的效果。例如,“龙之舞”可以提升使用者的攻击和速度,而“迷雾”则可以重置双方宝可梦的状态提升并清除异常状态。为了帮助智能体准确理解这些效果,研究者们从宝可梦百科全书(Bulbapedia)中收集了所有招式和能力的描述,并将其整合到智能体的状态描述中。这样,智能体在做出决策时,可以更全面地考虑各种招式和能力的实际效果。

通过KAG,智能体在战斗中的表现显著提升。例如,在一个战斗场景中,智能体可能会面对一只地面属性的宝可梦。如果智能体使用的是钢属性的宝可梦,通常情况下,它会选择切换到另一只宝可梦以避免受到地面属性攻击的伤害。但是,通过KAG,智能体能够识别出可以使用“磁浮”招式来避免地面属性攻击的效果,从而在战斗中占据优势。

KAG的引入显著提高了智能体的胜率。在与启发式机器人的战斗中,仅考虑类型优势关系的KAG策略就将胜率从36%提高到了55%。而当结合考虑招式/能力效果时,KAG的胜率进一步提升至58%,接近人类玩家的水平。

知识增强生成(KAG)在与机器人对战中的性能

3、一致行动生成

一致行动生成旨在解决智能体在面对复杂战斗情况时可能出现的行动不一致问题。这种策略特别针对智能体在面对强大对手时可能出现的“恐慌切换”现象,即智能体在连续几个回合中不断切换宝可梦,试图逃避战斗,但这种行为往往导致失去了攻击的机会,最终可能导致失败。

在宝可梦战斗中,每次回合只能进行一次行动,这包括使用招式或切换宝可梦。如果智能体选择切换宝可梦,而对手选择攻击,那么新上场的宝可梦将会承受这次攻击。通常情况下,智能体会在认为通过切换宝可梦可以获得类型优势时进行切换。然而,如果智能体在面对强大对手时反复切换,这种行为就会变得不一致,甚至可能引发恐慌,导致连续几回合的无效行动。

为了解决这一问题,POK´ELLMON采用了一致行动生成策略,具体实施如下:

  1. 多次生成行动:智能体不是一次性生成一个行动,而是多次生成多个可能的行动选项。

  2. 投票机制:通过一种投票机制,智能体从生成的多个行动中选择最一致的行动作为最终输出。这种方法减少了因单一决策导致的行动不一致性。

  3. 减少恐慌切换:通过这种方式,智能体能够避免在面对强大对手时产生恐慌情绪,从而减少连续切换宝可梦的行为,保持战斗的连贯性和策略性。

在与人类玩家的在线战斗中,一致行动生成策略显著提高了POK´ELLMON的表现。例如,在一些战斗中,智能体能够通过选择有效的招式和适时切换宝可梦,成功地使对手的整个队伍失去战斗能力。这种策略使得智能体在战斗中表现得更加稳定和可靠。

不同提示方法在与机器人对战中的性能

研究者们发现,使用一致行动生成策略的智能体在战斗中的胜率有所提高。智能体在采用一致行动生成策略时,其连续切换宝可梦的比率降低,从而减少了因恐慌切换导致的战斗失误。

为了测试POK´ELLMON与人类玩家的战斗能力,研究者在宝可梦对决平台上设置了第八世代的战斗,智能体与随机人类玩家进行了梯度比赛。此外,还邀请了一位拥有超过15年宝可梦游戏经验的人类玩家,代表普通人类玩家的能力与POK´ELLMON对战。

POK´ELLMON在每个回合中选择有效的招式,使用一个宝可梦使对手的整个队伍晕倒

POK´ELLMON在与梯度玩家的比赛中表现出与有丰富战斗经验的纪律性玩家相当的性能,并在与受邀玩家的比赛中取得了更高的胜率。梯度比赛中的平均回合数较低,因为人类玩家有时会在认为自己会输时放弃比赛以节省时间。

优势:POK´ELLMON很少在选择有效招式和切换到另一只合适的宝可梦时犯错,这得益于KAG策略。例如,在一场战斗中,智能体只使用一只宝可梦就使对手的整个队伍晕倒,通过选择针对不同宝可梦的不同攻击招式。

弱点:POK´ELLMON倾向于采取能够实现短期利益的行动,因此使其容易受到人类玩家的消耗策略的影响,这种策略需要长期努力才能打破。例如,在多次回合后,智能体的整个队伍被人类玩家的宝可梦击败,这些宝可梦显著提升了防御并频繁恢复。打破僵局的关键是首先提升宝可梦的攻击到非常高的阶段,然后攻击以造成无法恢复的伤害,这是一个需要多个回合共同努力的长期目标。POK´ELLMON在长期规划方面较弱,因为当前的设计没有在多个时间步长中考虑长期计划,这将是未来工作的一部分。

POK´ELLMON在面对人类玩家的消耗策略时的弱点:对手频繁恢复高防御宝可梦

经验丰富的人类玩家可以误导智能体采取不良行动。例如,智能体的Zygarde有一次使用增强攻击招式的机会。在第二回合结束时,对手的Mawile被击倒,导致被迫切换,对手选择切换到Kyurem。这个切换是一个诱饵,诱使智能体在第三回合使用龙属性招式,因为Kyurem对龙属性攻击很脆弱。在第三回合,对手在开始时切换到Tapu Bulu,一种对龙属性攻击免疫的宝可梦,使增强的攻击机会被浪费。智能体被愚弄了,因为它仅基于当前状态信息做出决策,而经验丰富的玩家不仅考虑状态信息,还预测对手的下一步行动。

一个经验丰富的人类玩家如何误导代理使用龙属性攻击:首先派出一个龙属性的宝可梦,然后立即切换到另一个对龙属性攻击免疫的宝可梦

POK´ELLMON代表了人工智能领域的一个重要进步,展示了在战术战斗游戏中与人类相媲美的表现。POK´ELLMON采用的策略,如ICRL、KAG和一致行动生成,不仅提高了其在宝可梦战斗中的表现,还可能在其他游戏环境中应用。未来工作需要解决代理的弱点并进一步改进其能力。

论文地址:https://arxiv.org/abs/2402.01118

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android 笔记】Android APK编译打包流程

前言 本文将介绍Android从一个项目打包成APK的过程,其中涉及Android Java和Kotlin文件、资源文件、清单文件、依赖jar包和so库等在打包过程中处理。 步骤 总体的打包流程如下图,下面就介绍下详细的打包步骤。 1、将aidl文件编译成java文件 在构建过程中…

2024音频剪辑指南:探索四大高效工具!

音频剪辑不仅仅是技术活,更是一种艺术创作,它能够让声音更加生动、更具感染力。今天,我们就来探索几款优秀的音频剪辑工具。 福昕音频剪辑 链接:www.pdf365.cn/foxit-clip/ 福昕音频剪辑是一款界面简洁、操作直观的音频编辑软件…

详解安卓辅助功能服务AccessibilityService(无障碍服务,微信抢红包助手原理)

前言 在手机的更多设置或者高级设置中,我们会发现有个无障碍的功能,很多人不知道这个功能具体是干嘛的,包括我们开发也很少接触这部分功能,以至于对这块不甚了解。前段时间在同事的安利下去了解了下这部分功能。在这里和大家浅谈下…

scikit-learn特征预处理

特征预处理 什么是特征预处理 通过一些转换函数,将特征数据转换成更适合算法模型的特征数据的过程 数值数据的无量纲化: 归一化标准化 特征预处理API sklearn.preprocessing为什么进行无量纲化 通过欧式距离公式计算两个约会对象是否属于同一类别 …

使用HTML和cgi实现网页登录功能

0.HTML文件结构 一.HTML文件 1.test.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>菜鸟教程(runoob.com)</title></head><body><!-- 将结果提交给/cgi-bin/test.cgi下 --><form actio…

联盟推广计划:释放SaaS企业增长潜力

在SaaS行业&#xff0c;用户增长是企业成功的关键。本文深入探讨联盟推广计划&#xff0c;分析其核心特点和优势&#xff0c;以及如何实施这一策略以实现用户增长和品牌扩展。随着SaaS市场的不断成熟&#xff0c;企业越来越需要创新的营销策略来突破增长瓶颈。PartnerShare联盟…

2025舜宇内推码

舜宇光学集团校招 【2025内推码】 DSwNQ9yu DSwNQ9yu DSJXN8Mr 舜宇光学科技2025校招内推&#xff01;冲冲冲&#xff01; 光学龙头-舜宇集团2025届全球校园招聘正式启动&#xff01;&#xff01;&#xff01; 提供住宿&#xff08;硕士单人间&#xff0c;独立卫浴&#xff0…

【大数据平台】性能优化与成本控制

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

multimodel ocr dataset

InternLM-XComposer2-4KHD InternLM-XComposer2-4KHD a light-weight Vision Encoder OpenAI ViT-Large/14Large Language Model InternLM2-7B, 这篇论文采用的是一种动态分辨率的输入&#xff1b; 全图有一个global view,resize到336*336&#xff1b; 然后把图片resize再pad…

PointPillars算法解析

说明 本篇主要对基于LIDAR的3D目标检测算法PointPillars算法论文进行解析。 论文地址&#xff1a;https://arxiv.org/pdf/1812.05784.pdf 代码地址&#xff1a;https://github.com/open-mmlab/OpenPCDet 参考链接1&#xff1a;https://zhuanlan.zhihu.com/p/357626425 参考链接…

探索数据结构:红黑树的分析与实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 红黑树的介绍 1.1. 红黑树的引入 我们前面学习了AVL树&#xff0c;…

re正则模块

正则是一个十分重要且基础的模块 学习正则模块就要了解正则的一些基本字符 正则的基本方法有很多 但是大体上分为三种匹配 分割 替换 匹配有match search fullmatch findall finditer 注意finditer得到结果是一个可迭代类型需要遍历才能得到结果 使用group方法就可以查看返回…

【安全】XSS

文章目录 xss1.反射型XSS Payload的一些情况010203040506070809101112131415 HTML文档处理过程0x01 HTML解析0x02 URL解析0x03 JavaScript 解析 2.DOM型Ma Spaghet!JefffUgandan KnucklesRicardo MilosAh Thats HawtLigmaMafia 3.存储型 xss 用户的输入没有进行很好的过滤&…

对比新旧两个数据库表之间的差异

ServerDatabaseVersionUpdateHelper 一个对比不同数据库之间表数据差异的开源软件&#xff0c;欢迎大家到github上点赞 应用下载地址 功能介绍 对比表结构差异和表数据之间的差异 并根据查询生成新的更新sql语句 使用 1. 填写新旧数据库配置 server数据库地址;port数据库端…

报错:xx in xx cannot be applied to ‘()‘ @Data注解的无参构造方法不生效(原因及解决办法)

问题描述 创建User类时&#xff0c;添加了Data注解和User的构造方法 import lombok.Data;Data public class User {private Long id;private String name;private Integer age;private String email;public User(Long id, String name, Integer age, String email) {this.id …

机器学习--常见算法总结

有监督学习算法 1. 线性回归算法 概念&#xff1a;线性回归是一种统计方法&#xff0c;用于预测一个变量&#xff08;因变量&#xff09;与一个或多个自变量&#xff08;特征变量&#xff09;之间的关系。目标是通过线性方程建立自变量和因变量之间的关系模型。 作用&#x…

vertical-align: bottom;

问: 这个弹框中, "张三" 文字在某些ios手机中会上升到顶部, 图片也会移动, 西方二维码也会向下移动, 请问什么原因? 回答: 我们在 "张三" 这个元素dt上, 加上了vertical-align: bottom;这个属性, 让这个在顶部的元素在最下面, 就解决了样式错乱的问题.

SCC-F 23212-0-110310控制器abb面价

SCC-F 23212-0-110310控制器面价 SCC-F 23212-0-110310控制器面价 SCC-F 23212-0-110310控制器面价 SCC-F 23212-0-110310控制模块接线图 SCC-F 23212-0-110310控制模块电路图 SCC-F 23212-0-110310控制模块线路图 SCC-F 23212-0-110310伺服电机控制器是数控系统及其他相…

【C语言】最详细的单链表(两遍包会!)

&#x1f984;个人主页:小米里的大麦-CSDN博客 &#x1f38f;所属专栏:C语言数据结构_小米里的大麦的博客-CSDN博客 &#x1f381;代码托管:黄灿灿/数据结构 (gitee.com) ⚙️操作环境:Visual Studio 2022 目录 一、前言 二、单链表的概念 1. 单链表的特点 2. 单链表的基本…

Aqua使用记录

Java Kotlin Groovy Python 建议使用Poetry环境 Poetry executable&#xff1a;/Users/wan/Library/Application Support/pypoetry/venv/bin/poetry 安装依赖包 poetry add package 或者在.toml文件添加依赖包信息 Selenium with Python Selenium 生成html测试报告&#x…