首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在真实对象输入/输出上训练神经网络,使其行为类似于对象

在真实对象输入/输出上训练神经网络,使其行为类似于对象
EN

Stack Overflow用户
提问于 2019-06-04 22:57:03
回答 1查看 56关注 0票数 -5

目标是创建一个AI来玩一个简单的游戏,跟踪屏幕上水平移动的点,从而提高速度,直到不再被跟踪。

我想创建一个AI,让它的行为类似于真实的测试对象。我有大量的试验记录,记录了几个月的时间,屏幕上的点的位置和用户光标的位置。

我想在这些试验中训练网络,使网络的行为类似于真实的测试对象,然后我可以获得大量的测试数据,以观察游戏参数的变化如何影响网络跟踪移动点的能力。

我对学习神经网络的底层代码很感兴趣,并希望得到一些关于从哪里开始这个项目的建议。我理解人工智能可以很好地执行不同的任务,如蛇,或其他简单的游戏,但我的目标是让人工智能的表现类似于真正的测试对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-05 03:21:38

你的问题有点宽泛,但我还是会试着回答。

要模仿受试者的行为,你可以使用LSTM网络,它了解受试者所处的状态(在你的例子中,状态可能包括关于点移动的速度和方向以及指针所在位置的信息),然后决定一个动作。您需要将数据(点坐标和用户行为)馈送到网络中。

一种更简单但有效的方法是使用简单的MLP网络。你的问题看起来并不难,一个简单的网络应该能够了解用户在特定情况下会做什么。然而,根据您所说的“与真实测试对象相似地执行”的意思,您可能需要一个更复杂的架构。

最后是GAN网络,如果你不熟悉in,它会有点复杂,训练起来既困难又耗时,在某些情况下可能根本无法训练。好的一面是,它们被精确地设计为模拟概率分布(或者更简单地说,一组数据)。

还有两个更重要的注意事项:

  1. 网络的性能在很大程度上取决于您的数据和游戏。例如,如果在您的数据集中,用户对相同的情况采取了非常不同的行为,那么MLP或LSTM将无法学习所有这些反应。
  2. 您的网络只能模仿教给它的东西。因此,如果你计划弄清楚人类智能体在某些情况下会做什么,而这些条件在你的数据集中从未发生过(例如,如果在你的数据集中,点只在一条线上移动,但你希望它在实验时在圆圈中移动),你不会得到好的结果。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56446445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档