我是新来的neural network/机器学习/遗传algorithm,并为我的第一个实现,我正在写一个networking,学习玩蛇( 以前的例子,如果你以前没有玩过 )我有几个问题,我不完全不了解: 在我的问题之前,我只想确保我理解正确的一般想法。 有一群蛇,每个都有随机产生的DNA。 DNA是neural network中使用的权重。 每次蛇移动,它使用neural network决定去哪里(使用一个偏见)。 当人口死亡,select一些父母(也许最高适应度),并交叉他们的DNA与一个轻微的变异机会。 1)如果给予整个董事会作为一个input(大约400个点)足够的隐藏层(不知道有多less,也许是256-64-32-2?),并有足够的时间,是否会学会不把自己装进去? 2)什么是好的投入? 以下是我的一些想法: 400个input,板上的每个空间都有一个input。 如果蛇应该去那里(苹果)正面,如果是墙壁/你的身体,则是负面的。 越接近-1/1,它越接近。 6个input:游戏宽度,游戏高度,蛇x,蛇y,苹果x和苹果y(如果以这种方式训练,可以学习在不同尺寸的板上玩,但不知道如何input它的身体,因为它改变大小) 给它一个可以提醒墙壁,苹果或它的身体的蛇的视野(也许是头部前面的3×3平方)。 (蛇只能看到前面的东西不幸,这可能会阻碍它的学习能力) 3)给定input法,隐藏图层大小的起始位置是什么(当然,计划调整这个,只是不知道什么是一个好的起点) 4)最后是蛇的健身。 除了得到苹果的时间之外,它的长度,还有它的一生,是否应该考虑其他因素呢? 为了让蛇学会不要阻止自己,有什么我可以添加到健身帮助吗? 谢谢!