Alex, one of the Connectionists!
Alexander G. Ororbia II
Assistant Professor
PhD, Information & Science Technology (The Pennsylvania State University), Minor in Social Data Analytics
B.S.E., Computer Science & Engineering (Bucknell University, U.S.A.), Minors in Mathematics & Philosophy
Director, Neural Adaptive Computing (NAC) Laboratory
Department of Computer Science
Rochester Institute of Technology (NY, USA)


Office: Golisano Hall Rm. 3537
Email: agovcs AT rit DOT edu (Teaching/Advising), ago AT cs DOT rit DOT edu
Logo design by Maximilian Ororbia.

[ Home ] -- [ For Students ] -- [ Teaching ] -- [ Research ] -- [ Publications ] -- [ Talks ] -- [ Software ] -- [ The NAC Lab ] -- [ Academic Genealogy ]

Software

NGC-Learn: Computational Neuroscience & NeuroAI in Python

ngc-learn is a Python library that was originally designed for building, simulating, and analyzing arbitrary predictive processing (or predictive coding), free-energy-based models. However, over the decade of its evolution (from a simple Scala-based computational, Theano-inspired graph system to a Tensorflow-2 dynamics manager to its modern-day JAX-friendly simulation compiler), ngc-learn has become the "game engine for computational neuroscience", providing a flexible, customizable framework and set of tools for designing and simulating -- at scale -- biophysical neural models, neural-centric credit assignment and synaptic plasticity, neuromorphic systems based on spike-trains, and neuroscience-informed artificially intelligent (NeuroAI) agents. This toolkit, distributed under the 3-Clause BSD license, is built (nowadays) on top of Python and JAX. Note that ngc-learn's "nodes-and-cables" system is quite general, serving the design of a wide array of computational neuronal circuits, including those grounded in predictive processing. One of ngc-learn's central aims is to offer a flexible, powerful tool to both researchers and students alike, across the fields of statistical machine learning, computational neuroscience, and cognitive science, for developing computational simulations of, experimenting with, and studying neural systems that infer and learn in a more neurobiological, neurocognitive fashion.

Notably, ngc-learn offers the "Model Museum", which is a growing collection of classical and modern proposed models often built from predictive processing ideas. Key works that it already reproduces include the classical sparse coding model of (Olshausen & Field, 1996), the predictive coding network (PCN) of (Whittington & Bogacz, 2017), and the generative predictive coding models of (Rao & Ballard, 1999, Friston 2008; and Ororbia & Kifer, 2022). Notably, many of these models can be built, studied, and worked with under ngc-learn's tutorials (or "demonstrations").

This library is continually evolving, so stay updated by checking its Github page for the latest updates, upgrades, newest additions to the Model Museum, and new tutorials/demonstrations.

Link to the Github repo: https://github.com/ago109/ngc-learn/
Link to the Documentation (with tutorials): https://ngc-learn.readthedocs.io/
Link to Nature Blog Post: https://go.nature.com/3rgl1K8
The Reddit Post can be found here.
Talks Given about NGC-Learn: Talk (1), Talk (2)