Skip to content

Merterm/BRAIN-M

Repository files navigation

BRAIN-M

DESCRIPTION

In this project, we are planning to create a digital brain that would use two different concepts of brain functions -mainly neural information propagation and high level cognition- to learn and recall a specific memory upon stimulus. Today’s neural networks and brain simulations are very accurate, yet they either are not sufficient to show intelligent behavior, or lack neuronal basis. In order to tackle this problem, in this project, we are connecting both of these concepts together with a simplistic approach. Thus the project consists of three parts: First, neuronal evaluation of inputs; Second, creation of memory neurons from the evaluated outcomes of inputs; Lastly, intelligent decision-making from the given inputs using the formula of intelligence as proposed by Alex Wissner-Gross (F=T∇S) on a matrix of memory neurons. In order to test whether the neural machine has learned or not, we will have two modes: First, in the learning mode, inputs will be stored in memory neurons after being sieved through the input neurons and each memory neuron will be assigned a random output; then in the test mode, when we give a specific input to the neural machine, it will show the output of the memory neuron that has the closest match to that one using the formula, (A great explanation video of the formula can be found here: https://www.ted.com/talks/alex_wissner_gross_a_new_equation_for_intelligence?language=en)

In the learning mode:

First of all, inputs will be gathered from the ultrasound sensor and evaluated according to the threshold level of a single neuron. One digital neuron unit will be assigned to a part of each sensory input. For example, a single neuron will search for a certain pattern in the ultrasound input, and another neuron will look for a different or continuing pattern in the same input. As a result, if the specific pattern on the neuron is matched with the input, it would give a high output. Then the outputs of these several neurons will be sent to another neuron -in neuroscience, it is called a ganglion- which will evaluate the overall pattern and decide on its own whether to give a high output or not. On the other hand, several different neurons corresponding to different sensors can also be inputs to a ganglion. This structure is very similar to that of finite state machines. This first neural mechanism will be used both in learn and test mode. Following the outputs of the ganglion, new memory neurons will be created to store the several bits of input information, which can be done by using registers, and each memory neuron will have a random output assigned to them to show through the dot matrix. These memory neurons will receive input and hold them at the learning mode.

In the test mode:

When the test mode is on, an input will be shown to the ultrasound module, then it will go through the neural mechanism. When it exits the neural process, it will start to use the formula. The formula can be briefly described as, Srepresents a state in a matrix of several states that changes according to time. All of these states are the memory neurons. The overall T∇Sstatement will be the direction of the preferable memory neuron from the matrix that is assigned a coefficient according to its number of connections to different neurons. As a result, the input will be compared with each memory neuron and will be assigned a coefficient which will lead to the choosing of that memory location to show its outputs. Thus, the random output of that memory neuron will show at the dot matrix.

An example procedure:

The ultrasound system will be shown an approaching object -diminishing its distance towards the sensor- in the learning stage. At this point, each neuron -coded beforehand to give high output when the object passes from a certain point- that corresponds to certain instances of the movement will give high outputs. This outputs will be collected via ganglion and be held in a memory neuron. This memory neuron will have a random dot matrix output such as it would create a circle with a green color. After showing several inputs like this, such as an object going to the left, or right or backwards to the sensor, and creating several memory neurons corresponding to it with random shape outputs, the learning mode will be completed. In the test mode, when we show an object that is approaching, the neural machine, using the formula, will assign coefficients to the memory neurons according to their likeliness to the new test input by comparing them. As a result, the memory neuron with the biggest coefficient will be selected and its output will be shown on the dot matrix.