Coder Social home page Coder Social logo

msmf-code's Introduction

Grid Codes versus Multi-Scale, Multi-Field Codes for Space

1. General Information

This repository contains the code used for the investigations of multi-scale, multi-field (MSMF) place codes and their comparison against grid codes which is presented in Dietrich et al. [1]. This MSMF code was recently found by Eliav et al. [2] during experiments with bats flying in a 200 m tunnel. In their experiments, they found that the place cells of the bats not just maintained a single firing field in the environment but multiple ones of highly varying sizes (0.5-15 m). In a theoretical analysis, the authors showed that the newly found MSMF code is superior to a "traditional" single-scale, single-field code (SSSF).

Within our analysis [1], we demonstrated, that it is indeed superior to a SSSF code with respect to the accuracy of the positional decoding but is inferior to the grid code found in the entorhinal cortex of rats [3]. While both codes are able to achieve a positional decoding error of 0.0, encoding the position of an agent in a 200 m long environment with 400 bins (bin size 0.5 m), the grid code requires fewer neurons and energy to achieve the same result. This is contingent upon the optimal distribution of the fields in a grid code [4], which on the other hand also leads to a less robust system than the MSMF networks, which can even cope with up to 25 % drop-out while still maintaining a positional decoding error of less than one meter. Further analyses of the network dynamics also revealed that the proposed topology of MSMF cells by Eliav et al. [2] does not, in fact, result in a continuous attractor network. More precisely, the simulated networks do not maintain activity bumps without position specific input. The multi-scale, multi-field code, therefore, seems to be a compromise between a place code and a grid code that invokes a trade-off between accurate positional encoding and robustness.

This repository provides all scripts for running the simulations, optimizations and evaluations of MSMF, SSSF and grid models which were performed for the publication [1]. Beyond that, all results of the optimizations and evaluations are included in the data folder in form of .csv files.

2. Installation

The entire project is implemented in Python. All necessary packages needed to run the simulations, optimizations or evaluations are included in the requirements.txt file within the root of the package. The simulations run on a standard CPU and do not require a GPU.

3. Usage

The package contains models for the fixed and dynamic MSMF models, as well as the grid code and a standard 1D line attractor (single-scale, single-field (SSSF)). All models as well as the code for simulating them are included in the msmfcode/models/cann.py file. Below you can find a table with the most important files using these models for performing simulations, evaluations or optimizations.

File Description
eval_all_msmf.ipynb Run simulations of a network with one configuration of parameters.
eval_multi-run_msmf.ipynb Run evaluations of a network with multiple configurations, e.g. changing the drop-out rate within a range between runs.
cga_msmf.ipynb Perform optimizations using any of the provided models.

All configuration files necessary for evaluations or optimizations are located in the config folder.

Detailed and commented examples of how to run the simulations and optimizations will be provided in the near future.

4. References

[1]   R. Dietrich et al., "Grid Codes versus Multi-Scale, Multi-Field Place Codes for Space" bioRxiv, June 2023.

[2]   T. Eliav et al., “Multiscale representation of very large environments in the hippocampus of flying bats” Science, May 2021.

[3]   T. Hafting et al., “Microstructure of a spatial map in the entorhinal cortex” Nature, Aug. 2005.

[4]   A. Mathis et al., “Probable nature of higher-dimensional symmetries underlying mammalian grid-cell activity patterns” eLife, Apr. 2015.

msmf-code's People

Contributors

dietriro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.