我需要实现一个机器人大脑,我使用前馈神经网络作为控制器。该机器人有24个声纳传感器,只有一个输出,R=右,L=左,F=前,B=后。我还有一个大型数据集,其中包含声纳数据和所需的输出。 FNN 使用反向传播算法进行训练。
我使用 Neuroph Studio 构建 FNN 并进行训练。这里是网络参数:
输入层:24 隐藏层:10 输出层:1 学习率:0.5 动量:0.7 全局误差:0.1
我的问题是,在迭代过程中,误差略有下降,并且似乎是静态的。我尝试更改参数,但没有得到任何有用的结果!!
使用 1 of n 编码进行输出。使用 4 个输出神经元,并设置目标(输出)数据,如下所示:
1 0 0 0 = right
0 1 0 0 = left
0 0 1 0 = forward
0 0 0 1 = back
首先减少输入传感器(和相应的输入神经元)的数量,减少到 3 或 5 个。这将简化事情,以便您可以了解发生了什么。稍后您可以重新构建最多 24 个输入。
神经网络在训练过程中经常陷入局部最小值,这可能就是你的错误是静态的原因。增加动力可以帮助避免这种情况。
你的学习率看起来相当高。尝试 0.1,但可以尝试使用这些值。每个问题都是不同的,并且没有保证有效的值。