Joy Bose’s Weblog

Just another weblog

Life in Bangalore

Posted by joyboseroy on December 8, 2011

I moved to Bangalore one month ago to start a new life with a new job. The place certainly has a certain allure and reputation, with nicknames like garden city, silicon valley of India etc. I wanted to experience this. But the truth is a little less pleasant. Lets summarise some of the problems I could see, in my mindset as an IT worker moving to bangalore (and india) after having worked and lived in the west for 9 years and being familiar with Western work culture.

Bad infrastructure: perhaps this has more to do with the history of bangalore. It used to be a sleepy regional city, a younger cousin of Mysore which was a much more prominent city since the days of the british, when it was mainly a cantonment city. Then after independence the government moved scientific and defence institutions here, more recently the IT companies followed, both foreign and Indian, mainly for outsourcing IT work to the cheap local labour (with mixed results I guess). So this place never had a chance to take a breath, to grow up like any other normal city. Thats why you have the frequent traffic jams at 8 in the morning and 5 in the evening, thats why it takes 2 hours to travel 10 km, thats why there are so many one way streets, thats why there is still no proper metro for whole of bangalore, namma metro only covers a small area and are still waiting for permits from other government departments to expand. Roads are broken at places, even main roads and ring roads. Another strange thing is the amazing number of dogs: I dont mind the street ones because they dont bother you except once in a while barking in unison all of a sudden, its the domesticated ones which are sometimes ferocious and attack you when you are just passing by some small roads.

People: As for people, I get the feeling this is a place permanantly in transition, its a transit point for careers and lives of so many people, everyone is here looking for a better job a higher salary or waiting to go abroad, nobody wants to stay here for the rest of their life with the job they have, thats my experience. Everyone is alone in this sense. Its a little bit depressing. Thats probably why some say it has got no character of its own, unlike other Indian cities with a bit more history such as Pune or Kolkata or even Mysore.

IT Campuses: Working in Bangalore feels like having come back to school. IT companies typically arrange fleets of buses to ply employees to and from the company premises to different areas of Bangalore. Many of them also arrange mid day lunches and breakfasts and dinners if you come to work early enough and stay long enough. While this are all quite generous gestures, it does feel a little bit infantalising the workers: surely with the salaries they earn they should be able to buy or procure their own lunches and transport? However looking at the traffic situation the school buses do seem a blessing. The other thing that struck me was the ubiquitous dog tag: everyone wears or carries one. The software tech parks feel like little colonies of opulence among a grinding mass of poverty, to which only the priviledged few have access, for the rest it is sometimes even forbidden to take pictures of their interesting architecture. And yes, everything seems BIG here, these IT companies seem to have on average THOUSANDS of workers rather than the 10s I am more used to.

Evil Autorickshaw drivers: The trickle down theory of money applies to them more than anyone else. Their reasoning goes: if you dont know Kannada you must be an outsider immigrant who is earning loads of money and so you must pay double or treble the prevailing fare and share some of this ill gotten money with us. They seem to impose this through means of intimidation, as a google search of “auto complaints bangalore” will reveal. Fair enough I guess, it is true we earn much more than them and even 100 rupees more doesnt seem like much, but its the thought of being fleeced every single time by these people that causes pain. Guess I (and most of my colleagues in the industry) wouldnt mind if the price is jacked up and everyone gets charged only the correct (higher) fare, but its the lawlessness and unfairness that riles people. even the police seem to turn a blind eye, giving out two complaints numbers which arent picked up and nobody really uses. As always its the old and weak and vulnerable people who suffer the most from this, young software engineers usually manage to avoid them somehow but the older relatives and residents and women usually cant.

Attitude of the police: I had two encounters with the police in Bangalore so far. One was when I accidently lost a mobile in an auto and went to the police station to lodge a lost property report (needed to show to the mobile company to get a new sim), their attitude is “huh, software engineer? has too much money!! no worry about money!”. The other one was when i was eating in a roadside stall and the guy next to me was apparantly a plain clothes policeman: he started chatting to me, and on learning I was from North India originally said “this Bangalore is a truly excellent international city, here even single young girls can walk alone in the streets at 12 midnight without fear of molestation (which is true of course compared to places like Delhi), if someone tries to steal the rest of the people will literally beat him up, so enjoy, live freely and earn money here, just one thing, dont be like lalu prasad and dont cause trouble (I think he meant dont fight for political rights) or you too wont be spared”.

