A Fast Algorithm to Simulate Nonlinear Resistive Networks

Benjamin Scellier
2/18/2024
cs.ETcond-mat.dis-nncs.LG

No official code found. Best implementation: rain-neuromorphics/energy-based-learning (34 stars, MIT, last commit 2025-04-06).

Abstract

Analog electrical networks have long been investigated as energy-efficient computing platforms for machine learning, leveraging analog physics during inference. More recently, resistor networks have sparked particular interest due to their ability to learn using local rules (such as equilibrium propagation), enabling potentially important energy efficiency gains for training as well. Despite their potential advantage, the simulations of these resistor networks has been a significant bottleneck to assess their scalability, with current methods either being limited to linear networks or relying on realistic, yet slow circuit simulators like SPICE. Assuming ideal circuit elements, we introduce a novel approach for the simulation of nonlinear resistive networks, which we frame as a quadratic programming problem with linear inequality constraints, and which we solve using a fast, exact coordinate descent algorithm. Our simulation methodology significantly outperforms existing SPICE-based simulations, enabling the training of networks up to 327 times larger at speeds 160 times faster, resulting in a 50,000-fold improvement in the ratio of network size to epoch duration. Our approach can foster more rapid progress in the simulations of nonlinear analog electrical networks.

View on arXivView PDF

Code Implementations(1)

MIT

Code to simulate energy-based analog systems and equilibrium propagation

349PythonDec 3, 20231 years agoMIT

Similar Papers

Cite this paper

@article{scellier2024fast,
  title  = {A Fast Algorithm to Simulate Nonlinear Resistive Networks},
  author = {Benjamin Scellier},
  year   = {2024},
  eprint = {2402.11674},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2402.11674v2},
  journal = {ICML 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2402.11674.svg)](https://codeofpaper.com/paper/2402.11674)

Discussion