AI 瘾君子神经网络教程 - 不明白
ai junkie neural networks tutorial - Not getting it
我一直在尝试理解神经网络教程 http://www.ai-junkie.com/ann/evolved/nnt1.html
我想我遵循了大部分教程直到第 8 页(最后一页),尽管也许我没有,因为如果我这样做,我可能会理解最后一页,不是吗? 不幸的是,这个页面没有得到很好的解释,因为它显然应该"从代码中的注释中很容易理解"。 而且,论坛似乎不起作用。
我想我希望已经看过或完成本教程的人来帮助解释,但如果你还没有,你想看看,请继续。 基本上,它结合了神经网络和遗传算法,以便在小坦克四处扫雷时控制它们的左右轨迹。 神经网络将最近矿井的位置和储罐的方向(lookat)向量作为输入,并输出左右储罐轨迹,用于更新储罐的速度和旋转。 在一轮比赛结束时,这些坦克被培育成新一代更好的坦克。
但。。。我只是不明白。 具体来说,我没有确切地看到坦克履带值与坦克捡起地雷的能力有何关系,而且我不明白不捡起任何地雷的垃圾箱和快速有效地扫雷的好垃圾箱之间的区别。
显然(如果您运行演示程序)模拟运行的时间越长,坦克就会得到改善。 但是有人可以向我解释(希望引用托尼·罗宾逊的话,用比亚诺读者可以理解的术语)到底发生了什么吗?
谢谢!
这是我能给出的最佳答案,基于我对你问题的解释。如果这不是您所要求的,请道歉,但您确实要求最基本的解释。
我不确切地看到坦克履带值与 坦克捡起地雷
坦克的工作方式是它有两条履带——左和右。他们每个人都有速度。如果两条履带都全速前进,坦克将直线向前移动。如果左履带向前移动,右履带以相同的速度向后移动,则坦克将顺时针旋转。因此,它基本上是一种复杂的控制机制,旨在使演习比坦克可以采取"向北移动一平方"类型的指令更有趣。
神经网络的全部意义在于获取输入(当前油箱方向和最近矿井的位置)并生成输出,以通过其不稳定的左/右胎面控制正确引导油箱朝矿井方向行驶。NN了解到,如果地雷在它的右边,它需要将左设置为"前进",从右设置为"后退",直到它指向矿井。然后它需要将左和右都设置为"前进",以便它实际上向前向矿井移动。
我不明白没有垃圾箱之间的区别 捡起任何地雷和快速扫雷的好地雷, 有效。
垃圾箱没有正确的 NN 来正确操纵垃圾箱。如果它看到右侧的地雷,它可能会向左旋转,远离地雷,因为它"不知道"如何向右转向。或者它可能会远离它已经指向的地雷,而不是向它移动。好人"知道"如何向地雷移动,也就是说,它们的 NN 的加权方式是,当给出最近地雷的输入时,这些 NN 将倾向于向地雷移动而不是远离地雷。
- 我的神经网络不起作用 [XOR 问题]
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 我不明白为什么我声明一个空的内部结构并将其传递给构造函数
- 通过网络、跨平台传递std::变体是否安全
- 如何在MNIST上提高网络运行的准确性
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- 我不明白这段代码是如何对这个pythonlist()进行排序的,也不明白如何用C++中的向量来重现它
- 不明白迭代器,引用和指针失效,一个例子
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 神经网络不学习.卡在50%
- 如何绑定 C++ gRPC 客户端的网络接口
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 在不知道套接字的情况下关闭网络连接
- 是否有 Windows 用户空间函数来枚举连接的网络共享?
- 而循环:简单的除法程序输出零,不明白为什么
- 在没有管理员权限的情况下连接到同一网络中的命名管道
- 无法为 X.radio 创建中等可视化,因为找不到网络节点可视化 - Omnet++
- AI 瘾君子神经网络教程 - 不明白
- 我不明白我使用教程创建的这个生成文件的某些部分