SourceForge.net Logo Neural Entity
 Support This Project
[Home]
[Up]
[Presentation]
[Definitions]
[Object Structure]
[Evaluation Procedure]
[Learning Procedure]
[Create Pattern]

 

1. Presentation

Willing to develop a game for fun, I looked around to see if a neural network solution would not help and ease the development of the AI part of the simulator. I started to learn all information touching the neural network knowledge, then I started to be frustrated... I really did not know what was frustrating me and my quest was first to discover an acceptable reason to justify the frustration. One day, I realize that everyone talking about neural network was in fact referring to a nice and neat mathematical set of formulae. This was so strong implanted into people's mind that it never occur to them  that the original purpose of implicating mathematic into the neuronal system was to facilitate the simulation of a neuron's brain cell and not the justification to implement nice mathematical formulae.

I do not come from a mathematical environment as I studied informatics and applied epistemology. My original motivation was not to make usage of some mathematical function but merely to simulate what's in the man brain. This is mainly why I decided to start it all over gain from scratch with only one purpose in mind: simulate creativity.

I started to think about how an informatics' neuron could/should react. I based my design from the biological world I discovered and started to design a didactical behaviour; from there I adapted the neuron to respond more like a biological one; then I slightly modify it to react to a more natural way (informatics formulae replaced by interconnection types); the latter step is modifying the natural behaviour to adapt with the characteristics of the computer to create a 'synthetic' form - a more detail explanation and example is provided in the Evaluation Procedure section.

The Neuron Entity is not only a pool of neurons. We then choose randomly some neuron to be the 'input' of external information . Then we point out some neuron to be the answer. The Neural Entity will then start to make/create connections between neuron until the 'output' neuron receive the expected value. Then we try with another input set until the input pool is empty. We may see it as a trivial way to learn (used like in the back propagation or Adaline). When we have a correct connection net, we store the connection net and associate it with an id or name (of course we remind only the inputs that are connected to the outputs). This will be known as a neural process. At this stage, we have a classical neural network - this is the creation of a theoretical net. We have to gauge it when connected to the real-world

The Neural Entity is a pool of neurons and interconnected neuron (the amount of neuron will vary in time but we may consider 10000 as being a small starting entity; neurons will be added when more is required). All our external information is connected to inputs neuron that are or already connected to a neural process. In fact, we have more inputs neuron than we really need to. All the processes are then restored into the entity and the output monitored. As we know an output can be verified or even cross checked. We then need to make these verification regularly in order to confirm the stability of our entity (a mechanism in the Learning Procedure section explains the process).

The AINN Base Design is the early approach of a generalized neural network. You have the Adaline, back propagation and Kohonen network. If you are willing to follow that path, you can modify, adapt and update the set (you can still always return to me a more complete lib for the open community if you are willing to support your part).  When I started to learn more about the biological neuron, I started to make a document collecting information and transforming it into a informatics form. The neurons as described in the Personal NN View document offers some large extension to the informatician: a set of interconnected neurons may provide the informatician with the option of processing not only a requested correct answer but also dynamically modify the flow of information and deviate it on a well-trained solution.

We have first to strictly define the meaning of a Neural Entity as we will not talk of neural network anymore.

We will have also to specify the processes involved during an evaluation and the learning procedure as well.

We will have provide the means to 'select' or drive the main flow of information allowing some dissipation of the information into the whole set of neurons and not only the one we are expecting to evaluate.

As we know our mind is not only driven by the main purpose but also by the last event... This is a residue of the previous operation that will deviate a little bit the current flow. These residual-souvenirs will remain in the entity under the form of values and will affect the next flow of information. Also to take into account is the importance of an event by simulating the short/long term memory - this is quite useful for a historical learning/adjustment.

In order to complete the design we will have to simulate into the Entity the flow of several process allowing dissipation and souvenirs in the Entity. Then the Neural Entity will be proven to work as a system allowing a simulation of thoughts (we will then work out later to simulate human including stupidity or even madness).

From there we will have the opportunity to specify the implementation of the call backs in order to infer the transmission of information.

The latter step will be to alter the normal flow with a noise function that will simulate the concentration on one process altering slightly the others - I believe the Hadamar Transform could do the trick.

Should you have any comments or ideas, please let me know, you can always mail me at C.Hannosset