使用GCP开发带有强化学习功能的Roguelike游戏

简介: 使用GCP开发带有强化学习功能的Roguelike游戏

强化学习(RL)的许多应用都是专门针对将人工从训练循环中脱离而设计的。例如,OpenAI Gym [1]提供了一个训练RL模型以充当Atari游戏中的玩家的框架,许多问扎根都描述了将RL用于机器人技术。但是,一个通常讨论不足的领域是应用RL方法来改善人们的主观体验。

为了演示这种类型应用,我开发了一个简单的游戏,叫做“Trials of the Forbidden Ice Palace” [2]。该游戏使用强化学习,通过为用户量身定制游戏难度来改善用户体验。

游戏如何运作

该游戏是传统的Roguelike游戏:具有RPG元素和大量程序生成的基于回合的地牢探索类游戏。玩家的目标是逐层逃离冰宫,与怪物战斗并沿途收集有用的物品。传统上会随机生成出现在每层楼上的敌人和物品,但该游戏允许RL模型根据收集到的数据生成这些实体。

众所周知,强化学习算法需要大量数据,因此在创建游戏时要遵循以下约束条件,以减少RL模型的复杂性:

1)游戏共有10层,之后玩家获得了胜利

2)每层可以产生的敌人和物品的数量是固定的

强化学习和环境

强化学习的核心概念是自动代理(Agent)通过观察和采取行动(Action)与环境(Env)相互作用,如图1所示。通过与环境的互动,代理可以获得奖励(积极的或消极的),代理利用这些奖励来学习和影响未来的决策。

640.png

对于这个应用程序,代理是RL算法,它根据它选择生成的实体来调整游戏的难度,游戏是RL算法可以观察和控制的环境。

状态 State

状态是指代理对环境所做的任何观察,可以用来决定采取哪些行动。虽然有大量的不同的数据代理可能观察(玩家血量,玩家所需的回合数,等),游戏的第一个版本的变量只考虑地板已达到和玩家的水平的玩家的性格。

行动 Actions

由于游戏的程序生成特性,代理将决定随机生成怪物/道具,而不是每次都有一个确定性的决定。由于游戏中存在大量的随机性元素,代理并不会以典型的RL方式进行探索,而是控制不同敌人/道具在游戏中生成的加权概率。

当代理选择行动时,基于迄今为止学习到的最佳模式,它将通过学习到的Q矩阵加权随机抽样来决定在游戏中产生哪个敌人/道具;反之,如果代理选择探索,代理就会从游戏中所有实体中产生概率相等的敌人/物品。

奖励 Reward

强化学习算法的奖励模型对于开发学习的模型应显示的预期行为至关重要,因为机器学习都会采用走捷径的方法来实现其目标。由于预期的目标是使玩家获得最大的享受,因此做出了以下假设,以根据RL算法的奖励来量化乐趣:

-玩家在游戏中进一步前进,而不是过早死亡会对玩家产生更多乐趣

-在没有挑战的情况下玩家每次获胜的游戏都会很无聊

考虑到这些目标,当玩家进入表I所示的新楼层时,以及如表II所述的游戏完成时,RL模型都会获得奖励。

表一:玩家晋升奖励模型

640.png

表二:完成游戏的奖励模式

640.png

考虑到上面的进程和完成分数机制,RL算法将通过允许玩家前进到第8层而最大化奖励,在这一点上玩家将最终遭遇死亡。为了最小化意外行为的可能性,RL算法也会因为玩家过早死亡而受到惩罚。

更新模型

RL算法采用了Q-Learning,该算法经过改进以适应Agent执行的随机行为。在传统的Q-Learning[3]中,一个代理在每个状态之间采取1个行动,而在此基础上,代理的行动将根据在地板上生成的所有敌人/物品的概率分布进行更新,如下式所示。

其中Q'(s_t,a_t)是Q矩阵的更新值,Q(s_t,a_t)是状态s的Q矩阵,并且在时间步长t上有一对动作,α是学习率,r_t是提供的奖励 从过渡到状态t + 1时,γ是折现因子,上划线分量是基于时间步t + 1的平均回报对未来价值的估计。

通过GCP实现全局化RL训练

全局AI模型使用所有玩家收集的游戏数据进行训练,当玩家还没有玩过游戏时,全局AI模型作为基础RL模型。新玩家在第一次开始游戏时将获得全局化RL模型的本地副本,这将在他们玩游戏时根据自己的游戏风格进行调整,而他们的游戏数据将用于进一步增强全局AI模型,供未来的新玩家使用。

