Submitted by abhitopia t3_ytbky9 in MachineLearning
Hello,
I am new to this community. I am an ML researcher and a computer scientist. I have been interested in Category theory and functional programming (and Haskell in particular). I am also very interested in brain inspired computation and do not believe that current Deep Learning systems are a way to go.
In recent year, there are a few papers now which suggest how predictive coding can replace backpropagration based systems.
While initial research focussed on MLPs only, recently it have been applied to arbitrary computations graphs including CNNs, LSTMs, etc.
As is typical of ML practitioners, I don't have a neuroscience background. However, I found this amazing tutorial to understand predictive coding and how it can be used for actual computation.
A tutorial on the free-energy framework for modelling perception and learning
To best of my knowledge, no mainstream ML libraries (Pytorch or Tensorflow) currently support predictive coding efficiently.
As such, I am interested in building a highly parallel and extensive framework to do just that. I think a future "artificial brain" will be like a server that is never turned off, and can be scaled up (horizontally or vertically on demand). After reading up, I found Erland is a perfect language for that as it natively supports distributed computed, with millions of small indendent processes that communicate with each other using lightweight IPC.
Digging further, it seems that someone even wrote a 1000 page book Handbook of Neuroevolution Through Erlang . This book was written in 2012 before the advent of deep learning and focussing on evolution techniques (like genetic algorithm).
My proposal is to take these ideas and build a general purpose, highly parallel, scalable arifitical neural network library (with first class support for online/continual learning) using Erlang. I am looking for any feedback or advice here as well as looking for collaborators. So if interested, please reach out!
UPDATE [22-11-2022]: Considering using Rust and Actix library instead for performance reasons.
CatalyzeX_code_bot t1_iw35kb3 wrote
Found relevant code at https://github.com/BerenMillidge/PredictiveCodingBackprop + all code implementations here
--
To opt out from receiving code links, DM me