May 15, 2008

Nimble Neurites

Continuing the theme of “why this version is better than the last”, I’m going to briefly talk about the new neurite system. In biology neurites include both axons and dendrites and grow out of neurons. The same applies for Distributed Neuron.

In the last version (I need to come up with a numbering scheme), neurite growth was very simplistic. Attractants and repellents were scattered around the growth space and influenced how far and in what direction the neurites grew. The static neurons then sprouted neurites which grew in their preferred direction. Once the neurite reached its destination, it randomly selected a neuron in the near vicinity of the neurite head.

There are two important problem with this scheme. The first arises from the fact that neurites only grow in one direction and do so in a completely straight line. This prevents the development of complex structures. Secondly, neurites only make one synapse at the termination point. If, for instance, a dendrite runs into an axon on the way to the destination, no synapse is made.

The new system is a bit more complicated but yields far superior results. After neurons have finished their migration phase, they enter a neurite growth phase. Neurites grow in a more three-dimensional manner now. Axons and dendrites have a direction they tend to grow in but can swerve from their path. In addition, they can also randomly branch along the main growth path, sprouting a new child neurite which continues growing. This branch can also branch, leading to an elaborate tree structure. This three-dimensional growth system allows multiple synapses. Anywhere an axon and dendrite collide a synapse is formed, resulting in a more realistic model.

The details of this (direction, length, branching probability, etc) are fully configurable and specific to the each cell type. Axons have separate parameters from dendrites, leading to different morphologies for each type of neurite. For instance, axons could have a high length value but zero branching leading to a long process. Conversely, dendrites could have medium length and high branching, leading to a large “tree”.

Of course, the neurites are not limited to the stereotypes we see in our brain. Evolution doesn’t really care as long as it works. It should be interesting to see the various cell types and morphologies associated as the system begins to evolve.

And of course, here is a pretty picture. You can see a single cell (magenta) with its axon and dendrite showing. The axon is grey, the dendrite cyan. I don’t know the parameters off hand, but they are relatively generic. The dendrite appears to have a higher branching factor while both appear to have relatively small lengths.

Click for big.


May 13, 2008

Three-Dimensional Thinking

A lot of the work I’ve been doing in lab lately is related to brain development. Your brain is an absolutely amazing mess of pathways, fibers and tracts. The interconnected nature of the brain is far more sophisticated than simple dendrite trees in a big cluster. Furthermore, your brain and my brain are nearly identical, as far as gross anatomy is concerned. You have a hypothalamus, an amygdala, a corpus callosum and a suprachiasmatic nucleus, etc etc ad nauseum. The connections between the various brain regions is likewise similar. This simple fact is actually quite astonishing: every human brain is hardwired to organize into the same gross pattern.

Indeed, hordes of researchers are actively pursuing the mysteries of brain development. Many diseases are caused by improper maturation of the brain. It is becoming increasingly clear that the development of the brain, while complicated, is by no means magic. Various signaling chemicals and peptides direct axons to their destination, either attracting or repelling. Chemical gradients create complex migration behavior depending on your location in the gradient. Importantly, this intricate chemical dance is entirely reproducible - it is the reason your brain looks like mine.

The previous iteration of Distributed Neuron consisted of essentially random placement and a semi-random connection system (through the use of simple “chemical” attractants). This system left a lot to be desired. Results were unpredictable each iteration due to the inherent random nature. Gross anatomy was difficult to develop because neuron placement was random and fixed. Once a neuron was placed, it was permanent. The connection system allowed minor segregation by influencing the direction and distance neurites could travel. It was, in my opinion, too little of an affect to be worthwhile.

Enter the newest revision. Again, neurons are placed into a three-dimensional environment. Each neuron is a 1×1x1 cube. Initial placement is fixed and predictable. This iteration, instead of immediately growing neurites for connections, enters a “migration” phase. Each neuron has a base migration value that defines how far and in what direction it travels. Chemo-emitters are strewn about the three-dimensional space. As neurons migrate, they may change their differentiation pattern according to what chemo-emitters are nearby. This differentiation change affects the base migration properties, altering migration direction. Importantly, no randomness is involved so the results are identical each time.

In this way, neurons not only migrate to different positions but also change their cell fate depending on their location. The non-random nature makes testing/analysis easy because the results are identical from one run to the next. Small variations in the placement and quantity of chemo-emitters can drastically alter the gross anatomy of the network, providing an infinite supply of variations.

