首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据神经网络的输入和输出确定最佳的隐层和神经元?

如何根据神经网络的输入和输出确定最佳的隐层和神经元?
EN

Stack Overflow用户
提问于 2015-03-09 06:27:37
回答 1查看 187关注 0票数 3

我主要指的是这篇论文:http://clgiles.ist.psu.edu/papers/UMD-CS-TR-3617.what.size.neural.net.to.use.pdf

电流设置

我目前正在尝试移植神经遗传学AI解决方案,我已经准备好进入多功能多agent工具。因此,例如,它应该像游戏引擎中的人工智能一样,在实体周围移动,让他们射击和摧毁敌人(例如,像距离x,y和角度x,y,y和2个输出,如加速左,右)。

到目前为止的情况是,我使用的基因组数量是相同的,因为有试剂来确定最合适的药物。20%的优胜劣汰剂结合在一起(zz,zw基因组被选中),并为新种群各生育2个婴儿。每一代新一代的新种群的其余部分是随机选择在老种群中的,包括最适合拥有不适合的基因组的群体.

这对人工智能来说很好,在一代50-100之后,它几乎是人类不可战胜的突破克隆和一个小坦克游戏,在那里你可以射击和移动。

由于我的想法是对每一种“Agent类型”的进化种群使用,现在的问题是,是否有可能一般性地确定隐藏层的数量和隐藏层中神经元的数量。

我的坦克游戏设置是4个输入,3个输出和一个隐藏层与12个神经元工作最好( 50代左右,真正强大)。

我的突破游戏设置是6个输入,2个输出和2个隐藏层与12个神经元,似乎是最好的工作。

Done

所以,回到第32页,你可以看到,每个隐藏层上的神经元似乎需要更多的时间来启动,但是中间的神经元越多,就越有机会在没有噪音的情况下进入这个函数。

我目前只使用我的人工智能,在成功地比上次尝试更好的情况下使用了体能增长。

所以在坦克游戏中,这意味着他成功地射中了另一辆坦克(打伤他4次更好,然后敌人死了)并赢得了这一轮。

在突破游戏,它是类似的,因为我有一个桨,AI可以左右移动,它可以收集积分。这里的“被射中”或“负伤”就是它忘了接球。因此,潜在的噪声输入将是两个输出值(移动-左,移动-右),这取决于4个输入值(球x,y,德高,挽歌)。

问题

那么,什么样的计算隐藏层的数量和神经元的数量,你认为是一个很好的权衡,没有噪音,杀死基因组进化?

在你能说“它会进一步发展”之前,什么是代理商的最低数量?我目前的训练设置总是围绕着50名平行学习的代理人(所以他们基本上模拟了50场平行的“幕后”游戏)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-09 11:34:54

总之,对于大多数问题,只要使用两个规则来设置隐藏层配置,就可以获得良好的性能(即使没有第二个优化步骤):(i)隐层数等于1;(ii)该层中的神经元数是输入和输出层中神经元的平均值。

-道格

总之。这是一个正在进行的研究领域。大多数(据我所知)使用大量神经元和H层的ANN没有设置静态数目,而是使用算法不断地修改这些值。通常在输出集中/发散时进行构造和破坏。

由于听起来您已经在使用一些进化计算,请考虑一下安德鲁·特纳在CGPANN上的工作,我记得它在类似于您的工作的基准上得到了相当不错的改进。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28936289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档