7
如何使用视觉输入训练人工神经网络来玩Diablo 2?
我目前正在尝试让ANN玩电子游戏,并且希望能从这里的美好社区得到一些帮助。 我已经选择了《暗黑破坏神2》,因此游戏是实时的,并且是从等轴测的角度来看,玩家可以控制相机居中放置的单个化身。 具体来说,任务是获得角色x经验值,而角色的生命值不会降低到0,而经验值是通过杀死怪物获得的。这是一个玩法示例: 现在,由于我希望网络仅基于它从屏幕上的像素获得的信息进行操作,因此它必须学习非常丰富的表示形式才能有效地进行游戏,因为这大概需要(至少是隐式地)知道如何将游戏世界分为对象以及如何与它们交互。 所有这些信息都必须以某种方式传到网上。我一辈子都想不起来如何训练这个东西。我唯一的想法是拥有一个单独的程序,从屏幕上直观地从游戏中提取某些本来是好事/坏事(例如健康,黄金,经验),然后在强化学习过程中使用该统计信息。我认为这将是答案的一部分,但我认为这还不够。从原始的视觉输入到面向目标的行为的抽象层次太多,以至于有限的反馈无法在我的一生中训练网络。 因此,我的问题是:您可以想到哪些其他方法来训练网络至少完成此任务的一部分?最好不要制作成千上万个带有标记的示例。 只是提供一些指导:我正在寻找增强学习的其他来源和/或在这种情况下提取有用信息的任何无监督方法。或采用监督算法,如果您可以想到一种无需手动标记就可以从游戏世界中获取标记数据的方法。 更新(04/27/12): 奇怪的是,我仍在努力,似乎正在取得进展。使ANN控制器正常工作的最大秘密是使用适合该任务的最先进的ANN架构。因此,我一直在使用由因式条件受限的玻尔兹曼机器组成的深度置信网,该机器以无监督的方式(在我玩游戏的视频中)进行了无监督的训练,然后通过时差反向传播(即使用标准的强化学习)进行了微调。前馈ANN)。 仍然在寻找更有价值的输入,特别是在实时选择动作以及如何为ANN处理编码彩色图像方面:-) 更新(10/21/15): 只是想起了我曾经回问过这个问题,并以为我应该提到这不再是一个疯狂的主意。自从我上次更新以来,DeepMind发表了他们的自然论文,内容涉及通过视觉输入让神经网络玩Atari游戏。确实,阻止我使用他们的体系结构玩《暗黑破坏神2》的一个有限子集的唯一原因是缺乏对基础游戏引擎的访问。渲染到屏幕然后将其重定向到网络实在太慢了,无法在合理的时间内进行训练。因此,我们可能不会很快看到这种机器人在玩Diablo 2,只是因为它会玩开源或具有对渲染目标的API访问权限的东西。(也许是地震?)