![]() |
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 |
|
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.