Abstract

The development of spiking neural network simulation software is a critical component enabling the modeling of neural systems and the development of biologically inspired algorithms. Existing software frameworks support a wide range of neural functionality, software abstraction levels, and hardware devices, yet are typically not suitable for rapid prototyping or application to problems in the domain of machine learning. In this paper, we describe a new Python package for the simulation of spiking neural networks, specifically geared toward machine learning and reinforcement learning. Our software, called BindsNET1, enables rapid building and simulation of spiking networks and features user-friendly, concise syntax. BindsNET is built on the PyTorch deep neural networks library, facilitating the implementation of spiking neural networks on fast CPU and GPU computational platforms. Moreover, the BindsNET framework can be adjusted to utilize other existing computing and hardware backends; e.g., TensorFlow and SpiNNaker. We provide an interface with the OpenAI gym library, allowing for training and evaluation of spiking networks on reinforcement learning environments. We argue that this package facilitates the use of spiking networks for large-scale machine learning problems and show some simple examples by using BindsNET in practice.

Highlights

  • The recent success of deep learning models in computer vision, natural language processing, and other domains (LeCun et al, 2015) have led to a proliferation of machine learning software packages (Jia et al, 2014; Abadi et al, 2015; Chen et al, 2015; Tokui et al, 2015; Al-Rfou et al, 2016; Paszke et al, 2017)

  • Motivated by the foregoing shortcomings, we present the BindsNET spiking neural networks library, which is developed on top of the popular PyTorch deep learning library (Paszke et al, 2017)

  • We present some simple example scripts to give an impression of how BindsNET can be used to build spiking neural networks implementing machine learning functionality

Read more

Summary

INTRODUCTION

The recent success of deep learning models in computer vision, natural language processing, and other domains (LeCun et al, 2015) have led to a proliferation of machine learning software packages (Jia et al, 2014; Abadi et al, 2015; Chen et al, 2015; Tokui et al, 2015; Al-Rfou et al, 2016; Paszke et al, 2017). SNNs are thought to be more practical for data-processing tasks in which the data has a temporal component since the neurons which comprise SNNs naturally integrate their inputs over time Their binary (spiking or no spiking) operation lends itself well to fast and energy efficient simulation on hardware devices. Several software packages for the discrete-time simulation of SNNs exist, with varying levels of biological realism and support for hardware platforms. Many such solutions, were not developed to target ML applications, and often feature abstruse syntax resulting in steep learning curves for new users.

Objectives of SNN Simulations
Comparison of State-of-Art Simulation Packages
PACKAGE STRUCTURE
SNN Simulation
Machine and Reinforcement Learning
The Pipeline Object
Visualization
Adding New BindsNET Features
EXAMPLES OF USING BINDSNET TO SOLVE MACHINE LEARNING TASKS
Unsupervised Learning
Supervised Learning
Reinforcement Learning
Reservoir Computing
Benchmarking
ONGOING DEVELOPMENTS
DISCUSSION
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.