640.png

图2所示的架构概述了如何收集数据以及如何更新和分发全局模型。使用GCP是因为他们的免费使用产品最适合收集和存储游戏数据的模型训练[4]。在这方面,游戏会例行地调用GCP的云函数来存储Firebase数据库中的数据。

结论

本文介绍的工作描述了如何使用强化学习来增强玩家玩游戏的体验,而不是更常见的用于自动化人类动作的RL应用程序。我们使用免费GCP架构的组件收集所有玩家的游戏会话数据,从而创建全局RL模型。虽然玩家开始游戏时使用的是全局RL模式,但他们的个人体验会创造一个定制的局部RL模式,以更好地适应自己的游戏风格。

目录
相关文章
|
机器学习/深度学习 人工智能 算法
深度强化学习中实验环境-开源平台框架汇总
深度强化学习中实验环境-开源平台框架汇总
302 0
|
1月前
|
人工智能 知识图谱
轻松搭建AI版“谁是卧底”游戏,muAgent框架让知识图谱秒变编排引擎,支持复杂推理+在线协同
蚂蚁集团推出muAgent,兼容现有市面各类Agent框架,同时可实现复杂推理、在线协同、人工交互、知识即用四大核心差异技术功能。
40 2
|
3月前
|
机器学习/深度学习 人工智能 搜索推荐
如何让你的Uno Platform应用秒变AI大神?从零开始,轻松集成机器学习功能,让应用智能起来,用户惊呼太神奇!
【9月更文挑战第8天】随着技术的发展,人工智能与机器学习已融入日常生活,特别是在移动应用开发中。Uno Platform 是一个强大的框架,支持使用 C# 和 XAML 开发跨平台应用(涵盖 Windows、macOS、iOS、Android 和 Web)。本文探讨如何在 Uno Platform 中集成机器学习功能,通过示例代码展示从模型选择、训练到应用集成的全过程,并介绍如何利用 Onnx Runtime 等库实现在 Uno 平台上的模型运行,最终提升应用智能化水平和用户体验。
68 1
|
4月前
|
前端开发 Linux API
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
【8月更文挑战第3天】无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
|
6月前
|
人工智能 自然语言处理 机器人
[AI Google] 新的生成媒体模型和工具,专为创作者设计和构建
探索谷歌最新的生成媒体模型:用于高分辨率视频生成的 Veo 和用于卓越文本生成图像能力的 Imagen 3。还可以了解使用 Music AI Sandbox 创作的新演示录音。
[AI Google] 新的生成媒体模型和工具,专为创作者设计和构建
|
7月前
|
机器学习/深度学习 人工智能 算法
构建未来:基于AI的移动应用界面优化策略
【4月更文挑战第6天】随着人工智能技术的飞速发展,其在移动应用界面设计中的应用越来越广泛。本文将探讨如何利用AI技术优化移动应用的用户界面,提高用户体验。我们将详细介绍AI在理解用户需求、预测用户行为、自动调整界面元素等方面的应用,并讨论这种技术的挑战和未来发展趋势。
|
7月前
|
人工智能 Linux API
【AI大模型应用开发】【AutoGPT系列】1. 快速上手 - 运行原生AutoGPT or 利用AutoGPT框架开发自己的Agent
【AI大模型应用开发】【AutoGPT系列】1. 快速上手 - 运行原生AutoGPT or 利用AutoGPT框架开发自己的Agent
276 0
|
机器学习/深度学习 SQL 分布式计算
Azure 机器学习 - Azure机器学习产品和技术介绍全览
Azure 机器学习 - Azure机器学习产品和技术介绍全览
124 0
|
机器学习/深度学习 人工智能 安全
实测亚马逊 AI 编程助手 Amazon CodeWhisperer
CodeWhisperer是一款由亚马逊开发的基于机器学习的通用代码生成器。它能够实时提供代码建议,帮助我们在编写代码时提供自动化的建议。通过分析我们现有的代码和注释,它可以生成各种大小和范围的个性化建议,从单行代码建议到完整的函数。此外,CodeWhisperer还可以扫描我们的代码,以便突出显示和定义安全问题。
97 0
|
机器学习/深度学习 人工智能 文字识别
仪酷LabVIEW AI视觉工具包及开放神经网络交互工具包常见问题解答
仪酷LabVIEW AI视觉工具包及开放神经网络交互工具包常见问题解答
210 0
下一篇
DataWorks