Saturday, September 29, 2012

Brain, Vision and Self Organizing Maps


Self organization is a concept where neighboring neurons compete with respect to a given input pattern by producing some kind of output, and develops adaptively into pattern detectors.
There are many reasons why people pursuing research in computational neuroscience have much interest in Self Organized Maps (SOM). We will look into this once we have understood the principles of SOMs.
Brief intro into SOM:

A self organizing map can learn how to classify data without supervision. That is the reason for the strong biological resemblance of this technique and its derivation. This concept was initially presented in a structured manner by Teuvo Kohonen, a professor of the Academy of Finland. I will try to provide a high level intuitive idea about SOMs. If you want the detailed mathematical model you can refer to Kohonen’s orginal paper (which is very hard to read) or this website. We will discuss the functioning of a SOM in two circumstances.

A SOM could contain a set of neurons connected to each other as a lattice. A simple 2D SOM is given in the following image.
Figure 1: Basic SOM


Function of a fully trained map

Although the concept can be extended into many dimensions, for simplicity let us consider a plane having NxN neurons 4-connected to its neighbors. Each neuron can be given a k dimensional vector as input. We provide all the neurons with the same input vector. The neuron which has an internal structure which is most tuned to the input pattern will have the strongest output and it will be the designated winner. We call this as a classification of the input by the network.

The training

This is the most important attribute of SOMs. As with the classic neural network theory, the structure of the neuron is fully determined by a set of ‘weights’, and we call this the weight vector. Assume at the beginning the weight vectors of all neurons in the lattice are randomly assigned. When an input vector is presented, based on the weights some neuron will win that round. After winning, the neuron will try to gradually align itself with the input pattern, so that it will have a stronger resemblance to the input than before. This is the adaptation step. The adaptation happens in a way that not only the winning neuron, but the neighbors are also changed to represent that specific input pattern. But the amount of change or the potential to change, which we call ‘plasticity’ depends on the proximity of the neighbor to the winner. The winner has the highest plasticity, and more distant a neuron is to the winner, plasticity becomes less and the change minimum. This process continues for a large number of input cycles, and the system converges to a specific form.  As a result of the neighborhood based adaptation, a spatial organization of neurons appears automatically. In other words, neurons which are tuned to a specific kind of input would lie close together.

A very simple example would be a color map, which the input would be the RGB values and the output a classification of color.

Figure 2: Color map derived using SOM

The most important aspect of this simple model is that can change dynamically based on the statistics of the inputs. If the input patters change over time, the network will adjust itself to suit the new patterns. We can interpret the functioning of a SOM as a dimensionality reduction exercise as well. For example in the above situation, the input is the 3D vector, whereas the output is a 2D spatial location.

Why are SOMs an interesting area?
One main reason would be Brain Maps. Through various experiments we have found out that specific areas of the brain has adapted for specific tasks. This property is called localization. The localization which is inherent for SOMs could be used produce a ‘brain like’ architecture which is adaptable and exhibit localized functioning.
Figure 3: Brain Map


If we go down in to specific areas  such as the visual cortex, we can see that a hierarchical division is present. One main section is called the V1 where the light patterns are broken down into different elements such as oriented line segments, to identify the structure of the image.

This mechanism of breaking down the image into a form which could be used to identify structure from vision and further analyzed could be mimicked using an advanced type of SOMs called Adaptive Subspace Self Organizing Maps (ASSOM).  We will have a discussion of this are in the next post.

Image courtesy: 1,2

Saturday, August 11, 2012

Getting Started


My supervisor asked me to do some background reading on Bio inspired vision topics, and I hope to share some details of the documents I read up to now.

