A differentiable brain simulator bridging brain simulation and brain-inspired computing

Authors: Chaoming Wang, Tianqiu Zhang, Sichao He, Hongyaoxing Gu, Shangyang Li, Si Wu

ICLR 2024 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental In this section, we showcase Brain Py s efficiency and scalability in brain simulation and BIC tasks. We also highlight its differentiable simulation capability by training a biologically plausible spiking network model on working memory tasks.
Researcher Affiliation Academia 1School of Psychological and Cognitive Sciences, IDG/Mc Govern Institute for Brain Research, Bejing Key Laboratory of Behavior and Mental Health, Peking-Tsinghua Center for Life Sciences, Center of Quantitative Biology, Academy for Advanced Interdisciplinary Studies, Peking University 2School of Software Engineering, Beijing Jiaotong University 3Institute of Software, Chinese Academy of Sciences
Pseudocode Yes Listing S1: The Python pseudo-code of brainpy.math.event.csrmv, where data, indices, and idnptr corresponds to the matrix M, events indicates the vector v, and outs represents the postsynaptic current y.
Open Source Code Yes Brain Py is a pip installable Python package and available at the following Git Hub repository: https://github.com/brainpy/Brain Py, with documentation at https:// brainpy.readthedocs.io/.
Open Datasets Yes The MNIST dataset can be found in http://yann.lecun.com/exdb/mnist/ and it is also conveniently accessible in Python via the brainpy-datasets package. The processed KTH data can be available in (Antonik et al., 2019).
Dataset Splits No The paper mentions training on datasets and evaluating testing accuracy but does not explicitly specify a validation dataset split, its size, or the methodology for creating it.
Hardware Specification Yes For CPU experiments, we used Intel(R) Xeon(R) W-2255 CPU @ 3.70GHz, 64GB RAM @ 3200MHz. For GPU experiments, we used the NVIDIA RTXTM A6000 GPU with CUDA 11.7. Distributed computation of a decision-making network (Wang, 2002) using Brain Py on TPUv3 devices.
Software Dependencies Yes In this paper, all evaluations and benchmarks were conducted in a Python 3.10 environment, which was installed on a system running Ubuntu 22.04.2 LTS. ... NEURON (Hines & Carnevale, 1997) in version 8.2.0, NEST (Gewaltig & Diesmann, 2007) at version 3.6, Brian2 (Stimberg et al., 2019) at version 2.5.1, ANNArchy (Vitay et al., 2015) in version 4.7.2, and Binds Net (Hazan et al., 2018) in version 0.3.2. ... snn Torch (Eshraghian et al., 2021) in version 0.6.1, Spiking Jelly (Fang et al., 2020) in version 0.0.0.0.14, and Norse (Pehle & Pedersen, 2021) in version 1.0.0. ... Py Torch (Paszke et al., 2019) at version 2.0, and JAX (Frostig et al., 2018) at version 0.4.10.
Experiment Setup Yes Table S1: The parameter table of the reservoir model on different datasets. We set the connection probabilities of Win and Wrec as follows: For the KTH dataset, Win has a connection probability of 0.01 for size [2000, 4000, 8000, 10000, 20000] and 0.005 for size [30000]. Wrec has a connection probability of0.001 for size [2000, 4000, 8000], 0.0002 for size [10000], and 0.0001 for size [20000, 30000]. For the MNIST dataset, Win has a connection probability of 0.1 for all reservoir sizes, and Wrec has a connection probability of 0.1 for size [2000, 4000, 8000, 10000], and 0.01 for size [20000, 30000, 40000, 50000]. The training was performed using the BPTT algorithm. The integration time step t is 1 ms for the spiking neural network, while t is 100 ms for the rate-based model. The Adam optimizer (Kingma & Ba, 2014) was used for computing the gradient-based optimization.