This is the concept for the Neural network that I’m designing. I’m sorry about the quality. If you click the image, It’ll be better. Basicly how it works is you have two motor inputs(botom 2 circles), it runs through the lines and out comes two motor outputs, that then you can have for drive purposes.
Please excuse me if I am being ignorant, for I am not a programmer.
But what exactly do the small circles represent, and how do they affect the motor inputs?
The small circles are neurons - in artificial neural networks, neurons have N inputs and a single output. Each of the N inputs has an associated weight - the output of the neuron is the weighted sum of the each input multiplied by its weight. There are many variations on this scheme, but this is a general starting point for a neural network.
However, what is pictured needs some more explanation to be meaningful. This is a picture of a generic one-layer artificial neural network. Neural networks essentially try to solve nonlinear optimization problems - what is the problem (cost function to be minimized) in this case?
So, what’s the benefits of implementing a neural network in this case?
In this configuration, none that I am aware of. A neural network is only really useful when you are trying to solve a problem where the solution is “hard” to find but “easy” to know. To borrow an adult example of this from our legal system, “_________ is hard to define, but I know it when I see it”.
As I see it, this doesn’t fit that requirement. It is easy to define, but hard to know. Training the Neural Net will require a lot of hand-holding - how will you define how good it is? Also, the direct coding alternatives are plentiful and effective - just look around this forum.
Constructive Criticism:
This configuration only knows two things: the most recent joystick values. Therefore, it only can do things that only require the most recent joystick values. This prevents it from doing things like filtering or ramping. Adding recursion (nodes that look at their previous output as a current input) would allow this. Adding inputs from encoders/accelerometers/gyro/etc would allow it to do more interesting things.
Is this the same NN discussed here http://www.chiefdelphi.com/forums/showpost.php?p=865802&postcount=7 ?
If so I believe that we are falling into a trap, just because something can be done one way doesn’t make it the best way (or even a good way). Could you please post more information (ie details about what each of the nodes is actually doing) so we (or at least I) can get a better idea of what the benefits of using a Neural Network here might be?