1

神经网络(BP FF)能否通过试验自学(自主)如何控制螺旋桨避免坠落和稳定?

神经网络类型:多层、反向传播、前馈、sigmoid 激活。

为简单起见,仅采用垂直螺旋桨控制和垂直速度。

输入:垂直速度。

输出:螺旋桨功率(只向下,所以只向上推)

由于反向传播 NN 从输出和期望输出的差异中得到错误,它如何在不知道期望输出的情况下自学(实际上,它需要学习期望输出)。

如果我将错误作为垂直速度(停止=无错误),那么它会更合适,但是如何更改 Encog 的 ResilientPropagation 或 BackPropagation 类的错误函数?

我需要自己编写整个网络课程来实现这种学习吗?因为没有初始训练数据。只有来自发动机功率和速度的新创建的数据。(如果我可以生成训练数据,那么我就会知道如何控制发动机,因此不需要神经网络)

最适合这项工作的神经网络类型是什么?

4

1 回答 1

2

正如@larsmans 的评论中所指出的,这可以通过强化学习范式来解决。在神经网络的背景下,目前最流行(也是唯一?)的方法是使用两个神经网络:

  • 演员网络:它学习代理在给定状态下应该采取的行动(在这种情况下是螺旋桨功率)(在这种情况下是垂直速度)

  • 评论家网络:学习价值观,就未来的强化代理而言,可以“希望”从这个状态实现

这种方法称为Actor-Critic方法。您需要做的只是设计加固功能。在您的情况下,这似乎很简单,因为它可能等于垂直速度,并会因偏离某个预定义的高度而受到额外的惩罚(否则网络将学会等待一段时间,直到螺旋桨掉落并自行停止)。

主要问题将是调整所有参数以使所有这些正常工作,但是问题似乎很简单,因此可能不是很难。

于 2013-09-19T15:25:47.980 回答