ai junkie神经网络教程 - 没有得到它

时间:2015-03-14 13:26:42

标签: c++ machine-learning neural-network genetic-algorithm

我一直试图在http://www.ai-junkie.com/ann/evolved/nnt1.html

了解神经网络教程

我想我可以按照第8页(最后一页)的大部分教程进行操作,但也许我不这样做,因为如果我这样做,我可能会理解最后一页不是吗?对我来说不幸的是,这个页面没有得到很好的解释,因为它显然应该“很容易从代码中的注释中理解”。而且,论坛似乎没有用。

我想我希望已经看过或通过本教程工作的人帮助解释,但如果你还没有,你想看看,那就去吧。基本上它结合了神经网络和遗传算法,以控制小坦克的左右轨道,因为它们四处扫荡地雷。神经网络将最近的矿井的位置和油箱的方向(外观)矢量作为输入,并输出左右油箱轨道,用于更新油箱的速度和旋转。在一轮结束时,这些坦克被培育成新一代更好的坦克。

但是......我只是不明白。具体来说,我并没有确切地看到坦克轨道值与坦克拾取地雷的能力有什么关系,我不明白那些没有拾取的垃圾箱之间的差异任何地雷和能够快速有效地扫雷的好地雷。

显然(如果你运行演示程序)坦克 改善了模拟运行的时间。但是,有人可以向我解释(希望能引用托尼罗宾逊,就Beano读者能够理解的那样)究竟发生了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

根据我对您的问题的解释,这是我能给出的最佳答案。如果它不是你要求的,请道歉,但你确实要求最基本的解释。

  

我并没有确切地知道坦克赛道的价值与其能力有何关系   拾取地雷的坦克

坦克的工作方式是它有两条轨道 - 左和右。他们每个人都有速度。如果两条轨道全速前进,则坦克将以直线向前移动。如果左侧轨道向前移动而右侧轨道以相同速度向后移动,则水箱将顺时针旋转。因此它基本上是一个复杂的控制机制,旨在使运动比坦克可以采取“向北移动一个方向”类型指令更有趣。

神经网络的重点是获取输入(当前水箱方向和最近的矿井的位置)并生成输出以正确地操纵水箱,其左侧/右侧胎面控制器朝向矿井。 NN得知如果一个矿井在它右边,它需要向左设置为“向前”,向右设置为“向后”直到它指向矿井。然后它需要将左右两个设置为“向前”,以便它实际上向前移向矿井。

  

我不明白垃圾箱之间的区别   拿起任何地雷和那些快速扫除地雷的好地雷   有效。

垃圾箱没有正确的NN来正确操纵水箱。如果它看到右边的一个矿井,它可能会离开矿井左转,因为它不“知道”如何转向右边。或者它可能会转离已经指出的矿井,而不是向它移动。好的“知道”如何走向地雷,也就是说他们的NN的权重是这样的:当给出最近的矿井的输入时,那些NN将倾向于向矿井移动而不是远离它