【发布时间】:2013-09-19 13:44:26
【问题描述】:
神经网络(BP FF)能否通过试验自学(自主)如何控制螺旋桨避免坠落和稳定?
神经网络类型:多层、反向传播、前馈、sigmoid 激活。
为简单起见,仅采用垂直螺旋桨控制和垂直速度。
输入:垂直速度。
输出:螺旋桨功率(只向下,所以只向上推)
由于反向传播神经网络会从输出和期望输出的差异中得到错误,它如何在不知道期望输出的情况下自学(实际上,它需要学习期望输出)。
如果我将误差作为垂直速度(stopped=no error),那么它会更合适,但是如何更改 Encog 的 ResilientPropagation 或 BackPropagation 类的误差函数?
我需要自己编写整个网络类来实现这种学习吗?因为没有初始训练数据。只有新创建的发动机功率和速度数据。(如果我可以生成训练数据,那么我就会知道如何控制发动机,因此不需要神经网络)
最适合这项工作的神经网络类型是什么?
【问题讨论】:
-
这是强化学习的问题。我认为,对该领域的完整解释超出了 SO 的范围。
-
是否有可能将输出绑定到附加输入,以便 NN 了解其输出并以某种方式将其错误降至最低?也许输入+输出(反馈)的垂直速度但只有单个螺旋桨功率作为另一个输出?我的意思是只考虑其中一个输出的错误。
标签: java neural-network encog