I was recently interviewed by Scope, a publication established in 2005 to showcase the work undertaken by the students in the MIT Graduate Program in Science Writing. The interview was about a research project led by ChiSang Poon, whose MIT group has designed a chip emulating in detail the dynamics of brain synapses, the junctions between neurons. Read the rest of this entry »

Silicon synapses
December 8, 2011Comments: Leave a commentCategories: Braininterfaces, Neurobiology 
Spiking Neural Networks in Python (Part 1)
March 6, 2011Previously I demonstrated how to represent and simulate models of individual neurons using Python. In this next series of articles I'm going to show how Python can be used to simulate connected networks of spiking neurons. Modeling and evaluating these networks can give us an insight into how populations of neurons in the brain interact to give rise to various observed phenomena. Lateral and feedback recurrent networks are of particular interest for computational simulation as attempting to analytically describe these systems quickly becomes intractable. First I'm going to start off with some of the most basic recurrent networks. Read the rest of this entry »
Comments: 4 CommentsCategories: Computing, NeurobiologyAlso tagged python, spiking neural networks 
Neural Modeling with Python (Part 5)
February 22, 2011We've seen how Python can be an effective tool for simply and efficiently implementing and simulating four different neural models using Python: leaky Integrateandfire, HodgkinHuxley, Izhikevich, and active compartments. However, other than some convenience methods and simple tricks, these examples could have been done in MATLAB without too much pain for an experienced user. So where does Python really stand out? In my first post I argued that a major advantage of Python is it's power and flexibility as a general programming language. In this case, its extensibility has allowed it to become the interface of choice for many powerful neural simulator tools. Read the rest of this entry »
Comments: 1 CommentCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 4)
February 11, 2011So far I've presented three different models for simulating neural spiking dynamics. A key assumption that was made but never stated in each of these examples was that the neuron we were modeling had no defined morphology. In other words, we were looking at models that assumed the neuron was a dimensionless sphere or point. These point neurons can be very effective for studying the behavior of largescale spiking neural networks (e.g. Izhikevich), but are impractical if you want to investigate how anatomical features of a neuron contribute to signal propagation. For this we return to the HodgkinHuxley model and cable theory. Read the rest of this entry »
Comments: 2 CommentsCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 3)
February 2, 2011So far we've looked at how to simulate a simple LIF model neuron and a complex HodgkinHuxley model neuron. The LIF neuron is computationally simple but physiologically implausible, while HodgkinHuxley gives us a very good representation of actual neural dynamics but is parameterheavy and computationally expensive. An intriguing compromise between the two exists  one that can generate a wide variety of observed neural spiking behavior while doing so with limited computational demand. It is called the quadratic integrateandfire model neuron, or simply Izhikevich neuron. Read the rest of this entry »
Comments: 1 CommentCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 2)
January 26, 2011In my last post, I demonstrated how to simulate and plot a simple leaky integrateandfire (LIF) neuron using Python. The LIF neuron provides a simple representation of a spiking neuron, but lacks biological plausibility especially when it comes to the actual spike generation. A neural model that does have a solid foundation in physiology is that originally proposed by Alan Hodgkin and Andrew Huxley in 1952. Read the rest of this entry »
Comments: Leave a commentCategories: Computing, Neurobiology 
Neural Modeling with Python (Part 1)
January 19, 2011Representing the function and behavior of neurons in software is one of the core activities of computational neuroscience. As neurons communicate via electrochemical currents, this is typically accomplished through modeling the dynamical nature of the neuron's electrical properties. Several models treat the neuron as an equivalent electrical circuit, with its membrane potential described by one or more differential equations. In order to simulate the response of the neuron to various stimuli, these equations are numerically solved over some time interval for a given pattern of input current. There are several methods for numerically solving differential equations, and for the purpose of this series, I'm going to use the forward Euler method because it's one of the easiest to implement and understand while providing sufficient stability.
So, without further ado, let's start simulating some neurons in Python! Read the rest of this entry »

Biologically Realistic Neural Models on GPU
October 27, 2010By Anatoli Gorchetchnikov, Heather Ames, Massimiliano Versace.
The last post on GPU made me think of a project Anatoli Gorchetchnikov, Heather Ames and myself embarked on in 2006 when we got really interested in general purpose computing on graphic processing cards. At the time, there was no CUDA or OpenGL available: programming GPUs was really tough. But we tried, with some very good results, to port some of the models we used on GPUs. Here is how we did it. Read the rest of this entry »
Comments: Leave a commentCategories: Computing, Neurobiology 
ARM processors and neural networks
July 13, 2010If you had doubts before starting to read Neurdon, I think that by now you have come to the realization that there are as many neuroscientists that use computers than computer scientists that want to "use" neuroscience. This post is another example of the latter: Steve Furber, Professor of Computer Engineering at the University of Manchester and leader of the team that designed the the 32bit ARM microprocessor, is trying to build a largescale neural simulator out of ARM processors. Read the rest of this entry »

Plastic synapses in a stable brain
February 2, 2010One of the major themes in the SyNAPSE project is developing chips that can learn meaningful information, and preserve it over time. In other words: memristors can learn, but we need to ensure that they are stably learning something useful for the system they are embedded in.
Some help to solve this technological problem comes from neuroscience. The question of how can the cerebral cortex develop stable memories while at the same time incorporating new information through an organism lifetime has been a central theme in many research groups. The talk posted on Neurdon describes one of these approaches. Read the rest of this entry »
Comments: Leave a commentCategories: Computing, Neurobiology