用于 xml 操作的机器学习算法

人工智能 机器学习 算法 学习算法
2021-10-21 02:07:53

给定一个虚拟游戏地图(图片)和位于地图起点的赛车,我正在尝试构建一种算法,帮助我生成一条路线,让汽车从起点到达终点。

路线定义:一个非常复杂的 .xml 文件,其中包含汽车成功导航所需的所有数据。

我有的:

  • 我有数千张不同的地图,我可以得到任意数量的我想要的地图。
  • 对于每张地图,我都有一个复杂的外部算法,它使用图片分析为我构建了一条路线——尽管这条路线并不那么准确。
  • 对于某些百分比的地图,我还有一个特定的“工作良好的汽车解决方案”——基本上是一个手动构建的路线文件。

我想要实现的目标:基本上,我正在尝试改进我无法访问的复杂路由生成器算法。我想使用我拥有的手动路线的百分比,并将它们与为相同地图生成的路线进行比较。通过手动和自动创建的路由文件之间的比较和差异,我想构建一个第二步智能算法,该算法“学习”自动生成的路由中应该更改的内容,并让该算法作为第二步运行并制作它尽可能接近手工路线。

我的最终目标是能够为我没有手动路线的地图建立准确的路线。我希望能够为每张地图生成准确的路线——同时使用外部算法和我将在其之上构建的算法。

这整个主题对我来说是非常新的,我想听听你的建议,我应该如何解决这个复杂的问题,以及什么可以让我更轻松地完成这项任务。

1个回答

术语

在这个讨论中,单词map有两种用途。

  • 下面将路线图解释为路线图的图像。
  • 将输入映射到所需输出是系统必须学习的技能。

用于教导系统从现有的输入到输出的映射的示例集称为标记数据集,相关的学习类型称为监督

培训资源

  • 不可靠的标记路线图示例和访问更多也不可靠的标记路线图示例
  • 海量未标注路线图示例,获取更多路线图
  • 较少数量的标记路线图示例

输入

  • 虚拟游戏地图作为图像
  • 起始位置
  • 目标结束位置

输出

  • 最详细的最快路线以完全指导汽车运动——假设应该优化路线以实现最快的到达时间,而不是为了节省燃料、最小的轮胎磨损、安全或最小的距离,因为汽车被确定为赛车。

资源库存的准确估价

来自黑盒服务的低质量路由既没有提供期望的系统行为的示例,也没有提供不期望的系统行为的示例。前一种情况将是很好的训练数据。后者可以很好地用于基于 GAN 及其变体设计的对抗性架构。来自黑盒服务的标记数据的不确定质量使其模棱两可,从信息科学的角度来看,它的价值为零。

比较低质量路线和高质量路线可能很有趣,但考虑到机器学习的当前状态,它并不是特别有用。您最初项目阶段的目标是教机器从低质量路线生成高质量路线,而不是生成比较报告。为了在不处理图像的情况下做到这一点,这两组之间将需要相当大的重叠。

  • 手动创建标签的标记路线图示例数量较少
  • 黑盒服务为其创建标签的相应标签路线图示例

这种方法需要您纠正不良路线以创建足够的训练集。没有重叠,您就没有人工网络训练的训练数据。有可能创建一种 GAN 风格的算法,该算法学习如何使用称为交叉熵的概念来纠正黑盒服务输出,但它需要处理图像,并且这样做可能比替换黑色更难完全包厢服务。

如果您的最终目标是创建一个从图像和起点和位置生成路线的工作系统,我建议完全不考虑外部服务,并放弃创建路线改进子系统的想法。您希望改进黑盒路由生成器的算法是高尚的,但最终会分散注意力以达到最终目标。

用你设计和建造的可靠的东西代替不可靠的东西,你将有完全和开放的访问权来改进。无论哪种方式,您的系统最终都必须处理代码中的图像,这是整个任务中最具挑战性的方面。只需了解 CNN 和 RNN 并开始学习。无论如何,这是我的建议。

关于反馈的说明

对于任何重要的路线,如果只给出转弯、加速和减速指令,汽车就不太可能留在路上。通常需要道路边缘的检测作为伴随路线指令的反馈机制。解决此问题的唯一方法是使可视化足够准确,以使累积误差永远不会超过使汽车偏离路面的距离。

关于数据表示的说明

在同构数组方面,JSON 比 XML 具有更灵活和简洁的结构,并且很容易将 XML 转换为 JSON。此外,运输路线通常表示为有向图,并且图论中已经构想了许多算法,这些算法已经在大多数语言的图库中实现。例如,最短路径、路径等价、路径连接和环检测(绕圈行驶)是对这些库的单行调用。因为 JSON 在许多领域已经超过了 XML,所以可以直接读写 JSON 的图形库的数量已经超过了可以直接读写 XML 的数量。在这一点上,用于 JSON 分析和可视化的工具也已经超过了 XML。