Cargando…

BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning

Spiking neural networks (SNNs), with their inherent capability to learn sparse spike-based input representations over time, offer a promising solution for enabling the next generation of intelligent autonomous systems. Nevertheless, end-to-end training of deep SNNs is both compute- and memory-intens...

Descripción completa

Detalles Bibliográficos
Autores principales: Srinivasan, Gopalakrishnan, Roy, Kaushik
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Frontiers Media S.A. 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8586528/
https://www.ncbi.nlm.nih.gov/pubmed/34776834
http://dx.doi.org/10.3389/fnins.2021.603433
_version_ 1784597903843524608
author Srinivasan, Gopalakrishnan
Roy, Kaushik
author_facet Srinivasan, Gopalakrishnan
Roy, Kaushik
author_sort Srinivasan, Gopalakrishnan
collection PubMed
description Spiking neural networks (SNNs), with their inherent capability to learn sparse spike-based input representations over time, offer a promising solution for enabling the next generation of intelligent autonomous systems. Nevertheless, end-to-end training of deep SNNs is both compute- and memory-intensive because of the need to backpropagate error gradients through time. We propose BlocTrain, which is a scalable and complexity-aware incremental algorithm for memory-efficient training of deep SNNs. We divide a deep SNN into blocks, where each block consists of few convolutional layers followed by a classifier. We train the blocks sequentially using local errors from the classifier. Once a given block is trained, our algorithm dynamically figures out easy vs. hard classes using the class-wise accuracy, and trains the deeper block only on the hard class inputs. In addition, we also incorporate a hard class detector (HCD) per block that is used during inference to exit early for the easy class inputs and activate the deeper blocks only for the hard class inputs. We trained ResNet-9 SNN divided into three blocks, using BlocTrain, on CIFAR-10 and obtained 86.4% accuracy, which is achieved with up to 2.95× lower memory requirement during the course of training, and 1.89× compute efficiency per inference (due to early exit strategy) with 1.45× memory overhead (primarily due to classifier weights) compared to end-to-end network. We also trained ResNet-11, divided into four blocks, on CIFAR-100 and obtained 58.21% accuracy, which is one of the first reported accuracy for SNN trained entirely with spike-based backpropagation on CIFAR-100.
format Online
Article
Text
id pubmed-8586528
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher Frontiers Media S.A.
record_format MEDLINE/PubMed
spelling pubmed-85865282021-11-13 BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning Srinivasan, Gopalakrishnan Roy, Kaushik Front Neurosci Neuroscience Spiking neural networks (SNNs), with their inherent capability to learn sparse spike-based input representations over time, offer a promising solution for enabling the next generation of intelligent autonomous systems. Nevertheless, end-to-end training of deep SNNs is both compute- and memory-intensive because of the need to backpropagate error gradients through time. We propose BlocTrain, which is a scalable and complexity-aware incremental algorithm for memory-efficient training of deep SNNs. We divide a deep SNN into blocks, where each block consists of few convolutional layers followed by a classifier. We train the blocks sequentially using local errors from the classifier. Once a given block is trained, our algorithm dynamically figures out easy vs. hard classes using the class-wise accuracy, and trains the deeper block only on the hard class inputs. In addition, we also incorporate a hard class detector (HCD) per block that is used during inference to exit early for the easy class inputs and activate the deeper blocks only for the hard class inputs. We trained ResNet-9 SNN divided into three blocks, using BlocTrain, on CIFAR-10 and obtained 86.4% accuracy, which is achieved with up to 2.95× lower memory requirement during the course of training, and 1.89× compute efficiency per inference (due to early exit strategy) with 1.45× memory overhead (primarily due to classifier weights) compared to end-to-end network. We also trained ResNet-11, divided into four blocks, on CIFAR-100 and obtained 58.21% accuracy, which is one of the first reported accuracy for SNN trained entirely with spike-based backpropagation on CIFAR-100. Frontiers Media S.A. 2021-10-29 /pmc/articles/PMC8586528/ /pubmed/34776834 http://dx.doi.org/10.3389/fnins.2021.603433 Text en Copyright © 2021 Srinivasan and Roy. https://creativecommons.org/licenses/by/4.0/This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
spellingShingle Neuroscience
Srinivasan, Gopalakrishnan
Roy, Kaushik
BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning
title BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning
title_full BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning
title_fullStr BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning
title_full_unstemmed BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning
title_short BlocTrain: Block-Wise Conditional Training and Inference for Efficient Spike-Based Deep Learning
title_sort bloctrain: block-wise conditional training and inference for efficient spike-based deep learning
topic Neuroscience
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8586528/
https://www.ncbi.nlm.nih.gov/pubmed/34776834
http://dx.doi.org/10.3389/fnins.2021.603433
work_keys_str_mv AT srinivasangopalakrishnan bloctrainblockwiseconditionaltrainingandinferenceforefficientspikebaseddeeplearning
AT roykaushik bloctrainblockwiseconditionaltrainingandinferenceforefficientspikebaseddeeplearning