I need to implement a Robot Brain, I used feedforward neural network as a Controller. The robot has 24 sonar sonsor, and only one ouput which is R=Right, L=Left, F=Forward, B=Back. I also have a large dataset which contain sonar data and the desired output. The FNN is trained using backpropagation algorithm.

I used neuroph Studio to construct the FNN and to do the trainnig. Here the network params:

Input layer: 24 Hidden Layer: 10 Output Layer: 1 LearnningRate: 0.5 Momentum: 0.7 GlobalError: 0.1

My problem is that during iteration the error drop slightly and seems to be static. I tried to change the parameter but I'm not getting any useful result!!

Thanks for your help

有帮助吗?

解决方案

Use 1 of n encoding for the output. Use 4 output neurons, and set up your target (output) data like this:

1 0 0 0 = right
0 1 0 0 = left
0 0 1 0 = forward
0 0 0 1 = back

Reduce the number of input sensors (and corresponding input neurons) to begin with, down to 3 or 5. This will simplify things so you can understand what's going on. Later you can build back up to 24 inputs.

Neural networks often get stuck in local minima during training, that could be why your error is static. Increasing the momentum can help avoid this.

Your learning rate looks quite high. Try 0.1, but play around with these values. Every problem is different and there are no values guaranteed to work.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top