Source-linked AI summary

A neuromorphic hardware architecture using the Neural Engineering Framework for pattern recognition

Runchun Wang, Chetan Singh Thakur, Tara Julia Hamilton, Jonathan Tapson, Andre van Schaik

arXiv:1507.05695v1cs.NE

TL;DR

High computational demands and limited existing hardware support make large-scale neural networks difficult to use for real-time pattern-recognition tasks. The paper implements NEF networks on FPGAs using parallel and distributed OPIUM decoding-weight updates and compact time-multiplexed neural cores. 96.55% recognition on MNIST is achieved, and the system is practical to scale to millions of digit recognitions per second.

  • Problem

    High computational demands and limited existing hardware support make large-scale neural networks difficult to use for real-time pattern-recognition tasks.

    Source: §1 · p. 1
  • Method

    The paper implements NEF networks on FPGAs using parallel and distributed OPIUM decoding-weight updates and compact time-multiplexed neural cores.

    Source: §1 · p. 1, §2.2.6 · p. 4
  • Results

    96.55% recognition on MNIST is achieved, and the system is practical to scale to millions of digit recognitions per second.

    Source: §3.2 · p. 10
  • Takeaways & Limitations

    The architecture is presented as a general fast pattern-recognition processor applicable beyond handwriting to patterns such as speech and images.

    Source: §1 · p. 1, §2.2.1 · p. 2

    The time-multiplexed architecture is constrained by on-chip SRAM capacity and currently avoids off-chip memory to keep the design simple.

    Source: §2.3.1 · p. 5

Abstract

from arXiv · show

We present a hardware architecture that uses the Neural Engineering Framework (NEF) to implement large-scale neural networks on Field Programmable Gate Arrays (FPGAs) for performing pattern recognition in real time. NEF is a framework that is capable of synthesising large-scale cognitive systems from subnetworks. We will first present the architecture of the proposed neural network implemented using fixed-point numbers and demonstrate a routine that computes the decoding weights by using the online pseudoinverse update method (OPIUM) in a parallel and distributed manner. The proposed system is efficiently implemented on a compact digital neural core. This neural core consists of 64 neurons that are instantiated by a single physical neuron using a time-multiplexing approach. As a proof of concept, we combined 128 identical neural cores together to build a handwritten digit recognition system using the MNIST database and achieved a recognition rate of 96.55%. The system is implemented on a state-of-the-art FPGA and can process 5.12 million digits per second. The architecture is not limited to handwriting recognition, but is generally applicable as an extremely fast pattern recognition processor for various kinds of patterns such as speech and images.

1. Introduction

The paper addresses the difficulty of using neural networks for real-time tasks by presenting an FPGA architecture based on the NEF for synthesising large-scale networks from subnetworks. It applies this architecture to real-time pattern recognition using a compact neural core.

  • The architecture targets neural-network applications requiring real-time control, which conventional computer architectures may not support efficiently because of high computational demands.Source: §1 · p. 1
  • The proposed hardware uses the NEF to implement large-scale neural networks on FPGAs and process millions of pattern recognitions in real time.Source: §1 · p. 1
  • NEF builds large systems from subnetworks using input, nonlinear hidden, and linear output layers.Source: §1 · p. 1
  • The paper applies a previously presented compact FPGA neural core to construct a pattern recognition system and evaluates design choices, performance, and comparisons with other solutions.Source: §1 · p. 1

2.1 Background

A typical NEF network encodes inputs through heterogeneous nonlinear neurons, learns linear decoding weights, and averages weighted neural outputs to compute a desired function. Its tuning curves provide distinct input-to-rate mappings across the hidden population.

  • A typical NEF network encodes stimulus X(t) into nonlinear hidden neurons and produces Y(t) by linearly summing weighted spike trains.Source: Figure 1 · p. 1, §2.1 · p. 2
  • Each hidden neuron uses randomized weights and parameters, producing a distinct nonlinear tuning curve that maps input stimuli to firing rates.Source: §2.1 · p. 2, Figure 2 · p. 2
  • Decoding multiplies hidden-neuron activity by learned weights so that WH = f(X) = Y, with weights obtained from the Moore-Penrose pseudoinverse.Source: §2.1 · p. 2
  • Averaging forms the system output as the linear sum of the hidden neurons’ weighted spike trains.Source: §2.1 · p. 2

2.2 Algorithm and Theory

The system maps MNIST pixels through a fixed-point, randomly weighted NEF network with 8k hidden neurons, deterministic non-spiking rate units, and pseudoinverse-based decoding. Its hardware-driven design uses 128 identical 64-neuron cores and OPIUM-based regression to balance recognition performance with FPGA resources.

2.2.1 Methodology

  • The MNIST classifier uses 784 pixel inputs, 8192 hidden neurons, and ten outputs, with random input connections and pseudoinverse-derived output weights.Training uses 60,000 digits, while testing uses 10,000 digits and compares predicted outputs against expected labels.Source: §2.2.1 · p. 2

2.2.2 Modelling

  • The model is implemented with fixed-point numbers and first reproduced in Python to align software and hardware results.The hardware-driven approach prioritizes a trade-off between performance and resource usage rather than the lowest possible test error.Source: §2.2.2 · pp. 2–3

2.2.3 Input layer

  • MNIST grayscale pixels are thresholded into binary values, and LFSR-based random weights reproduce the nonlinear projection in software and FPGA hardware.Thresholding reduces hardware cost with negligible performance loss, while shared LFSR generation keeps random weights identical across implementations.Source: §2.2.3 · pp. 3–4

