Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 关于扮演蛇角色的神经网络的澄清_Machine Learning_Neural Network_Artificial Intelligence_Genetic Algorithm - Fatal编程技术网

Machine learning 关于扮演蛇角色的神经网络的澄清

Machine learning 关于扮演蛇角色的神经网络的澄清,machine-learning,neural-network,artificial-intelligence,genetic-algorithm,Machine Learning,Neural Network,Artificial Intelligence,Genetic Algorithm,我是神经网络/机器学习/遗传算法的新手,在我的第一个实现中,我正在编写一个学习玩蛇的网络()我有几个问题我不完全理解: 在我提问之前,我只想确保我正确理解了大意。有一群蛇,每一条都有随机产生的DNA。DNA是神经网络中使用的权重。每次蛇移动时,它都使用神经网络来决定去哪里(使用偏差)。当种群死亡时,选择一些亲本(可能是适合度最高的亲本),并以微小的变异机会交叉它们的DNA 1) 如果将整个电路板作为一个输入(大约400个点),有足够的隐藏层(不知道有多少层,可能是256-64-32-2?),并且

我是神经网络/机器学习/遗传算法的新手,在我的第一个实现中,我正在编写一个学习玩蛇的网络()我有几个问题我不完全理解:

在我提问之前,我只想确保我正确理解了大意。有一群蛇,每一条都有随机产生的DNA。DNA是神经网络中使用的权重。每次蛇移动时,它都使用神经网络来决定去哪里(使用偏差)。当种群死亡时,选择一些亲本(可能是适合度最高的亲本),并以微小的变异机会交叉它们的DNA

1) 如果将整个电路板作为一个输入(大约400个点),有足够的隐藏层(不知道有多少层,可能是256-64-32-2?),并且有足够的时间,它会学会不把自己封闭起来吗

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

  • 400个输入,板上每个空间一个。如果蛇应该去那里(苹果),则为阳性;如果是墙/你的身体,则为阴性。越接近-1/1,它就越接近
  • 6个输入:游戏宽度、游戏高度、蛇x、蛇y、苹果x和苹果y(如果以这种方式训练,可能会学习在不同大小的棋盘上玩,但不确定如何输入它的身体,因为它会改变大小)
  • 给它一个视野(可能是头部前方3x3的正方形),可以提醒蛇注意墙壁、苹果或它的身体。(不幸的是,蛇只能看到正前方的东西,这可能会妨碍它的学习能力)
3) 给定输入法,什么是隐藏层大小的好起点(当然,计划调整这个,只是不知道什么是好起点)

4) 最后,蛇的健康。除了得到苹果的时间,它的长度,它的寿命,还应该考虑其他因素吗?为了让蛇学会不把自己挡在里面,我还有什么可以补充的吗


谢谢大家!

我看到了类似的应用。输入通常是蛇形坐标、苹果坐标和一些感官数据(在你们的例子中,墙是否靠近蛇头)

在这种情况下,使用遗传算法是一个好主意。您只需要进行参数学习(查找权重集),但结构将基于您的估计。遗传算法也可用于结构学习(寻找神经网络的拓扑结构)。但将遗传算法用于这两种方法都将非常困难

弗洛里亚诺教授也做了类似的事情。他使用遗传算法为机器人的神经网络控制器寻找权重。机器人在迷宫中执行一些任务。神经网络隐层是一个神经元,输入端有一个重复关节,自身有一个侧面连接。有两项产出。输出连接在输入层和隐藏层(提到一个神经元)

但弗洛里亚诺做了更有趣的事。他说,我们并非生来就有确定的突触,我们的突触在一生中都会发生变化。所以他用遗传算法来寻找突触变化的规律。这些规则是基于赫伯学习的。他执行节点编码(所有连接到神经元的权重将应用相同的规则)。开始时,他根据小的随机值初始化权重。寻找规则而不是突触的数值会导致更好的结果。


还有我自己的经验。上学期,我和我的同学接到了一项任务,用遗传算法寻找突触的规则,但用尖峰神经网络。我们的SNN是移动机器人运动学模型的控制器,任务是引导机器人到达选定的点。我们取得了一些成果,但没有达到预期。你可以看到结果。因此,我建议您使用“普通”ANN,而不是关闭SNN,因为SNN带来了新的现象。

在这篇文章中,我将建议您:

  • 如何使用LSTM将导航指令映射到动作序列 神经网络
  • 帮助您学习如何使用神经网络的资源 建立人际网络以完成任务
  • 如何安装和配置neural 网络图书馆基于我所需要的艰苦学习方式
对您想法的总体看法:

我知道你想做什么,我相信你的游戏理念(使用随机生成的对手身份控制他们的行为,随机改变他们使用人工智能进行智能行为的方式)有很大的潜力

使用神经网络将导航指令映射到动作序列

对于处理游戏板,因为它涉及密集(而不是稀疏)数据,所以可以使用卷积神经网络(CNN)。但是,由于需要将贴图转换为动作序列,因此序列优化神经网络(如递归神经网络)可能对您最有用。我确实发现了一些研究,这些研究使用神经网络将导航指令映射到动作序列,构建游戏地图,并在具有多种输入类型的游戏中移动角色:

  • 梅,H.,班萨尔,M.,和沃尔特,M.R.(2015)。听、听、走:导航指令到动作序列的神经映射。arXiv预印本arXiv:1506.04089。网址:
  • 兰普尔,G.,和查普洛特,D.S.(2016)。通过深度强化学习玩FPS游戏。arXiv预印本arXiv:1609.05521。网址:
  • 兰普尔,G.,和查普洛特,D.S.(2016)。通过深度强化学习玩FPS游戏。arXiv预印本arXiv:1609.05521。网址:
  • 舒尔茨,R.,塔尔博特,B.,林,O.,达尤布,F.,科克,P.,厄普克罗夫特,B.,惠氏G.(2015年5月)。使用人类线索的机器人导航:用于符号目标导向探索的机器人导航系统。在机器人与自动化(ICRA)中,2015年IEEE国际机器人会议(第1100-1105页)。IEEE。网址:
对您有帮助的一般意见

听起来你对neu是如何工作的缺少了一些基本的了解