There are still pieces I would like to iron out, but for now, the system works very well and can produce some interesting results. Here is one such sample network, from two different views. It consists of 10,000 neurons and has already performed its “migration” phase.

Colors indicate different cell “types”. This particular network has 4 cell types (red, magenta, blue, and one lonely green). As you can see, the network formed a thick magenta sheet. Pressed against this are two separate sheets, one blue and one red. It should be noted that the initial placement of neurons was actually in the bottom-right corner of the screen, meaning the neurons migrated top-left. It should also be known that initial placement was in a small cube, which proceeded to flatten and elongate into a sheet.

Click for big.

10,000 Neurons, alternate view 10,000 Neurons


April 25, 2008

Re: Done!

I’ve been working in a laboratory almost a full year now. And I have learned a very crucial fact: experiments rarely work as you like and often don’t work at all.

Considering my last post was four months ago, it is time to evaluate the success of this experiment. This blog was an experiment in the world of science writing. It started as a journal to document my progress on Distributed Neuron. Life and school got in the way, limiting my programming time. Wanting to keep this blog alive, I began writing about science. This was quite enjoyable but alas required too much time and commitment. My updates slacked, slowed and finally disappeared.

The summer is almost upon me. Exams are bearing down but hope is on the horizon. I’m staying at my university this summer to continue my research. Ten weeks of blissful, uninterrupted research (read: frustrating results and unexpected failures intermittently interspersed with glimmers of hope). It will be good.

As always, Distributed Neuron lumbers on. Inch by inch the code is being laid down. Much of the internals have been changed or rewriting. Infact, the entire goal of the project has drastically shifted (several times). I am, however, confident that my current iteration and vision is the one that will make it to the finish line. If the finish line is a Nobel Peace Prize or the dumpster remains to be seen.

This summer will be no less busy than the school year but I desire having a forum to speak about my ideas and updates, regardless of viewership. I am moving this blog back to the original foundation - a journal to document my progress on Distributed Neuron. Perhaps an article or two on science will be written but the bulk will be small updates regarding my code, ideologies and philosophic quandaries encountered while programming.

Onwards.


December 18, 2007

Done!

I just finished my last exam, which is fantastic. This has been the semester from hell. I apologize for my lack of posts on Distributed Neuron. Considering my…

  • 21 credit coursework (Organic Chemistry, Physics II, Genetics, Biology, General Psychology)
  • Independent lab work
  • Fraternity responsibilities
  • BPR3 coding

…free time has been a rare commodity. Something had to go and it unfortunately was Distributed Neuron on the chopping block (not to mention my social life!).

But don’t worry, I’ve got a veritable stockpile of papers that I want to discuss. I’m also resuming work on Distributed Neuron the project. I’ve got some interesting new ideas which I think are both novel and clever. More details on that in the future.

For now, I need to go pack. Be on the lookout for some articles in the near future!


November 14, 2007

Rensselaer To Host Lecture by Jeff Hawkins

Suffice to say, I’m stoked. This has been a good last two weeks in terms of seminars. First Cori Bargmann stops by to talk to us about her fascinating work on C. Elegans, then Kathryn Anderson shows up and gives a wonderful talk on her recent work. Now, when I didn’t think life could get any better, Jeff Hawkins is coming to town. It’s like Christmas, but with more neuroscience and less fruitcake.

RPI: News & Events - Rensselaer To Host Lecture by PalmPilot Inventor Jeff Hawkins
Jeff Hawkins, best known as the co-founder of the Palm and Handspring companies and as the architect of computing products such as the PalmPilot and Treo smartphone, will be on the Rensselaer campus Wednesday, Nov. 14 to discuss a new technology platform based on a theory of the human neocortex.
Jeff Hawkins

It will also be webcast live at: the Vollmer Fries Lecture Web site. Be sure to check it out, Jeff Hawkins is one of the movers and shakers of the artificial intelligence field. He has some interesting theories (presented in his book, On Intelligence). Some I agree with, others I don’t. it should be an interesting lecture. I’ll post my notes afterwards.


September 20, 2007

Genetic algorithms only go so far

“Your results are only as good as the fitness function”

