0

我试图用遗传算法训练的人工神经网络,其任务是垂直移动一栏,以便它使一个反弹球没有击中柜台后面的墙上,在其他神经网络单词,单条乒乓球。 我会直接问,因为我想知道问题是什么。 游戏窗口是200x200像素,所以我创建了40000个输入神经元。明显的疑问是:GA可以处理40000(输入)* 10(隐藏)* 2元素(基因)的染色体吗? 因为我认为答案是否定的(我实现这个解决方案似乎并没有工作),解决方案似乎很简单,我喂NN只有4参数,这些参数坐标x,酒吧和球的Y,钉它。 很好的解决方案,但问题是:我怎么能适用于像supermario游戏这样的解决方案,其中在屏幕的敌人的数量是不固定的?当然,我不能创建一个具有动态数字输入的NN。 我希望你能帮助我。使用具有遗传算法的乒乓球或supermario

回答

0

你要使用的功能来代表你的国家。例如,您可以按瓷砖划分屏幕并根据考虑到敌人的功能(例如,如果敌人在瓦片中或者距离最近敌人的距离为布尔值)分配一个值。

,您仍然可以使用像素,但您可能需要预处理它们,以减少它们的大小(例如,使用一个经常性的NN)。

顺便说一句,NN可能无法处理200x200像素,但它能够学习使用尺寸为84x84x4的预处理像素(请参阅this paper)的状态表示法来播放Atari游戏。

+0

高兴看到这么长时间后:)一个答案。无论如何,我试图减少输入到只有1个神经元,这是酒吧和球之间的Y距离。我得到了什么?我不知道我是否真的可以称它为GA,因为几乎总是会学习在第一代玩游戏......无论如何,感谢瓷砖的想法,我没有真正想过,你是否在某处读过它? – Christian

+0

欢迎您:)瓷砖编码是在强化学习中表示状态的常用方法。看看这里https://webdocs.cs.ualberta.ca/~sutton/book/ebook/node88.html在Google上搜索,您可以轻松找到这些算法的一些C实现。类似的方式(经常使用)是径向基函数。 关于你的1-神经元网络,它似乎是合理的,因为最终目标是最小化球和杆之间的距离。 – Simon