# Streaming Batch Eigenupdates for Hardware Neuromorphic Networks

**Authors:** Brian D. Hoskins, Matthew W. Daniels, Siyuan Huang, Advait Madhavan,, Gina C. Adam, Nikolai Zhitenev, Jabez J. McClelland, Mark D. Stiles

arXiv: 1903.01635 · 2019-08-21

## TL;DR

This paper introduces the streaming batch eigenupdate (SBE) method, a low-rank approximation technique for stochastic gradient descent that reduces memory and compute requirements in neuromorphic network training.

## Contribution

It proposes a novel streaming batch eigenupdate algorithm that significantly decreases space complexity in training neuromorphic networks using low-rank approximations.

## Key findings

- Reduces memory and compute overhead in training
- Enables more energy-efficient neuromorphic network training
- Improves scalability of training algorithms

## Abstract

Neuromorphic networks based on nanodevices, such as metal oxide memristors, phase change memories, and flash memory cells, have generated considerable interest for their increased energy efficiency and density in comparison to graphics processing units (GPUs) and central processing units (CPUs). Though immense acceleration of the training process can be achieved by leveraging the fact that the time complexity of training does not scale with the network size, it is limited by the space complexity of stochastic gradient descent, which grows quadratically. The main objective of this work is to reduce this space complexity by using low-rank approximations of stochastic gradient descent. This low spatial complexity combined with streaming methods allows for significant reductions in memory and compute overhead, opening the doors for improvements in area, time and energy efficiency of training. We refer to this algorithm and architecture to implement it as the streaming batch eigenupdate (SBE) approach.

---
Source: https://tomesphere.com/paper/1903.01635