In this dissertation I present SNS-Toolbox, an open-source software package for the design and simulation of networks of biologically inspired neurons and synapses, also known as synthetic nervous systems (SNS). SNS-Toolbox allows SNS networks to be designed using a lightweight Python API, simulated in real-time on consumer computer hardware, and executed onboard physical robotic systems. I also present a companion package to SNS-Toolbox which allows simulation and training of large SNS networks using gradient backpropagation. This software is released under an open-source license with online documentation for ease of use, and has been disseminated to other researchers for their use. As a demonstration, I use SNS-Toolbox to implement a stereo visual motion detector, based on circuitry present within the Drosophila melanogaster (fruit fly) optic lobe. This network analyzes local motion at each point within a visual field, and returns an estimate of global motion when subjected to grating stimuli. Finally I showcase the design of FlyWheel, a robotic benchmark for studying models of insect vision and applying SNS networks to physical hardware. This body of work marks the first tool which is capable of simulating SNS networks with hundreds to thousands of neurons and synaptic connections in real-time or faster, optimize networks with chemical reversal potentials using gradient backpropagation, and interface these networks for control of external systems.
more »
« less
SNS-Toolbox: An Open Source Tool for Designing Synthetic Nervous Systems and Interfacing Them with Cyber–Physical Systems
One developing approach for robotic control is the use of networks of dynamic neurons connected with conductance-based synapses, also known as Synthetic Nervous Systems (SNS). These networks are often developed using cyclic topologies and heterogeneous mixtures of spiking and non-spiking neurons, which is a difficult proposition for existing neural simulation software. Most solutions apply to either one of two extremes, the detailed multi-compartment neural models in small networks, and the large-scale networks of greatly simplified neural models. In this work, we present our open-source Python package SNS-Toolbox, which is capable of simulating hundreds to thousands of spiking and non-spiking neurons in real-time or faster on consumer-grade computer hardware. We describe the neural and synaptic models supported by SNS-Toolbox, and provide performance on multiple software and hardware backends, including GPUs and embedded computing platforms. We also showcase two examples using the software, one for controlling a simulated limb with muscles in the physics simulator Mujoco, and another for a mobile robot using ROS. We hope that the availability of this software will reduce the barrier to entry when designing SNS networks, and will increase the prevalence of SNS networks in the field of robotic control.
more »
« less
- PAR ID:
- 10424248
- Date Published:
- Journal Name:
- Biomimetics
- Volume:
- 8
- Issue:
- 2
- ISSN:
- 2313-7673
- Page Range / eLocation ID:
- 247
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
We introduce SNS-Toolbox, a Python software package for the design and simulation of networks of conductance-based neurons and synapses, also called Synthetic Nervous Systems (SNS). SNS-Toolbox implements non-spiking and spiking neurons in multiple software backends, and is capable of simulating networks with thousands of neurons in real-time. We benchmark the toolbox simulation speed across multiple network sizes, characterize upper limits on network size in various scenarios, and showcase the design of a two-layer convolutional network inspired by circuits within the Drosophila melanogaster optic lobe. SNSToolbox, as well as the code to generate all of the figures in this work, is located at https://github.com/wnourse05/SNS-Toolbox.more » « less
-
null (Ed.)We present research in the modeling of neurons within Drosophila (fruit fly) olfaction. We describe the process from data collection, to model creation, and spike generation. Our approach utilizes computational elements such as spiking neural networks that employ leaky integrate-and-fire neurons with adaptive firing behavior that more closely mimick biological neurons. We describe the methods of several learning implementations in both software and hardware. Finally, we present both quantitative and qualitative results on learning spiking neural network models.more » « less
-
Asynchronous event-driven computation and communication using spikes facilitate the realization of spiking neural networks (SNN) to be massively parallel, extremely energy efficient and highly robust on specialized neuromorphic hardware. However, the lack of a unified robust learning algorithm limits the SNN to shallow networks with low accuracies. Artificial neural networks (ANN), however, have the backpropagation algorithm which can utilize gradient descent to train networks which are locally robust universal function approximators. But backpropagation algorithm is neither biologically plausible nor neuromorphic implementation friendly because it requires: 1) separate backward and forward passes, 2) differentiable neurons, 3) high-precision propagated errors, 4) coherent copy of weight matrices at feedforward weights and the backward pass, and 5) non-local weight update. Thus, we propose an approximation of the backpropagation algorithm completely with spiking neurons and extend it to a local weight update rule which resembles a biologically plausible learning rule spike-timing-dependent plasticity (STDP). This will enable error propagation through spiking neurons for a more biologically plausible and neuromorphic implementation friendly backpropagation algorithm for SNNs. We test the proposed algorithm on various traditional and non-traditional benchmarks with competitive results.more » « less
-
We initiate the study of biologically-inspired spiking neural networks from the perspective of streaming algorithms. Like computers, human brains face memory limitations, which pose a significant obstacle when processing large scale and dynamically changing data. In computer science, these challenges are captured by the well-known streaming model, which can be traced back to Munro and Paterson `78 and has had significant impact in theory and beyond. In the classical streaming setting, one must compute a function f of a stream of updates 𝒮 = {u₁,…,u_m}, given restricted single-pass access to the stream. The primary complexity measure is the space used by the algorithm. In contrast to the large body of work on streaming algorithms, relatively little is known about the computational aspects of data processing in spiking neural networks. In this work, we seek to connect these two models, leveraging techniques developed for streaming algorithms to better understand neural computation. Our primary goal is to design networks for various computational tasks using as few auxiliary (non-input or output) neurons as possible. The number of auxiliary neurons can be thought of as the "space" required by the network. Previous algorithmic work in spiking neural networks has many similarities with streaming algorithms. However, the connection between these two space-limited models has not been formally addressed. We take the first steps towards understanding this connection. On the upper bound side, we design neural algorithms based on known streaming algorithms for fundamental tasks, including distinct elements, approximate median, and heavy hitters. The number of neurons in our solutions almost match the space bounds of the corresponding streaming algorithms. As a general algorithmic primitive, we show how to implement the important streaming technique of linear sketching efficiently in spiking neural networks. On the lower bound side, we give a generic reduction, showing that any space-efficient spiking neural network can be simulated by a space-efficient streaming algorithm. This reduction lets us translate streaming-space lower bounds into nearly matching neural-space lower bounds, establishing a close connection between the two models.more » « less
An official website of the United States government

