ioam / topographica

A general-purpose neural simulator focusing on topographic maps.
topographica.org
BSD 3-Clause "New" or "Revised" License
53 stars 32 forks source link

Can we apply periodic boundary conditions on GCAL? #566

Closed kalok87 closed 10 years ago

kalok87 commented 10 years ago

Dear Developers,

I am doing the simulation with GCAL and I find that only open boundary condition is applied in this model. But I also want to use periodic boundary conditions, is it possible to use that in topo?

Thank you Kalok

jbednar commented 10 years ago

We have not yet so far supported periodic boundary conditions in Topographica. In the systems that we usually study, only open boundary conditions are meaningful, because the input spaces do not wrap around in any plausible way. For instance, when presenting a visual image, any normal image will have a boundary, and wrapping it around the top and left is not going to do anything that corresponds to something in the real world. And applying periodic boundary conditions at the network level is very problematic if they haven't been applied at the input level; e.g. lateral connections would then link completely different parts of visual space, giving results that would be dubious at best.

There are of course some systems where the input space is genuinely periodic (e.g. a retina if receptors covered the entire sphere, or perhaps skin receptors on the body). Images won't work with such spaces, but other patterns could, such as Gaussians. To support periodic inputs of this type, you can make a new ImaGen PatternGenerator that is periodic, e.g. by reimplementing the gaussian() function to wrap around.

Making the neural sheets periodic is even less likely to be physically meaningful, at least for any decent sized sheet, since that requires lateral connections to wrap around non-locally. But it could be meaningful for some very small neural regions that had such a topology. To support this, I think you would have to make a subclass of CFProjection that wraps the input activities used for calculating lateral projection activities around. Tricky, but probably not too complicated.

Overall, if you do really want periodic boundary conditions, you can have them, but it's not something we're very interested in providing or would recommend to anyone!