Work culture difference: Perhaps i need to work longer here, and broad generalisations are usually incorrect, but as someone who has no previous work experience in India (although I have been to university here) and whose only work experience has been abroad, the differences are quite apparant, it may be shocking to some. For starters, work is same everywhere i find indian work culture a little more challenging, you can never take anything for granted, you have to chase up on everything else it wont be done. There is a little lack of creativity in some people on average, people are over eager to please their managers and get good appraisals, on the other hand I saw people work harder here and a lot of people are much more ambitious and technical minded, they really want to learn and progress to a promotion or a better company and earn more and maybe migrate. In this sense some people dont seem to love their jobs (they are doing it for the money or the promotion), but a few exceptions do find passion in their jobs. There is also a culture of groupism (which manifests sometimes in office politics) which I really hate, Bengalis mix with Bengalis and so on.

Posted in IT Work | Leave a Comment »

Spiking associative memory using STDP

Posted by joyboseroy on June 21, 2009

Is it possible to build an associative memory (say Correlation Matrix Memory or CMM) using Leaky Integrate and Fire style spiking neurons that uses the STDP learning algorithm? It should be able to associate a time ordered sequence of spike pulses (forming a neural code) with another, such that on giving the first sequence of spikes as input we get an output sequence of spikes that can be decoded into the associated sequence.

Some ideas:

My previous approach: Hebbian learning, use CMM with rank order codes (weight matrix of 1, alpha, alpha squared etc) and new weight matrix is max of old and the transpose of the two vectors to be associated. Dont know if this is true STDP approach, or if others have tried something like this, or if this is biologically plausible.

Just extending this: a model of associative memory that can be microscoped up to sequence memory level, sequence memory applications level, down to neuron level, spike level, ultimately Calcium and Na ions level.

Posted in Uncategorized | Leave a Comment »

Computational neuroscience

Posted by joyboseroy on November 8, 2007

The idea of Comp-neuro is that the brain is a deterministic system, and computer modellign can help us understand how it works. It benefits both ways: computer scientists and engineers can get insights on how to produce better fastre and error tolerant systems (made out of unreliable components) from the brain, and neuroscientists can get validation for their theories, because without theories neuroscience is just a mass of data without any understanding of systems level functioning.

The hippocampus (see Rolls and Treves’ book) isone of the best studied system, its implicated in short term memory (CA3/CA1 areas) before it gets converted to long term memory in the neocortex and higher brain regions. People and animals with hippocampal lesions (where this part of brain is damaged)  have retrogade amnesia (difficult to form new memories but old memories, and procedural memories remain). Many have postulated this area as being responsible for spatial maps (esp in rat hippocampus), LTP/LTD plasticity, episodic memory, etc.

A typical comp-neuro experiment is illustrated beautifully in hippocampus chapter of Rolls and treves. First, there needs to be a falsifiable hypothesis. Rolls studied current theories and found their defects, did some mathematical calculations of the number of connections between different layers, the nature of the connections (recurrent etc), how they could be modelled and the expected memory capacity and the constraints on their connectivity, a falsifiable prediction that turned out to be wide off the mark, because of many assumptions. Instead Rolls proposed a simple model based on multiple layers of associative or recurrent neurons, each of whose capacities could be modelled. Then he tested the theory by performing simulation: giving a random pattern to a layer and expecting it to be able to learn and recall by hebbian learning, keeping the connections ratio roughly same as biology data.

Theres lot of speculation involved in neuroscience (this is one way it could happen etc) , and based on that scientists make falsoifiable predictions which are then verified. Treves/Rolls’ book starts with some standard types of neural nets including pattern associative memories, autoassociative memories, competitive nets and recurrent nets trained with error backprop, then starts on different brain regions and how they canbe modelled using these 4-5 basic types of memories.

Posted in Research | Leave a Comment »

Engineering a sequence machine

