关于扮演Snake的神经网络的澄清

关于扮演Snake的神经网络的澄清

我是神经网络/机器学习/遗传算法的新手,对于我的第一次实现,我正在写一个学会玩蛇的网络(以前你没有玩过它的例子)我有几个问题我不喜欢完全明白:

在我提出问题之前,我只想确保正确理解一般的想法。有一群蛇,每一条都有随机产生的DNA。DNA是神经网络中使用的权重。每次蛇移动时,它都会使用神经网络决定去哪里(使用偏差)。当人口死亡时,选择一些父母(可能是最高适应度),并以轻微的突变机会交叉他们的DNA。

1)如果给整个电路板作为输入(大约400个点)足够的隐藏层(不知道有多少,可能是256-64-32-2?),并且有足够的时间,它是否会学会不打包?

2)什么是好的投入?以下是我的一些想法:

  • 400个输入,一个用于电路板上的每个空间。如果蛇应该去那里(苹果)是正面的,如果它是墙/你的身体则是负面的。越接近-1/1,它就越接近。

  • 6个输入:游戏宽度,游戏高度,蛇x,蛇y,苹果x和苹果y(如果按照这种方式训练,可以学习在不同尺寸的板上玩,但不知道如何输入它的身体,因为它改变了大小)

  • 给它一个视野(可能在头前3x3平方),可以警告蛇的墙壁,苹果或它的身体。(不幸的是,蛇只能在前面看到什么,这可能会妨碍它的学习能力)

3)给定输入法,隐藏图层大小的起点是什么(当然计划调整这个,只是不知道什么是好的起点)

4)最后,蛇的健身。除了获得苹果的时间,它的长度,它的寿命,还有其他因素吗?为了让蛇学会不阻挡自己,还有什么我可以添加到健身帮助吗?

谢谢!


杨__羊羊
浏览 875回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP