首页 科技周边 人工智能 西山居AI技术专家黄鸿波:游戏中强化学习与行为树融合实战

西山居AI技术专家黄鸿波:游戏中强化学习与行为树融合实战

Apr 09, 2023 pm 02:31 PM
强化学习

​2022年8月6日-7日,​​AISummit 全球人工智能技术大会​​如期举办。在7日下午举办的《人工智能前沿探索》分论坛上,西山居AI技术专家黄鸿波带来了《游戏中强化学习与行为树融合实战》的主题分享,详细分享了强化学习在游戏领域产生的价值。

 黄鸿波表示,强化学习技术的落地并不在于要把算法改得多牛,而是要将强化学习技术与深度学习、游戏策划相结合,形成一套完备的解决方案,并将其实现。

 强化学习让游戏更加智能

强化学习在游戏中的落地,能够让游戏变得更加智能,可玩性变得更高,这就是在游戏中采用强化学习的主要目的。

 “强化学习是一种机器学习范式,它训练代理的策略,以便可以做出一系列决策。” 黄鸿波表示,代理的目的是根据对环境的观察来输出动作。这些行动将导致更多的观察和回报。当代理与环境交互时,培训涉及大量的反复试验,并且每次迭代都可以改进策略。

 在游戏中,采取行动或执行行为的代理是游戏智能体(Agent)。考虑游戏中的角色或机器人,它必须了解游戏的状态,玩家在哪里,然后基于此观察,应根据游戏的情况做出决定。在强化学习中,决策由奖励决定,奖励在游戏中可以作为高分提供,也可以提供给达到特定目标的新水平。

 黄鸿波表示,关于游戏情况的最酷事情是,在游戏的压力下训练了智能体的策略。 例如,它可以了解受到攻击时的处理方式,或如何行为以达到特定目标。

 行为树在游戏中的作用

行为树是一个包含逻辑节点和行为节点的树结构体。通常情况下,可以将每一种情况都抽象成一个类型的节点,按照规范去写节点,然后把这些节点连接成一棵树。当用户每次去找一个行为的时候,就会从树的跟节点出发,从各个节点中寻找出一个和当前数据相符合的行为。

 简单来说,在AI各模块耦合度较高、粒度较大的情况下,往往一个变动都牵扯到大量的修改,也很容易出现大量的重复代码。而行为树的出现,给了广大游戏开发者提供了一个“方格本”,让AI开发者比较方便的搭建出一整套可复用、好扩展维护的AI框架出来。可以说,强化学习是用训练得来的,行为树是若干个else、if的语句结合。

西山居AI技术专家黄鸿波:游戏中强化学习与行为树融合实战

 上图所示,图中有一个根节点,往下是一个树节点,树节点中又包括逃跑、攻击、闲逛等。把上图当成一个AI或是机器人,让他在丛林中巡逻。当AI看到一个ORC半兽人,并判断打不过这个ORC,当触发这个条件,AI会逃跑,逃跑就会执行Run动作。当判断比较容易打,就会执行Fight操作。

 在上图中,有两个节点,一个是Root,即根节点;一个是Selector节点,即逻辑节点。所有的节点都是按照一定顺序,从左往右执行,这就是一个行为树。因此,只需要写好每个节点里对应的逻辑,就能够让AI执行一些相关动作。若干个行为树,最后就组成了一个游戏。

 强化学习和行为树相结合让游戏更加丰富

如何使用强化学习和行为树相结合,让游戏更加丰富呢?这是很多游戏里需要讨论的一个比较难的应用。 

在此之前,不妨先讨论什么时候用强化学习比较好,什么情况下用行为树比较好。黄鸿波表示,用行为树没有办法很好达到目标的,就可以用强化学习,例如在FPS(第一人称射击游戏)中,应该用多大火力,应该朝谁开火,应该用什么样的武器等等,是比较难通过行为树来决策的,一般来讲用强化学习实现就会比较好。

 什么时候用行为树?例如在游戏中遇到障碍物时需要跳过去,可以选择用强化学习来做,也可以选择用行为树来做。但如果用强化学习来做,训练起来就会很麻烦。由于这种情况下只有一个选择,就是跳过去,因此用行为树就会更加简单。 

不难发现,如果把强化学习和行为树结合起来用在游戏中,就是一个比较好的方案。黄鸿波表示,强化学习与行为树相结合,有两种比较大的实现方式:一种是以强化学习为主,行为树为辅;另一种是以行为树为主,强化学习为辅。 

行为树侧:以行为树为主要的AI运动方式,行为树从游戏客户端接收obs输入,根据自身的目标情况,针对于obs来写相应的行为树行为,在行为树的各个行为中,将一些需要强化学习做决策的节点交给强化学习来进行,那么在这里,就需要强化学习针对一些特定的场景来做相应的训练。

 强化学习侧:整体策略则变成了训练若干个模型,每一个模型执行一种策略,然后再嵌入到行为树当中。

 黄鸿波表示,这两种不同的实现方式,究竟哪个好,这就需要根据不同的情况、不同的应用、不同的游戏进行不同的考虑,因此不能一概而论。