Posted by joyboseroy on October 30, 2007

My PhD research can be presented in the form of a dialogue, which goes something along these lines:

The goal of my research is to engineer a high level system using spiking neurons. We have taken a sequence machine as the example of a high level task that can be modelled. A sequence machine is an automaton that can store and recognise sequences of symbols. We chose this particular application because of its biological proximity and the fact that many people have already tried to approach this problem but none from an engineering perspective and also since in our research group we are trying to mdoel neurons in hardware.

So having decided on the goal, the question is how.  We decided to use an associative memory as the high level neuron model, with a separate neural layer to dynamically store the context, which the machine uses to reconstruct the state of the sequence in order to predict the next symbol in the sequence with maximum accuracy based  on its past knowledge. The memory we chose was a Kanerva’s sparse distributed memory using N-of-M codes with rank order codes.

We used an associative memory because its more biologically plausible, and easier to model using spiking neurons and in hardware.  Also its the natural choice given our use of neural network as a memory that can learn and predict sequences.

We used the N-of-M SDM variant because it was already in use in our research group, and we were building up on already published research using such a memory.
We used a separate context neural layer because it was modular, enabled us to keepseparate the long term and short term components of the memory, we could use the N-of-M SDM as it is as a pluggable module.

In the high levbel system we had to also decide on the precise formulation of the problem and theprotocol to be followed. We decided on the following protocol, in order of time within a single time step, to be followed for each symbol:

1. Associate the previous output with the input 2. Form the next context from the input and previous output 3. Form the new output as a function of the new context and the input

This particular order of operations is necessary to preserve well defined boundaries between when to expect which part of the data. Its bit counter intuitive.

Now came the question of spiking neurons. Which model to use? which coding to use? We decided already on rank order coding.

We used rank order codes because 1. Its possible to model it using spiking neurons as Thorpe et al showed 2. Its an interesting coding scheme and biologically plausible 3. As Thorpe showed, its possible to get a high level vector view and a low level spiking neuron view of a rank order code, the spiking neuron view is by using feedforward shunt inhibition

We also had to use feedback reset inhibition (apart from the feedforward shunt inhibition to implement the rank order code) to 1. Implement N-of-M coding 2. As a design decision, because of the problem of interference between spiking wavefronts, since we found that spike bursts would either explode or die out.

We used an RDLIF model of spiking neuron, and a custom built spiking neuron simulator. It is similar to popular LIF  model, yet has more complex 2nd order dynamics.

Yet we found that the RDLIF model cant support an equivalent functionality as the  temporal abstraction of rank order code as a vector of significances. Therefore we had to switch to using a simpler neural model called wheel model, with only 1st order dynamics

Posted in Research | Leave a Comment »

Books on neuroscience

Posted by joyboseroy on October 29, 2007

Some very good neuroscience books I have connected with are as follows:

Neuroscience: exploring the brain by Bears, connorts and Paradiso. I bought this book from a second hand bookstore. Its an undergraduate level book. I liked the illustrations, lucid explanations (esp in first edition), spotlight on research techniques like FMRI and EEG, inspiring interviews with leading scholars in the field. Here is the website.

Neurophilosophy by Patricia Smith Churchland. Is got a very good historical overview of the whole field and how different fields like neuroanatomy, physiology, neuroimaging, philosophy are related and how developments in these fields reinforce each other.

Neural networks and brain function by Rolls and Treves. Its a kind of classic, showing how the NN theory links to biological data on different brain regions. Fascinating to read about how computer techniques help and are inspired by biology. Its website is this.

Fundamentals of Computational neuroscience by Trappenberg. This is so good because its so simple and un-intimidating and reasonably lucid, yet is a very good stepping stone for anyone wanting to get into the subject. Good overview of many diefferent issues and tools and branches and fields covered in the interdisciplinary area of comp neuro. The website is here.

Posted in Uncategorized | Leave a Comment »

Some tools for research in CS

Posted by joyboseroy on October 19, 2007

