【发布时间】:2015-05-10 06:31:22
【问题描述】:
我在这里主要指的是这篇论文:http://clgiles.ist.psu.edu/papers/UMD-CS-TR-3617.what.size.neural.net.to.use.pdf
当前设置:
我目前正在尝试将我正在使用的 神经遗传 AI 解决方案移植到 多用途多代理 工具中。因此,例如,它应该作为游戏引擎中的 AI 工作,用于在实体周围移动并让他们射击并摧毁敌人(例如,4 个输入,如距离 x,y 和角度 x,y,2 个输出,如左加速,对)。
目前的状态是,我使用的基因组数量与确定最适合的代理的数量相同。 20% 的最适合的智能体相互结合(选择 zz、zw 基因组),并为新种群分别创造 2 个婴儿。每个新生代的其余新种群是在旧种群中随机选择的,包括最适合的基因组不适合的人群。
这对于启动 AI 非常有效,在 50-100 代之后,它在 Breakout 克隆和一个可以射击和四处移动的小型坦克游戏中几乎是人类无法击败的。 p>
因为我有想法为每种“代理类型”使用进化种群,所以现在的问题是是否有可能确定隐藏层的数量和隐藏层中神经元的数量。
我的坦克游戏设置是 4 个输入、3 个输出和 1 个隐藏层,其中 12 个神经元工作得最好(大约 50 代才能真正强大)。
我的突破游戏设置是 6 个输入、2 个输出和 2 个隐藏层,其中 12 个神经元似乎效果最好。
完成研究:
所以,回到论文:在第 32 页上,您可以看到似乎每个隐藏层有更多的神经元当然需要更多的时间来启动,但是中间的神经元越多,进入隐藏层的机会就越大。功能无噪音。
我目前只使用成功比上次尝试更好的适应度增加来启动我的 AI。
所以在坦克游戏中,这意味着他成功地击中了另一辆坦克(打伤他4次更好,然后敌人死了)并赢得了回合。
在突围游戏中,它类似于我有一个 AI 可以移动并收集积分的桨。这里的“中枪”或负面处理是它忘记了接球。因此,潜在的噪声输入将是 2 个输出值(左移、右移),取决于 4 个输入值(球 x、y、degx、degy)。
问题:
那么,您认为对于隐藏层的数量和神经元的数量进行哪种计算可以是一个很好的折衷方案,以消除干扰基因组进化的噪音?
在您可以说“它会进一步发展”之前,最少的代理数量是多少?我目前的训练设置总是围绕 50 个并行学习的代理(因此它们基本上在“幕后”并行模拟 50 个游戏)。
【问题讨论】:
标签: artificial-intelligence neural-network biological-neural-network