This is generally the difficulty in genetic algorithms. Evolution is a funny thing and capable of coming up with all kinds of wacky solutions to whatever problem is at hand. In a simulated environment where there is a distinct goal, you only want the wacky solutions that pertain to your problem at hand. The fitness function evalutating your gene pool must be very specific. Any loopholes in the fitness function can, and will, be exploited by the simulation. This is one of the greatest difficulties in working with genetic algorithms - creating a tight fitness function that drives evolution towards the solution that you want.

This makes for an interesting situation when your goal is to evolve intelligence. How do you create a fitness function for that? Thoughts on the subject after the jump.
Read the rest of this entry


September 8, 2007

Fitness Finished

I spent a decent chunk of today working on the fitness function for Distributed Neuron, as well as general housekeeping. The fitness function is very simple at the moment. It tallies the lifetime of the organism and the total distance moved then normalizes these based on the predefined weights. This is performed for each trial. At the end of all the trials, the delta is computed. Delta is the average change from one trial to the next. If an organism slowly improves its fitness as trials progress, the delta value at the end will reflect this. The delta score and raw score are then normalized using predefined weights and the final fitness for the genotype is recorded.

Some work was done on the structure and flow controls leading to a fully autonomous client. It can start and stop at any time during trials and recover with minimal loss of data. It also can complete full life cycles, evolving one genotype after the next.

The next step is to build a small, random starting genetic population and start coding crossover mutation. Current genotypes are directly mutated from the parent. Crossover will bring in selective sexual pressure which will move the project much better than random mutation alone. I’m excited, I’ll be able to start running the client full time. Real data gathering can start in earnest soon!


August 31, 2007

Question to the Readers: Synapse Formation

I’m not sure if my readership is large enough for this question to be fruitful but I figured it can’t hurt to ask.

Everyone knows the brain forms new connections all the time. It is one of the few fundamental ideas in neuroscience every person knows, regardless of if you are an neuroscientist or restaurant waitress. And yet I’m having a very hard time finding more information on the subject. Currently, synapses in DN are permanent. Each phenotype grows its web of connections and then retains them with no change until death. This is clearly wrong and on my list of things to change but I’m not sure how the process occurs in our brains.

I believe the term used to describe the process is synaptogenesis. But I’m not sure the rules that govern synaptogenesis. What makes one neuron connect to another? Do neurons clump together based on similar shared neurotransmitters? Do they have a geographical preference for connections? Are there external factors that direct dendrite growth? Or is it just plain random?

Furthermore, people talk about losing weak connections. What makes a neuron decide “You know what, this connection is too weak for my liking, I’m going to drop it”? Is there an internal counter of some sort that monitors synapse firing, dropping the connection when it gets too low? Can a synapse get dropped even if it fires often?


August 28, 2007

Client Progress

In between bouts of painting and drywalling, as well as class and much needed napping, I’ve been able to get some more work done on Distributed Neuron. The code is fulfilling all my wildest dreams (except that one involving a beach and Jessica Alba…). It is very flexible and easy to update/manage. The time put into planning and designing a coherent layout is starting to payoff as I add features and more functionality.

Done

There are a slew of minor updates, best listed as bullet points:

-I recently implemented growth hormones as mentioned here.

-A simulation class has been built to manage the logistical details of running a simulation (physical dimensions, health blobs, location of organism, physics, etc).

-The client code is now autonomous, meaning it can recover itself from crashes as well as load new experiment/trial parameters when one trial finishes.

-Mutation has been completed on the entire genotype. Mutation is controllable by a value in the experimental parameters table, which is unaffected by mutation. This is so I can slow down or speed up mutation at will.

To Do

Oh but there is still much to do. In the next few days I am going to write up the initial fitness function. After this function is written I can begin some limited runs to create a starter population. Next on the drawing board is implementation of crossover mutation (sex FTW!) and running more lengthy trials to make sure the whole operation works.

If at that point I haven’t hit anything catastrophic, the next step is to work on the network code and start the server code. Which I’m not looking forward to but it is a necessary evil. So much to do, so little time!


August 15, 2007

Digital sex is complicated

It turns out digital sex is a lot more complicated than I had originally thought. A key aspect to genetic algorithms is crossover between pairs of individuals. This crossover is made to reflect the genetic pairing seen in most eukaryotes. It is an artificial way to distribute genes from the parents to the children. Crossover is important because without it, a genetic algorithm is little more than a random search. Crossover (theoretically) lets the organisms traverse the fitness landscape quicker because common building blocks are passed from parents to children.

Techniques, thoughts and a cool adaptive study after the jump.
Read the rest of this entry

« Previous Entries