# Learning First-to-Spike Policies for Neuromorphic Control Using Policy Gradients

arXiv: https://arxiv.org/abs/1810.09977 · HTML: https://mlsanity.com/paper/1810.09977/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 23 Oct 2018.

## Built on by (most cited first, 4 of 4)

- [Knowing When to Stop: Delay-Adaptive Spiking Neural Network Classifiers with Reliability Guarantees](https://mlsanity.com/paper/2305.11322/) (2023)
- [Fully Spiking Neural Network for Legged Robots](https://mlsanity.com/paper/2310.05022/) (2023)
- [Population-Coded Spiking Neural Networks for High-Dimensional Robotic Control](https://mlsanity.com/paper/2510.10516/) (2025)
- [A Novel Neuromorphic Processors Realization of Spiking Deep Reinforcement Learning for Portfolio Management](https://mlsanity.com/paper/2203.14159/) (2022)

## Abstract (arXiv)

Artificial Neural Networks (ANNs) are currently being used as function approximators in many state-of-the-art Reinforcement Learning (RL) algorithms. Spiking Neural Networks (SNNs) have been shown to drastically reduce the energy consumption of ANNs by encoding information in sparse temporal binary spike streams, hence emulating the communication mechanism of biological neurons. Due to their low energy consumption, SNNs are considered to be important candidates as co-processors to be implemented in mobile devices. In this work, the use of SNNs as stochastic policies is explored under an energy-efficient first-to-spike action rule, whereby the action taken by the RL agent is determined by the occurrence of the first spike among the output neurons. A policy gradient-based algorithm is derived considering a Generalized Linear Model (GLM) for spiking neurons. Experimental results demonstrate the capability of online trained SNNs as stochastic policies to gracefully trade energy consumption, as measured by the number of spikes, and control performance. Significant gains are shown as compared to the standard approach of converting an offline trained ANN into an SNN.