西山居AI技术专家黄鸿波:游戏中强化学习与行为树融合实战

 在接下来的时间里,黄鸿波详细介绍了西山居在强化学习与行为树中采用的技术框架,并结合大量的游戏案例,详细介绍了行为树和强化学习在游戏中是如何进行结合,让游戏变得更加丰富。对案例实践感兴趣的用户,不妨关注AISummit 全球人工智能技术大会的精彩分享视频。(https://www.php.cn/link/53253027fef2ab5162a602f2acfed431)

以上是西山居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脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

强化学习中的奖励函数设计问题 强化学习中的奖励函数设计问题 Oct 09, 2023 am 11:58 AM

强化学习中的奖励函数设计问题引言强化学习是一种通过智能体与环境的交互来学习最优策略的方法。在强化学习中,奖励函数的设计对于智能体的学习效果至关重要。本文将探讨强化学习中的奖励函数设计问题,并提供具体代码示例。奖励函数的作用及目标奖励函数是强化学习中的重要组成部分,用于评估智能体在某一状态下所获得的奖励值。它的设计有助于引导智能体通过选择最优行动来最大化长期累

C++中的深度强化学习技术 C++中的深度强化学习技术 Aug 21, 2023 pm 11:33 PM

深度强化学习技术是人工智能领域备受关注的一个分支,目前在赢得多个国际竞赛的同时也被广泛应用于个人助手、自动驾驶、游戏智能等领域。而在实现深度强化学习的过程中,C++作为一种高效、优秀的编程语言,在硬件资源有限的情况下尤其重要。深度强化学习,顾名思义,结合了深度学习和强化学习两个领域的技术。简单理解,深度学习是指通过构建多层神经网络,从数据中学习特征并进行决策

使用Panda-Gym的机器臂模拟实现Deep Q-learning强化学习 使用Panda-Gym的机器臂模拟实现Deep Q-learning强化学习 Oct 31, 2023 pm 05:57 PM

强化学习(RL)是一种机器学习方法,它允许代理通过试错来学习如何在环境中表现。行为主体会因为采取行动导致预期结果而获得奖励或受到惩罚。随着时间的推移,代理会学会采取行动,以使得其预期回报最大化RL代理通常使用马尔可夫决策过程(MDP)进行训练,MDP是为顺序决策问题建模的数学框架。MDP由四个部分组成:状态:环境的可能状态的集合。动作:代理可以采取的一组动作。转换函数:在给定当前状态和动作的情况下,预测转换到新状态的概率的函数。奖励函数:为每次转换分配奖励给代理的函数。代理的目标是学习策略函数,

如何使用 Go 语言进行深度强化学习研究? 如何使用 Go 语言进行深度强化学习研究? Jun 10, 2023 pm 02:15 PM

深度强化学习(DeepReinforcementLearning)是一种结合了深度学习和强化学习的先进技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。Go语言作为一门快速、高效、可靠的编程语言,可以为深度强化学习研究提供帮助。本文将介绍如何使用Go语言进行深度强化学习研究。一、安装Go语言和相关库在开始使用Go语言进行深度强化学习

使用Actor-Critic的DDPG强化学习算法控制双关节机械臂 使用Actor-Critic的DDPG强化学习算法控制双关节机械臂 May 12, 2023 pm 09:55 PM

在本文中,我们将介绍在Reacher环境中训练智能代理控制双关节机械臂,这是一种使用UnityML-Agents工具包开发的基于Unity的模拟程序。我们的目标是高精度的到达目标位置,所以这里我们可以使用专为连续状态和动作空间设计的最先进的DeepDeterministicPolicyGradient(DDPG)算法。现实世界的应用程序机械臂在制造业、生产设施、空间探索和搜救行动中发挥着关键作用。控制机械臂的高精度和灵活性是非常重要的。通过采用强化学习技术,可以使这些机器人系统实时学习和调整其行

再掀强化学习变革!DeepMind提出「算法蒸馏」:可探索的预训练强化学习Transformer 再掀强化学习变革!DeepMind提出「算法蒸馏」:可探索的预训练强化学习Transformer Apr 12, 2023 pm 06:58 PM

在当下的序列建模任务上,Transformer可谓是最强大的神经网络架构,并且经过预训练的Transformer模型可以将prompt作为条件或上下文学习(in-context learning)适应不同的下游任务。大型预训练Transformer模型的泛化能力已经在多个领域得到验证,如文本补全、语言理解、图像生成等等。从去年开始,已经有相关工作证明,通过将离线强化学习(offline RL)视为一个序列预测问题,那么模型就可以从离线数据中学习策略。但目前的方法要么是从不包含学习的数据中学习策略

如何运用强化学习来提升快手用户留存? 如何运用强化学习来提升快手用户留存? May 07, 2023 pm 06:31 PM

短视频推荐系统的核心目标是通过提升用户留存,牵引DAU增长。因此留存是各APP的核心业务优化指标之一。然而留存是用户和系统多次交互后的长期反馈,很难分解到单个item或者单个list,因此传统的point-wise和list-wise模型难以直接优化留存。强化学习(RL)方法通过和环境交互的方式优化长期奖励,适合直接优化用户留存。该工作将留存优化问题建模成一个无穷视野请求粒度的马尔科夫决策过程(MDP),用户每次请求推荐系统决策一个动作(action),用于聚合多个不同的短期反馈预估(观看时长、

20分钟学会装配电路板!开源SERL框架精密操控成功率100%,速度三倍于人类 20分钟学会装配电路板!开源SERL框架精密操控成功率100%,速度三倍于人类 Feb 21, 2024 pm 03:31 PM

现在,机器人学会工厂精密操控任务了。近年来,机器人强化学习技术领域取得显着的进展,例如四足行走,抓取,灵巧操控等,但大多数局限于实验室展示阶段。将机器人强化学习技术广泛应用到实际生产环境仍面临众多挑战,这在一定程度上限制了其在真实场景的应用范围。强化学习技术在实际应用的过程中,任需克服包括奖励机制设定、环境重置、样本效率提升及动作安全性保障等多重复杂的问题。业内专家强调,解决强化学习技术实际落地的诸多难题,与算法本身的持续创新同等重要。面对这一挑战,来自加州大学伯克利、斯坦福大学、华盛顿大学以及

See all articles