|Simple real-time anticipation (for short time scales)|
|Some time ago, Steve Grand wrote about the issue of anticipating sensory input (as well as abstracted higher level concepts) in artificial neural networks in this blog post:
How long is now
He introduces the nice example of a cell (or something similar) with sensors on its surface, trying to figure out whether some prey is moving towards its mouth. Let's extend this by assuming that at the point where the prey reaches the mouth, it will already be too late to open the mouth. The prey will have got somewhere else before the mouth has opened up far enough. So the cell has to anticipate when the prey reaches the mouth, in order to open it in advance at the exactly right moment in time.
Let's assume that the cell has an interest in only opening its mouth in the exact right moment. For example keeping the mouth open for too long could allow virus or bacteria to trespass the cells membrane defense. So what is needed is some kind of real-time anticipation. Assuming neurons which behave as in the upcoming version of NeuroMind technology NeuroLogics, a simple such network could look like this:
In this drawing, the orange boxes are a bunch of neurons, lined up next to the sensors (their exact position in space is not important here, it's just the locality which plays a role). There also is a neuron (red) which is connected to a muscle-like structure that causes the cell's mouth to open and a special sensor which is right next to the mouth.
Now what happens when prey trips one of the sensors? The sensor neuron fires and causes the signal to propagate along the connected orange neurons. Each time a small delay is involved. Whenever one of the orange neurons fire, its attractiveness towards other neurons (or at least some of them) increases. Attractiveness here means that if another neuron is looking for a peer to wire it's dendrites to, it will more likely pick a more attractive neuron. The following illustration shows the attractiveness pattern which the activation of a single sensor might cause (schematic):
In NeuroLogics, neurons are especially likely to look for new peers to wire to, whenever they are attractive themselves. Now let's assume that the mouth neuron generally likes to wire to all of the sensory as well as the orange neurons. Still it prefers the ones which are attractive at the same moment when itself is attractive. With the wiring as shown in above illustrations (i.e. the mouth neuron only getting input from the sensor which is next to the mouth), the first time prey passes over the surface of the cell the cell is going to miss the prey. It's mouth will only open at the point where the sensor next to it gets triggered by the prey, which is too late (assuming that the mouth takes some time to open up sufficiently wide). However, wiring will happen now. The attractiveness patterns of all the neurons while the prey passes and eventually reaches the mouth by will look somewhat like follows:
We can see now which neurons the mouth motor neuron is most likely to wire to. It is exactly the set of neurons which become attractive at the exact time that the mouth opens at (light red arrows). Now wiring to these neurons is still pretty useless. The next time prey passes by the cell (at the same speed), the mouth will still only open at the same point where it has opened before, that is too late. The only advantage so far is that missing input from the sensor right next to the mouth can be reconstructed from the other sensors. However one more effect kicks in: Depending on how fast the attractiveness of the neurons decays after they have fired, some of the neurons which have fired slightly earlier than the mouth has been opened will still be quite attractive at that point in time. This adds another set of attractive wiring targets for the mouth motor neuron. The resulting connections are depicted as dark red arrows in above illustration. As a result, the cell's neural network will learn to predict the time at which the prey reaches its mouth and will open the mouth at the right point in time. Adding a reward system, which additionally boosts connections between neurons that were firing around the moment that the cell actually manages to catch its yummy meal can help to further strengthen the correct and useful predictions. Over time, the cell will also encounter prey moving along its surface at different speeds. Such prey is going to trigger a similarly characteristic attractiveness pattern across the orange neurons and sensors and will lead to a comparable wiring (just with a different “shift” between orange neurons associated to the respective sensors). After a while the cell will have knowledge for different degrees of speed.
While this neural setup is (in my opinion) beautifully simple compared to its functionality, there is one last problem with this. As more and more time-location patterns accumulate, each of them causing the mouth to open up when triggered, the chance of false positives also increases. To mitigate that problem, a second inhibiting motor neuron can be added. That neuron would inhibit the mouth from opening. It would wire whenever the mouth has been opened but no prey could be caught. Only if the learned “positive” evidence for opening the mouth is stronger than the “negative” evidence, the mouth would actually get opened.
Also getting the exact dynamics for neuron activation and wiring right is not trivial. The above explanations should be considered as a schematic example of how very basic behavior can be implemented in self-wiring, experience-driven artificial neural networks.