Experiments trying to find out how the brain manages to find structure from the light which focuses on the retina started a long time back. Hubel and Wiesel stated their experiments around a half a century back, and a great summary of their finding throughout the time is presented on the book Eye, Brain and Vision (Click!). It describes the human visual system from the eye to the Visual Cortex, and introduces many hypotheses that have become the foundations of many studies. If I summarize the contents in few sentences, the book describes how the human eye picks up the light from the retina, and the transformations and pre-processing which happens while the signals are being transferred to the visual cortex. It then describes the functionality of simple and complex cells (two names made up by the authors) and the basic functionality of the V1 and V2. The book gives some information regarding stereo vision and color vision as well. They did their experiments on live subjects, and I simply don't know how many monkey and cat brains they had to cut open to write this book. But this is a piece of work that will have a major impact on science, so i think it's worth it!

As I haven’t covered Artificial Neural Networks as an undergraduate course (Thanks to the bureaucracy and the cat fighting between the EE and CSE departments at my first uni) I had to do a lot of reading on ANNs as well. But since there is lot of information regarding this topic, I would not spend much time on it. Important areas identified by me are Back-propagation, Hebbian and Associative Learning, Self organized maps.

Reinforcement learning is a concept where a teacher is not present as in standard supervised learning mechanisms to initially ‘teach’ the system about the correct behavior. Instead, an ultimate goal is introduced, and the agent is given the ability to self evaluate its actions in attaining the final goal. Positive actions are rewarded so that the system evolves dynamically to go in the correct path. The work done by Sutton and Barto(Click!) provides a good introduction in to the topic. The convergence times are slow, the assumptions involved are more strict and of course the mathematics required might be a step ahead compared to classic supervised learning systems, but in a biological framework the reinforcement learning concept is more practical. There is no teacher in the brain to train the neurons by giving a 100% correct set of training samples!

One big question in bio inspired vision is how the brain comprehends structure from a set of light information. Although the brain is massive in terms of number of interconnections, it is extremely slow when compared to modern day computers. (milli-second range compared to micro/nano-second range in computers). Hubel points out that simple cells in V1(Primary visual cortex) are sensitive to structure. In the work done by Olshausen and Field they build up a theory on how the brain has adapted to understand visual stimuli. Their argument is the brain breaks down what we see into simple structures called Basis vectors and using a dictionary of basis vectors the brain can represent the images received from the eye. More importantly, Although the total dictionary size is large, a single image could be represented by a small number of bases thus reducing the overall activity required. It is similar to compressing an image using few high energy Fourier components! Thus the name ‘Sparse coding’ came into the existence.

The theory of Sparse coding is highly dependent on the Independent Component Analysis (ICA) developed some time back. ICA deals with the problem of identifying a mutually independent set of basis vectors and a specific mixing matrix for each compound signal we encounter. In other words how to set apart original source signals in a mixed signal. (see the Cocktail Party Problem (Click!). Hyvarinen has contributed a lot towards this particular field and there are many resources we can use to learn from him.
(Tutorial )
(Video lecture)

As for very general information about making machines intelligent, there is a nice book from Jeff Hawkins titled On Intelligence. This tries to address the AI issue from a different perspective than the classical analysis. It doesn’t have any complex mathematics, and would be an interesting casual read if someone is interested in the topic.

I’m barely scratching is surface and the content I find on this topic is intellectually interesting but mathematically overwhelming. Given that humans have achieved very little up to now, I care to wonder how can evolution and nature can be so innovative. (Yes, it is Evolution, and not an almighty)

Will we ever create an artificial entity which can see like us?


Computer vision is a dangerously popular topic. Although we have been able to make some promising and interesting breakthroughs the field is still in an infant stage. I dare say that compared to the human vision and perception state of the art technology is still crawling babies.

Apart from the classical machine learning approaches, a branch of scientists have been trying to mimic the human brain and create understand how humans and other mammals see things in the world. They wish to mimic these methods artificially to obtain a vision/cognition system that is comparable to humans some day. Through this blog I will try to share my findings and summaries of what I learn while moving along the path of Bio Inspired Computer Vision.

I hope that I would be able to contribute something  to the world of knowledge some day.