Neural network 神经网络与遗传算法结合应用于乒乓球或超级马里奥

Neural network 神经网络与遗传算法结合应用于乒乓球或超级马里奥,neural-network,genetic-algorithm,reinforcement-learning,Neural Network,Genetic Algorithm,Reinforcement Learning,我试着用GA训练一个ANN,它的工作是垂直移动一个杆,这样它就可以使球弹起而不会撞到杆后的墙,换句话说,一个杆的乒乓球。 我会直接问,因为我想知道问题是什么。 游戏窗口是200x200像素,所以我创建了40000个输入神经元。 显而易见的疑问是:GA能处理40000(输入)*10(隐藏)*2个元素(基因)的染色体吗? 因为我认为答案是否定的(我实现了这个解决方案,但似乎不起作用),解决方案似乎很简单,我只给NN提供了4个参数,即杆和球的坐标x,y,确定了它。 很好的解决方案,但问题是:在屏幕上的

我试着用GA训练一个ANN,它的工作是垂直移动一个杆,这样它就可以使球弹起而不会撞到杆后的墙,换句话说,一个杆的乒乓球。 我会直接问,因为我想知道问题是什么。 游戏窗口是200x200像素,所以我创建了40000个输入神经元。 显而易见的疑问是:GA能处理40000(输入)*10(隐藏)*2个元素(基因)的染色体吗? 因为我认为答案是否定的(我实现了这个解决方案,但似乎不起作用),解决方案似乎很简单,我只给NN提供了4个参数,即杆和球的坐标x,y,确定了它。 很好的解决方案,但问题是:在屏幕上的敌人数量不固定的情况下,我如何将这样的解决方案应用到像supermario这样的游戏中?当然,我无法创建具有动态输入数的NN。
我希望您能帮助我。

您必须使用功能来表示您的状态。例如,您可以将屏幕划分为分幅,并根据考虑到敌人的函数指定值(例如,如果敌人在分幅中,则为布尔值,或者距离最近的敌人的距离)

您仍然可以使用像素,但可能需要对其进行预处理以减小其大小(例如,使用递归NN)


顺便说一句,NN可能无法处理200x200像素,但它能够使用84x84x4大小的预处理像素表示状态来学习玩Atari游戏(请参见)。

很高兴在这么长时间后看到答案:)。无论如何,我试着把输入减少到只有一个神经元,也就是杆和球之间的Y距离。我得到了什么?我不知道我是否真的可以称之为GA,因为它几乎总是在第一代就学会演奏。。。无论如何,感谢tiles的想法,我并没有真的想过,你在哪里读过吗?欢迎:)Tile编码是强化学习中表示状态的常用方法。在谷歌上搜索,你可以很容易地找到这些算法的一些C实现。类似的方法(经常使用)是径向基函数。关于单神经元网络,它学习似乎是合理的,因为最终目标是使球和杆之间的距离最小化。