ai junkie 神经网络教程 - 不明白

ai junkie neural networks tutorial - Not getting it

我一直在努力理解 http://www.ai-junkie.com/ann/evolved/nnt1.html

上的神经网络教程

我想我已经完成了教程的大部分内容,直到第 8 页(最后一页),尽管我可能没有,因为如果我这样做了,我可能会理解最后一页,不是吗?对我来说不幸的是,这个页面没有得到很好的解释,因为它显然应该是 "easily understood from the comments within the code"。而且,论坛好像打不开了。

我想我希望有人已经看过或学过本教程来帮助解释,但如果您还没有看过或想看一看,请继续。基本上,它结合了神经网络和遗传算法,以便在小坦克四处扫雷时控制它们的左右轨道。神经网络将最近的地雷位置和坦克的方向(lookat)向量作为输入,并输出左右坦克轨迹,用于更新坦克的速度和旋转。在一轮结束时,坦克会被培育出新一代更好的坦克。

但是...我就是不明白。具体来说,我不明白坦克履带值与坦克捡起地雷的能力有什么关系,我也不明白垃圾坦克之间的差异什么地雷都不捡,扫地雷又快又高效的好人

显然(如果你 运行 演示程序)坦克 改善模拟时间越长 运行s。但是有人可以向我解释(希望是引用托尼·罗宾逊的话,用 Beano reader 可以理解的术语)到底发生了什么吗?

谢谢!

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

I don't see exactly how the tank track values relate to the ability of the tank to pickup the mines

坦克的工作方式是它有两条履带——左履带和右履带。他们每个人都有一个速度。如果两条履带都全速前进,则坦克将直线前进。如果左履带向前移动,右履带以相同的速度向后移动,则坦克将顺时针旋转。所以它基本上是一个复杂的控制机制,旨在使演习比坦克可以接受 "move one square north" 类型的指令更有趣。

神经网络的全部意义在于接受输入(当前坦克的方向和最近矿井的位置)并生成输出以正确地引导坦克以其不稳定的 left/right 踏板控制朝向矿井。 NN 了解到,如果地雷在它的右边,它需要向左设置为 "forward",向右设置为 "back",直到它指向地雷。然后它需要将左右都设置为 "forward" 所以它实际上向矿井前进。

I don't understand the difference between the rubbish tanks that don't pick up any mines and the good ones that sweep up mines quickly and efficiently.

垃圾箱没有正确的 NN 来正确驾驶坦克。如果它看到右边有地雷,它可能会向左转远离地雷,因为它 "know" 不知道如何向右转向。或者它可能会远离它已经指向的地雷,而不是朝它移动。好的 "know" 如何向地雷移动,也就是说,他们的 NN 以这样一种方式加权,即当给出最近的地雷的输入时,这些 NN 将倾向于向地雷移动而不是远离来自它。