gpt4 book ai didi

python - 如何在视频游戏中赋予 AI 控制权?

转载 作者:行者123 更新时间:2023-11-30 08:38:51 25 4
gpt4 key购买 nike

所以我使用 PyGame 制作了 Pong,我想使用遗传算法让 AI 学习玩这个游戏。我希望它只知道其桨、球和控件的位置。我只是不知道如何让人工智能自己移动桨。我不想这样做:“如果球在你上方,就向上。”我希望它只是尝试随机的东西,直到它学会该怎么做。

所以我的问题是,如何让人工智能尝试控制并看看什么有效?

最佳答案

学习 Atari- Pong已成为强化学习中的标准任务。例如有 OpenAI baselines github 存储库实现了可插入各种任务的 RL 算法。

你绝对不需要这些高级算法来按照你描述的方式学习 Pong,但你可以从他们用来区分任务(强化学习术语中的“环境”)和 AI 部分( “控制者”或“代理”)。为此,我建议阅读OpenAI Gymn Documentation了解如何添加新环境。

简而言之,您可以使用一些 float (球的位置和速度,或者两个位置而不是速度和 Racket 的位置)。或者您可以使用离散输入(整数,或只是像素,更难学习)。这些输入可以连接到一个小型神经网络。

对于命令输出,最简单的事情就是预测向上或向下移动的概率。这是一个好主意,因为当您评估 Controller 时,它将有一些非零的得分机会,因此您的遗传算法可以将不同的 Controller (具有不同的权重)相互比较。只需对神经网络输出使用 sigmoid 函数,并将其解释为概率。

如果您将所有神经网络权重初始化为一个良好的随机范围,那么您可能可以通过足够长的时间尝试随机权重(即使没有 GA)来获得一个不会完全糟糕的乒乓球运动员。

PS:如果您不打算使用神经网络:如果您只需要实现前向传递,那么从头开始实现它们非常简单。例如。如果您不实现反向传播训练,而是使用 GA 来学习权重(或 evolution strategy ,或只是随机权重)。最困难的部分是为初始随机权重找到一个合适的范围。

关于python - 如何在视频游戏中赋予 AI 控制权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59525215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com