Here is the tentative title and abstract:
The C. elegans nematode is a small well-known creature, intensely studied for decades. Its entire morphology has been mapped cell-by-cell, including its 302 neuron connectome. The connectome is a synaptic wiring diagram that also specifies neurotransmitters and junction types. It does not however specify the synaptic connection strengths. It is believed that measuring these must be done in live specimens, requiring yet to be developed techniques. Without the connection strengths, it is not fully known how the nematode's nervous system produces sensory-motor behaviors. From a computing point of view, "programming" the unknown connection weights is a challenging and important problem in its own right. An artificial worm embodying the connectome and programmed to perform a set of sensory-motor sequences taken from measurements of the actual C. elegans would behave realistically in an artificial environment. This is a crucial step toward creating a fully functional artificial creature. Indeed, knowing the artificial weights might cast light on the actual ones. In this project a special genetic algorithm is used to train a large space of 3680 synapse weights to perform given sensory-motor sequences.
If anyone is interested I'll post a pointer to the paper when it is ready.
Hello all. First time poster, although I ran across OpenWorm a few months ago and was inspiredby it, although I know about C Elegans previously. I have some results that might be interesting to the group.I am an organizer for an AI meetup near Seattle and as an example of a genetic algorithmI thought I'd try the very ambitious task of training the C Elegans connectome.Probably not a good choice but C Elegans is a bewitching critter, isn't it?
I did also find some results from Japan around 2004 doing a GA on a subset of the connectome that worked.
Goal: knowing the morphology of the network, but not knowing the synapse weights, can a randomlygenerated set of weights be trained to perform a sensory-motor sequence successfully. So start with ablack-box of random weights, pump a sequence of random sensor inputs into it, measure the motoroutputs. Now you have a sequence of sensory-motor values. Now take another randomly-weightednetwork and try to train its weights so that it produces the same sensory-motor sequence. Of coursethese might not be the same as the original weights.
Since I'm not a neuroscientist and just wanted a decent representation I did take some shortcuts:1. No multiple connections between two neurons.2. GABA was the only inhibitory transmitter that I was sure of (thanks Wikipedia).3. No gap junction vs. non gap junction distinction.4. Neurons use a straightforward logistic activation; weights are 0-15. The terminal muscle cells are considered the motors.
So here is what I loaded into a network from the connectome spreadsheet:Neurons: total=396, sensors=86, motors=97
Synapses: total=3680Synapses per neuron: minimum=1, maximum=57, median=11, mean=12.31
Sensor to motor path lengths: minimum=1, maximum=7, median=4, mean=4.38, mean shortest=3.30Hopefully I understood the spreadsheet correctly.
After a lot of expected failures I came up with a scheme that was a concoction of crossover, mutation andhill-climbing optimization:For optimization, you pick a neuron then follow a random synapse path of random length from or to theneuron. You then try combinations of tweaking the weights and see if it affects the error of the network.Since C Elegans has pretty short minimal synapse paths from sensors to motors, the hope is that someof these optimizations will produce measureable changes. Nature also likes neural paths that are shortand thus faster.For crossover, when you pick up a neuron from a parent to put in the child, the synapses probabilisticallycling to it so that you might end up putting a cluster of neurons into the child from the parent.The hope is that these synapses have been optimized together.GA parameters: population of 500 networks, random pairing for crossover. Crossover rate of .5, mutation rate of .05,elite survival, 250 offspring per generation, 3000 generations.The goal is to learn a sequence of 10 sensory-motor value vectors.The result is that it gets down to single digit errors (less than 1% of motor outputs), where an error is definedas > 5% difference from the expected.
I also tried doing two 10-length sequences but haven't had the same success, although that might notbe the way to get multiple trainings done.I was really quite amazed about this and I hope I haven't taken too many liberties, but this indeed seemsinteresting. And of course I don't know if a finer grained representation will have the same results.
--
Visit us online at:
http://openworm.org
http://blog.openworm.org
http://github.com/openworm
http://twitter.com/openworm
https://plus.google.com/s/openworm
---
You received this message because you are subscribed to the Google Groups "OpenWorm-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openworm-discu...@googlegroups.com.
To post to this group, send email to openworm...@googlegroups.com.
Visit this group at http://groups.google.com/group/openworm-discuss.
To view this discussion on the web visit https://groups.google.com/d/msgid/openworm-discuss/2529308a-088e-42d5-8701-7379a87ba917%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
To view this discussion on the web visit https://groups.google.com/d/msgid/openworm-discuss/CAHxRZu445KxO6TvXO12Va61RMahx4y5PP3ps5ZLZPpZn64L7kg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openworm-discuss/389046c6-c2c7-47b7-ba49-a73ddda9aff4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/openworm-discuss/389046c6-c2c7-47b7-ba49-a73ddda9aff4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/openworm-discuss/CAHxRZu4gyxqSCcovV6J6UA8NXVJRXuri6iH0zWw9Vb6XPoiNcQ%40mail.gmail.com.