October, 2010

...now browsing by month

 

New offshoot blog

Wednesday, October 6th, 2010

Hey all, I decided that I’d like to see what I can do to attract more viewers…and maybe even comments if I’m lucky. However, I want those viewers to see the content that is intended for larger consumption…and this blog has been kind of a mix of personal and project. So I decided to start a Posterous blog. It looks like it’s about the easiest kind of blog to use…I don’t need hundreds of features like you can get with WordPress. I need a low bar for difficulty to update. The primary method for updating posts on a Posterous blog is to email post@posterous.com with your next blog entry. Go ahead and try it, it’ll start a blog with just one email.

Anyway, if anyone is still here, my new project blog is here: http://nicholaspatrick.posterous.com

“Physical” layers of neurons with different synaptic modification rules

Wednesday, October 6th, 2010

Continuing down the path of defining a BNF for the definition of a spiking neural network (SNN), layers with different properties could expand the capability of the SNN. For instance, an SNN with only spike time dependent potentiation (STDP) is not likely to have the capabilities of a network with both short and long term synaptic modification rules. Yet it could provide some flexibility to the network as a whole to have both types of synapse modification available simultaneously.

A grammatical spiking neural network

Monday, October 4th, 2010

I’m going to outline a grammar based method for defining a neural network topology using multiple layers of Backus-Naur Form “grammars. The objective of this method is to provide a way to define the building blocks of a network and to attempt to find repeatable patterns that are useful.

I assume one type of neuron in a network with delays ranging from 1 to 20 milliseconds. More neuron types can be added later. I want to be able to define small polychronous groups of neurons that can be combined with copies of themselves and with other polychronous groups.

The reason for defining the network in terms of polychronous groups is that these groups can represent simple or complex calculations, memory units, etc. The polychronous group representation is basically an encoding of the synapses between a starting neuron position and other neurons such that activation of the initial neurons will cause activation of subsequent neurons if the synapse gains are high enough for activation to occur.

The next grammar layer is that of the network. The network is built by overlaying polychronous groups on top of each other with starting neuron offsets and rotation in the grid defined at the network. The polychronous groups defined at the lower grammatical layer define a map between points. The points define the neurons of the network. The delays between neurons are defined by providing a function of delay per unit distance between neurons. Thus by selection of the mapping by polychronous group, delays are inherently defined.

As you might guess, some neurons may be defined with some/no inputs or outputs. If there are no inputs, there is no point to keeping the neuron. If there are no outputs, and the outputs that exist are not used for network outputs, then those neurons could be pruned. If a polychronous group is placed such that some neurons would extend beyond the limits of the network, then the position of the neurons extending past would be wrapped.

Different neuron types could then be added by specifying different layers of neurons with the same grid as the first type. The polychronous group layer would then select the layer that is being connected for each neuron. If this is utilized, a meta-grammar could be defined which is weighted for the probability of selection that you desire.

More to come on this later.