Learn how to use gnuplot in 3D for plotting graphs. Learn CVS in Unix for keeping track of version changes. IEEE Explore is a very useful database of IEEE papers in all conferences and journals, so is the ACM digital library. Google books is sometimes useful. If possible, get an athens account to access these. Matlab is the most useful software for coding in academic environments, best for writing experiments where efficiency is not the top priority, its added advantage is in the number of toolboxes available and the integrated plotting and math tools, especially in versions 7.0 and higher. If Windows is your thing, learn to code inside an IDE such as eclipse or visual studio.

To submit a paper to a journal or conference, first see call for papers in your field etc. Once you have decided where to submit to, first go to their website, download the template  in latex (such as IEEETrans.cls and a .tex template) of a paper to be submitted to that site, stick to that style. Springer is another popular template for many conferences. Once you have written the tex file, compile using latex abc.tex and dvipdf abc.dvi. There is some website to check IEEE paper format submissions to make sure its ok.

Posted in Research | Leave a Comment »

Advice on writing a paper

Posted by joyboseroy on October 18, 2007

Ask yourself the following questions (Jon’s advice: any good paper should answer all of them): What is the problem? Is the problem important? Has it being solved? Have you solved it?

Gavin’s advice: The smaller the title and abstract, the better it is. Trick is to find related papers, group them in chronological order, build a storyline and establish the gap for your paper, how its completely unique. Write a paper draft outline with methology, experiments, analysis and conclusion, and an abstract before even starting to write the paper.

Posted in Research | Tagged: | Leave a Comment »

My research, study and further work

Posted by joyboseroy on October 18, 2007

I attended the following conferences along with assorted workshops/tutorials: nips in vancouver and whistler in december 2003, bics in sterling in august 2004, ijcnn in montreal in august 2005, icann in warsaw and torun in september 2005, mathematical neuroscience workshop in edinburgh in 2004.

I am at this moment working as a software engineer, hoping to get back into academia after say a couple of years in industry, writing a research paper with my co-authors in an area combining sequence learning, spiking neurons, rank order codes, associative memories, neural engineering, etc wondering how best to focus the paper.

I also hope to engage in coming months in doing some research experiments (as a hobby), studying the feasibility of doing the experiments I mentioned in my PhD thesis future work section, think about how the work can be commercially deployed at all (say in applications of companies like google and rolls royce) or at least how to reproduce the state of the art.

Posted in Research | Tagged: | Leave a Comment »

Resources in Computational Neuroscience

Posted by joyboseroy on October 18, 2007

Computational neuroscience is a fascinating field. If you are interested to get into it (or in a related field such as neural networks), congrats and get busy. Join and mailing lists. If you are in UK, you can join the following societies: NCAF (natural computing applications forum), IEEE Computational intelligence society which publishes IEEE-TNN and IJCNN, INNS or international neural networks society who publish the journal neural networks. Read the online free encyclopedia at scholarpedia, an initiative led by Izhikevich. Search in internet in the former conference websites of IJCNN, NIPS, ICANN, IWANN etc and see their tutorials and workshops section, same for the MIT, UCL Gatsby and Redwood Neuuroscience institute journal clubs, also see the syllabus and maybe exams, lectures and other course material for course modules in the area of computational neuroscience or the wider fields of artificial intelligence, machine learning and neural networks. Read maybe the introduction to computational neuroscience (trappenberg), scientific american book of the brain, neuroscience by Kendal, schwartz and jessel, theoretical neuroscience by dayan and abbott, neural networks by simon haykin, the book on pattern recognition by Christopher Bishop, encyclopedia of computational neuroscience edited by Arbib. Read different books on the issue, especially the biology/physiology side of it with computer science. Keep yourself updated of the latest research by seeing journal issues announcements in the mailing lists and going to the journals websites or the authors websites and reading their listed papers that you can access for free. Download and learn to use common simulators like SNNS, matlab NN toolbox, spiking neural simulators like GENESIS and NEURON etc. Good search engines for resourcing this field are google scholar and

For those interested in careers in the area (postdoc and lecturers), first look through job adverts in the mailing lists and also in Nature and New Scientist jobs, and in the US the Chronicle of Higher education. Make a list of skills they are looking forand decide where your interests lie and whats the future path you need to take, write a proper grant and research proposal.

Posted in Research | Tagged: | Leave a Comment »