Thursday 26 February 2015

Human neocortex

Before all else let me say I have no deep knowledge and experience in biology or neuroscience so most of the things I'm going to talk about is based on the Jeff Hawkins and some other scientists papers and work.  I usually like to get ideas from nature and then design software systems based on these ideas, because this is an already proven way that a complicated modular system works. So I listen to these guys and try to understand as much as I can, then just use the inspiration, nothing else.

OK ... I've always been thinking that the computer technologies we currently use, can't give us enough power to build something as intelligent as a biological creature. We are quite far from even building something like a mosquito, why? Because I think we have chosen not quite right path from the start.

We usually choose a path we can understand and it is possible for us to experience it. The day we started building processors and memories and ... we didn't have enough knowledge of the way a brain works. Although I'm not sure if we still have complete understanding of how it works, but starting using the idea of how a brain works, even if we know the idea is not exactly correct will force us to gradually change our thinking and technology to the way biological creatures do things.

Human neocortex layers.
The largest part of the human cerebral cortex is named neocortex. All other mammalian brains also have this part but in human as we said it is the largest part of the cerebral cortex, covering cerebral hemispheres. It has six layers with different functions but at the moment, there is no need to focus on them.

To get an idea what we are talking about look at the picture showing different neocortex regions and the layers. These black spots are in fact neurons building a hierarchy of memory in our neocortex. We can imagine them as layers of plane memory like matrices. But since showing them as a matrix is a bit difficult in web pages so let us show them as on dimensional vector. We saw before that an m × n matrix can be represented as an array of × n element. 

  [a11, a12, ... , a1n],
  [a21, a22, ... , a2n],
  [am1, am2, ... , amn]


[a11, a12, ... , a1n, an+1, an+2,... , am×n]

Sensory neurons
When you see or hear or feel ... something, only very small part of sensory neurons gets stimulated, I mean for example when you hear a sound the pitch of the sound at any time stimulates some specific neurons and all other auditory neurons are idle. You have millions of auditory neurons and only small parts of them are active at a time, this is the place where Sparse Distribution Representation starts getting a meaning. The same thing happens when you see a picture, at this time some of the millions of vision sensory neurons get active. Touch, pressure, cold, heat and ... get caught by the somatic sensory system and so on ... all of them has sparse activity pattern like auditory sensory neurons.

Real human brain tissue showing neurons network
(InTech Journals)
Neurons life span
Neurons are different from other cells in our body, they just divide when you are an embryo and a few months after your birth. After this time they never divide and almost never died or get replaced by new one (there are minor exceptions).

It turns out that nature knows we need very long term memory! When you are an infant the brain keeps increasing the neuron cells for a few months but as you get older the procedure stops and if you lose some of them, you almost can't replace them. So most of your nerve cells are at the same age as you are, but not for the other cells. The average age of all other cells is like 16 years!

Neurons connection topology
There are around 10^11 neurons in our brain, compare this with a number of the neurons of a mouse which is 4,000,000, a dog is 160,000,000 and a chimpanzee which is 6,000,000,000. They are connected to other neurons with approximately 10^15 synaptic connections!!! The wiring is not static and gets changed as we learn things and experience our life.

Human Memory Size
Every neuron can be considered as a single bit of information. Because the storage is not dense and is sparse, based on the sparsity factor the human memory has been estimated between 1 to 1000 Tera Byte. We all have an idea of what a Tera Byte hard disk is. But wait a moment we don't store raw or encoded movies or pictures and ... in this Tera Bytes memory do we? So it is a huge amount of memory for intelligence.