Table of Contents
Fetching ...

A Neuromorphic Implementation of the DBSCAN Algorithm

Charles P. Rizzo, James S. Plank

TL;DR

Two constructions that allow DBSCAN to be implemented neuromorphically, using spiking neural networks are provided, resulting in large spiking neural networks that compute the algorithm quickly, in five timesteps.

Abstract

DBSCAN is an algorithm that performs clustering in the presence of noise. In this paper, we provide two constructions that allow DBSCAN to be implemented neuromorphically, using spiking neural networks. The first construction is termed "flat," resulting in large spiking neural networks that compute the algorithm quickly, in five timesteps. Moreover, the networks allow pipelining, so that a new DBSCAN calculation may be performed every timestep. The second construction is termed "systolic", and generates much smaller networks, but requires the inputs to be spiked in over several timesteps, column by column. We provide precise specifications of the constructions and analyze them in practical neuromorphic computing settings. We also provide an open-source implementation.

A Neuromorphic Implementation of the DBSCAN Algorithm

TL;DR

Two constructions that allow DBSCAN to be implemented neuromorphically, using spiking neural networks are provided, resulting in large spiking neural networks that compute the algorithm quickly, in five timesteps.

Abstract

DBSCAN is an algorithm that performs clustering in the presence of noise. In this paper, we provide two constructions that allow DBSCAN to be implemented neuromorphically, using spiking neural networks. The first construction is termed "flat," resulting in large spiking neural networks that compute the algorithm quickly, in five timesteps. Moreover, the networks allow pipelining, so that a new DBSCAN calculation may be performed every timestep. The second construction is termed "systolic", and generates much smaller networks, but requires the inputs to be spiked in over several timesteps, column by column. We provide precise specifications of the constructions and analyze them in practical neuromorphic computing settings. We also provide an open-source implementation.
Paper Structure (20 sections, 1 equation, 9 figures, 3 tables)

This paper contains 20 sections, 1 equation, 9 figures, 3 tables.

Figures (9)

  • Figure 1: An example of DBSCAN with $\epsilon = 1$ and $minPts = 4$: (a) A $6\times{6}$ input grid of events. (b) The number of events in each neighborhood. (c) The DBSCAN classification. C = Core, B = Border, N = Noise.
  • Figure 2: The five collections of neurons for the example in Figure \ref{['fig:example']}. The activation potential is shown at the relevant timestep, right before the neurons in yellow spike. Neurons that do not spike have their charge leak to zero before the next timestep.
  • Figure 3: The $I$ neurons in the systolic algorithm for the example. Instead of all inputs being applied at timestep 0, there is one input neuron per row ($I_{r,1}$), and the inputs are applied one column at a time.
  • Figure 4: The $C$ neurons at timesteps $T=2$ through $T=7$, corresponding to columns $c=0$ through $c=5$ of the inputs. At timestep $c+\epsilon+1$, the neuron $C_r$ spikes if there are at least $minPts-1$ events in the neighborhood of $E_{r,c}$, not including $E_{r,c}$.
  • Figure 5: The $Core$ neurons in the systolic algorithm for the example. At time $c+\epsilon+2$, neuron $Core_{r,\epsilon}$ spikes if $E_{r,c}$ is a Core event.
  • ...and 4 more figures