2.2.4 Rate neuron

  • Each deterministic non-spiking neuron uses a broken-stick tuning curve whose firing rate depends on stimulus and neuron index.The piecewise-linear transfer function avoids measuring spike rates and can be implemented with a single 9-bit fixed-point multiplier.Source: §2.2.4 · p. 4

2.2.5 Hidden layer

  • The hidden layer contains 128 identical 64-neuron cores, totaling 8192 neurons and approximately 6.5M synaptic connections.Identical cores still produce different responses because random projections generate different stimuli for corresponding neurons across cores.Source: §2.2.5 · p. 4, Figure 4 · p. 4

2.2.6 Regression

  • OPIUM lite searches different random seeds for one meeting a target error threshold, with a 1000-seed time-out; full-scale OPIUM then computes decoding weights using the selected seed.Source: §2.2.6 · p. 5

2.3 Hardware implementation

The FPGA implementation uses time-multiplexed encoders and neurons to build a three-layer system from compact hardware modules. It balances timing, memory, and multiplier constraints through pipelining and distributed computation.

2.3.1 Topology

  • On-chip memory keeps the architecture simple, but storage capacity and bandwidth constrain time-multiplexing and make much larger networks difficult without off-chip memory.The authors identify off-chip memory as a future option because it would require a dedicated memory controller and more complex architecture.Source: §2.3.1 · p. 5
  • The topology combines an encoder, 128-core hidden layer, and ten-neuron output layer, with counters and buffers sequencing time-multiplexed computation.Each hidden neuron produces ten weighted firing rates that are accumulated by the corresponding output neurons.Source: §2.3.1 · p. 6, Figure 6 · p. 6

2.3.2 Physical encoder

  • Processing each encoder-neuron pair over four clock cycles reduces the time-multiplexing capacity from 256k to 64k neurons while easing timing and adder requirements.The encoder sums 196 weighted pixels per cycle instead of all 784 pixels in one 3.75 ns cycle.Source: §2.3.1 · p. 5, §2.3.2 · p. 6
  • The physical encoder generates repeatable random weights from seeded LFSRs and uses pipelined adders to produce each neuron’s stimulus with two-cycle latency.Only the seeds need storage because the random weights are regenerated on the fly.Source: §2.3.2 · p. 7

2.3.3 Physical neuron

  • Three 9-bit multipliers distribute the neuron’s eleven multiplication operations across four cycles, replacing a naïve ten-multiplier design.One multiplier computes the firing rate and the three multipliers distribute products with the ten decoding weights across the time slot.Source: §2.3.3 · pp. 7–8

2.3.4 Output layer

  • The ten output neurons accumulate the outputs of 8k time-multiplexed neurons using only a register and an adder, then select the maximum-valued output as the digit.The output values are cleared after each digit is classified.Source: §2.3.4 · p. 8

2.3.5 Utilisation

  • 128 neural cores yielding 8k neurons were implemented on an Altera Cyclone V FPGA using less than 6% of hardware resources, excluding RAMs.The utilisation table also includes circuits supporting tasks such as the JTAG interface.Source: §2.3.5 · p. 8

3. Results

The results examine accuracy–hardware trade-offs across design choices and hidden-layer sizes, then report FPGA recognition throughput. The selected 8k-neuron configuration achieves a 3.45% error in the best full-OPIUM run while supporting highly parallel processing.

3.1 Comparison across different configurations

  • Binary inputs produced 59.5 more errors on average than grayscale inputs, corresponding to a small but significant increase of around 0.6%.The 95% HDI lay outside the ROPE defined as 10 or fewer errors out of 10,000 tests.Source: Figure 9 · p. 8, §3.1 · p. 10
  • Replacing tanh neurons with rate neurons increased errors by approximately 18.5, but the difference was not strongly significant because the 95% HDI overlapped the ROPE.Using 6-bit fixed-point output weights instead of floating-point weights caused no significant performance loss.Source: Figure 10 · p. 9, Figure 11 · p. 9, §3.1 · p. 10
  • A 0.8% performance drop separated configuration 1 from configuration 4, while the modifications substantially reduced hardware cost.Configuration 4 combined binary inputs, rate neurons, and 6-bit fixed-point decoding weights.Source: §3.1 · pp. 9–10

3.2 Size of the hidden layer

  • Hidden-layer median error decreased from 14.5% at 1k neurons to 4.33% at 16k neurons, with diminishing returns as size increased.The measured medians were 10.4%, 6.96%, 5.01%, and 4.47% at 2k, 4k, 8k, and 12k neurons, respectively.Source: §3.2 · p. 10, Figure 12 · p. 10
  • The 8k-neuron hidden layer was selected because larger layers improved accuracy but increased decoding-weight memory linearly.This choice balanced desired accuracy against the system’s memory bottleneck.Source: §3.2 · p. 10

3.2 System performance

  • 3.45% was the lowest error achieved with full OPIUM, while the FPGA processed one digit in approximately 120 µs.The hardware operated at 266 MHz with an 8k-neuron hidden layer and four clock cycles per time slot.Source: §3.2 · p. 10

4. Discussion

The discussion frames the architecture around scalable real-time pattern recognition and compares its scale, performance, and hardware cost with related solutions. It also emphasizes hardware-friendly adaptation and applicability beyond digit recognition.

4.1 Comparison with other solutions

  • The proposed system targets a trade-off among network scale, recognition performance, and FPGA hardware cost.The comparison uses digit recognition as a metric while noting that other applications require different hardware resources.Source: §4.1 · pp. 10–11
  • Running OPIUM in real time could make the system a turnkey pattern-recognition solution without requiring hundreds of gigabytes of RAM.The architecture also avoids feature extraction, supporting applications such as speaker recognition and natural language processing.Source: §4.1 · p. 11
Loading 1507.05695v1…