Spiking Networks on the Cusp of Chaos
From Santa Fe Institute Events Wiki
Introduction
As the name implies, the goal of the project is to investigate what small networks of idealized spiking neurons look and behave like at the edge of chaos. Specifically "edge of chaos" here means that special boundary between the regions where we observe orderly periodic behavior on one side and chaotic non-periodic behavior on the other. (both have been observed previously in this dynamical system)
This project is exploratory in nature. We will probe adaptively, charting territory that seems most interesting and relevant to those involved. There is much to discover. Here are a few questions that will get the ship sailing:
(assume: fixed network size, dynamics; external input only at t=0)
- Can we find network connectivity patterns which cause a network to settle down into periodic behavior for some initial states and into chaotic behavior for other states? If so what does the distribution of initial conditions which produce the respective behaviors look like?
- What is the maximum number of edges we can add or remove from a network which exhibits chaotic behavior before that behavior becomes periodic?
- Do we see any networks which exhibit NON-periodic behavior but are not chaotic (e.g. they aren't sensitive to initial conditions)?
- How can we accurately characterize in the properties and patterns we see in the class of network connectivity which admits chaotic behavior?
Status
Initial Status (6/23)
I have previously written code which simulates spiking neural networks in Python: [1] [2]
We will build upon this to probe the interesting regions of configuration space where we see transitions to/from chaotic behavior.
I have recently been reading about NetworkX out of LANL, which is a fairly new package for Python which provides some basic tools necessary for network analysis and visualization. With some efforts in modification I should be able to get this up and running with my existing code. See below for a relevant paper introducing this software.
Participation
Ideally, I would like to see task participation from at least one or two others. Experience writing code is highly desirable but not necessary. The project will be scaled in scope according to participants' available time and abilities to contribute.
Here are some specific points this project could use input / assistance on:
- Analysis of networks structure. Example: can we use spectral clustering as a way to group and classify connectivity patterns? Can it be applied to the dynamic "functional" connectivity observed in the behavior?
- An efficient periodicity detection algorithm
- Further thoughts on "edge of chaos" ... does it make sense? See "wedge of chaos" article listed below
- Ideas for batch arrays of "experiments" we can run to probe conceptual areas of interest.
Papers
In addition to the links to my webpage provided above, which provide a good introduction to modeling and analyzing neural structure and behavior with simple spiking networks, the following papers are of interest:
- This is an introductory examination of computational power of dynamical systems on the "edge of chaos" (with extra emphasis on neural systems). Great speedy overview of important aspects dynamics is included in sections 1.1 and 1.2. Sections of possibly strong relevance to this project are 1.6, 1.7 and 1.9.
- NetworkX - Simple introduction, advertisement and primer
- Spectral Clustering Tutorial (updated version)
- "Wedge of Chaos" paper by Feldman, Crutchfield et al. Does it actually make sense to talk about an "edge of chaos" or should we use a more precise metaphor? How does the analysis here carry over to our neural system?
Polyrhythmic Music
Initially I had planned to realize network behavior in a novel way: by laying the progression of musical structure in correlation with spiking activity in the network. The basic idea is this:
- Start with a fairly simple polyrhythmic structure. One sound "ta" playing four beats in a measure. Another sound "ti" playing at three beats in the same measure. Find or create a small network which carries this out in the spiking of two particular observed neurons in the network.
- Modify the network slightly by adding, moving or removing an edge.
- How does this change the sound? Is it still periodic? Partially periodic? Is it chaotic? How does hearing the output help us analyze it?
As things stand, I cannot take this on by myself. However, I will enthusiastically support anyone willing to put in time towards this with coding help, troubleshooting, ideas etc. If there is exceptional interest we may even consider shifting the project focus this direction. This would be a *lot* of fun if we could get it up and running. And I believe its doable within the time given.
Meetings
6/23 Dinner Meeting
Dinner meeting today at 6:15 for anyone who would consider participating. Just find me in the dining room or before. I don't expect this meeting to go longer than a half hour.
Notes
Good meeting today. Glad to see some interest. Plans to meet tomorrow morning to go over code.
To get the code yourself, head up to the code section above.