如何提高我用 NEAT 训练的模型的性能,让无人机学习如何飞行?

人工智能 神经网络 整洁的 神经进化 适应功能 健身设计
2021-11-07 14:09:48

我正在做一个无人机需要学习如何飞行的项目。我正在使用NEAT

对于第一个实验,我希望无人机学会如何在一个3×3×3米箱。我的输入是每个方向 6 个传感器。输出与无人机相同,因此推力(归一化为 0-1)、副翼、方向舵和升降舵。

最初,我只是将时间用作健身;并且,经过几代人,它在盒子里徘徊。然而,它只是真正学会在上下传感器的功能中使用推力,但它从未学会对来自其他传感器的输入做出反应,因为它们与健身没有直接联系。

那么,我能做些什么来提高我的模型的性能呢?是否应该让无人机在有障碍物的轨道上飞行?我应该有更多的输入数据吗?我是否应该定义适应度以更好地反映对输入传感器数据的良好反应?

注意:无人机使用相对准确的物理,我可以使用控制器完成任务。

1个回答

似乎时间是一种很好的健身方式,尽管您需要它来学习侧面传感器输入和侧面运动。

我会考虑在环境中添加一些随机性。如何添加一些随机的轻微力量,这些力量可能会左右左右前后左右摇摆,以便机器人被迫使用其他传感器和输入来保持在中心位置。

在不模拟无人机的情况下,这项任务会稍微困难一些,但仍然可以为环境添加随机性。例如,以随机间隔在随机方向上稍微倾斜您的无人机。这将迫使您的无人机学习纠正被风推挤的情况,而无需您实际产生风。