fifa21所有球队 fifa18


本文作者是切尔西足球俱乐部粉丝,他写了一篇英文博客介绍如何使智能体在 FIFA 18 游戏中更加完美地踢任意球,共分为两部分:用神经网络监督式地玩 FIFA 18;用强化学习 Q 学习玩 FIFA 18 。
玩 FIFA 游戏的机制
构建能玩 FIFA 游戏的智能体与游戏内置的 Bot 是不一样的,它不能访问任何内部程序信息,只能与人一样获得屏幕的输出信息 。游戏窗口截图就是所有需要馈送到智能体游戏引擎的数据,智能体会处理这些视觉信息并输出它希望采取的动作,最后这些动作通过按键模拟器传递到游戏中 。

fifa21所有球队 fifa18

文章插图

下面我们提供了一个基本的框架为智能体提供输入信息,并使其输出控制游戏 。因此,我们要考虑的就是如何学习游戏智能体 。本文主要介绍了两种方法,首先是以深度神经网络和有监督的方式构建智能体,包括使用卷积神经网络理解截图信息和长短期记忆网络预测动作序列 。其次,我们将通过深度 Q 学习以强化学习的方式训练一个强大的智能体 。这两种方式的实现方法都已经开源:
  • 基于深度有监督的智能体:https://github.com/ChintanTrivedi/DeepGamingAI_FIFA
  • 基于强化学习的智能体:https://github.com/ChintanTrivedi/DeepGamingAI_FIFARL
基于监督学习的智能体
步骤 1:训练卷积神经网络(CNN)
CNN 因其高度准确地对图像进行目标检测的能力而出名 。再加上有快速计算的 GPU 和高效的网络架构,我们可以构建能实时运行的 CNN 模型 。
fifa21所有球队 fifa18

文章插图

为了令智能体能理解输入图像,我们使用了一个非常紧凑的轻量级卷积网络,即 MobileNet 。该网络抽取的特征图表征了智能体对图像的高级语义理解,例如理解球员和其它目标在图像中的位置 。特征图随后会与单次多目标检测器一起检测球场上的球员、球与球门 。
fifa21所有球队 fifa18

文章插图

步骤 2:训练长短期记忆网络(LSTM)
fifa21所有球队 fifa18

文章插图

现在理解了图像之后,我们继续来决定下一步的行动 。然而,我们并不想仅看完一个帧的图像就采取动作 。我们首先需要观察这些图像的短序列 。这正是 LSTM 发挥作用的地方,LSTM 就是因其对时序数据的优越建模能力而出名的 。连续的图像帧在序列中作为时间步,每个帧使用 CNN 模型来提取特征图 。然后这些特征图被同时馈送到两个 LSTM 网络 。
fifa21所有球队 fifa18

文章插图

第一个 LSTM 执行的是决定玩家移动方式的学习任务 。因此,这是一个多类别分类模型 。第二个 LSTM 得到相同的输入,并决定采取交叉、过人、传球还是射门的动作,是另一个多类别分类模型 。然后这两个分类问题的输出被转换为按键动作,来控制游戏中的动作 。
这些网络已经在手动玩游戏并记录输入图像和目标按键动作而收集的数据上训练过了 。这是少数几个收集标记数据不会那么枯燥的任务类型之一 。
基于强化学习的智能体
在前一部分中,我介绍了一个经过训练的人工智能机器人,它使用监督学习技术来玩 FIFA 游戏 。通过这种方式,机器人很快就学会了传球和射门等基本动作 。然而,收集进一步改进所需的训练数据变得很麻烦,改进之路举步维艰,费时费力 。出于这个原因,我决定改用强化学习 。
这部分我将简要介绍什么是强化学习,以及如何将它应用到这个游戏中 。实现这一点的一大挑战是,我们无法访问游戏的代码,所以只能利用我们在游戏屏幕上所看到的内容 。因此,我无法在整个游戏中对智能体进行训练,但可以在练习模式下找到一种应对方案来让智能体玩转技能游戏 。在本教程中,我将尝试教机器人在 30 码处踢任意球,你也可以通过修改让它玩其他的技能游戏 。让我们先了解强化学习技术,以及如何制定适合这项技术的任意球问题解决方案 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。