|
-
Nov 30th, 2009, 06:53 PM
#1
Neural Net Doubts
I'm working on a robotic brain project. The bulk of the brain is a pseudo neural net trained through a GA. There are numerous modules in the higher brain functioning, and for one of them, I thought that I could use a standard neural net. This has led me to doubt the value of neural nets.
The place that the net will work is a function that has to determine whether to respond with Panic, Caution, or Nothing, as a result of a variety of inputs. My thought was that the inputs would be a few sensors, and a few internal state variables. Basically, there would be six possible inputs: Four were internal state variables, and two sensors. An alternative thought was that ALL sensor input would enter into the neural net, rather than just those sensors that would be necessary for the decision. The training seemed to be a matrix of inputs and outputs, such that for a set of inputs I, there would be a preffered output. The weights on the neurons would then be trained via a GA until for any set of inputs, the correct outputs were recorded.
That doesn't seem right. It seems to me that, if I can actually determine what the correct response should be for any set of inputs, then there is no need for the neural net at all. For example, two sensors should cause either Panic or Caution, with the actual choice mediated by the other state variables in a multitude of ways. Therefore, why not simply state:
If sensor = X OrElse sensor = Y Then
rather than going through the training of the neural net to ignore all sensory inputs other than X or Y for making this decision.
In short, it seems that a fully trained neural net could be replaced by a rigid decision tree. If that is the case, what is the value of the neural net?
For instance, if I was to take a 64x64 grid, and try to train a neural net to recognize the letter A in the pixels of that grid, I would have a huge number of inputs, and there would be a bunch of training, but how would the training happen? Would the net be given a series of grids, or even all of them (2^12 is a lot of grids, but not unmanageable), and the net would say A or Not A, while somebody would grade the grids for their A-ness?
I suppose that in that example, the very number of inputs makes a hard coded decision undesirable, whereas in my case, the number of inputs is really quite small.
I guess what I am trying to figure out is how the training is done. Who decides success or failure? Do you train for a certain set, and let the NN figure out all the other cases? Perhaps the training would be against a set of a dozen A and Not A grids, and once the NN had trained to them, then any other grid could be tried.
This kind of baffles me. With this robot project, I have figured out a means to train the whole brain: Dreams. The brain is a massive GA with thousands of genes contributing in a myriad of different ways to the final behavioral decision. A dream would be a manufactured scenario that would target one portion of the GA to train for a certain outcome. Figuring out the right and wrong of a dream is simple enough, as the outcome of the behavioral decisions can be evaluated based on just a few factors such as power consumption, goal achievment, and so forth. Therefore, while the robot is running, or while the robot is not, the brain can be busily dreaming (spread across several processors), and the robot can be learning. But how would an NN learn? It seems like an NN would work when you can have a training set that is a tiny subset of the total potential set. In my case, the total potential set is not all that large, such that it would be possible to test against the entire set. Is it true that a NN has no real value in such a situation, or am I missing something?
My usual boring signature: Nothing
 
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|