What is the Knowm API?

The Knowm API is our special Machine Learning (ML) library. It is the result of over a decade of research and development. It can be used to solve problems across many domains of machine learning, from classification, prediction, and anomaly detection to feature-learning, robotic actuation, and combinatorial optimization. It is a collection of ML modules built on Thermodynamic Random Access Memory (kT-RAM), a general-purpose adaptive memristor processor designed on the principles of Anti-Hebbian and Hebbian (AHaH) Computing

kT-RAM is a fundamentally new type of computing substrate that resolves a serious problem in machine learning, or any other computational program where lots of memory must be ‘adapted’ and ‘integrated’ constantly. Every modern computing system currently separates memory and processing. This works well for many tasks, but it fails for large-scale adaptive systems like brains or large ML models like neural networks. Indeed, there is no system in Nature outside of modern human digital computers that actually separates memory and processing, so it’s a wonder we have been able to do as much as we have. kT-RAM provides a universal adaptation or learning substrate and solves, in physically adaptive hardware, the learning problems that we would otherwise have to compute by shuttling information back and forth between memory and processing.

The Knowm API is a software hook to kT-RAM, where machine learning functions have been reduced to kT-RAM instruction set routines.


    • duncan fairbanks

      kt-ram technology sounds like an essential first step towards learning without the Von neumann bottleneck. as a student of computer engineering and machine learning, i am interested in supporting this technology.

      • Alex Nugent

        duncan–thanks for the support! We also see it as a first step. I believe kT-ram is a good starting point because it is simple and it can be used as a specification. That means we can make kt-ram out of many technologies (digital and analog CMOS as well as memristors), and building up the application space. the only thing that matters in the end is utility.

    • Joni Dambre

      I came accross your site and your technology sounds fascinating. However, I was wondering how it relates to neural networks, both to the computational paradigm and to hardware realisations thereof. As computational paradigm, recurrent neural networks are equally biologically inspired and they also naturally integrate memory and computation. Obviously, they exist in many flavours and some are more biologically inspired than others. Secondly, several hardware realisations of (analog and spiking) neural networks exist.

      Im interested in your thoughts on this …

      • Alex Nugent

        Joni–Recurrent neural networks are algorithms. kT-RAM is an adaptive computational substrate. A number of neuromorphic chips have been built over the years, to varying degrees of success, each limited to the hardware available. kT-RAM is not so much biologically inspired as it is “nature inspired”. We are taking a universal adaptive building block found in nature and providing it as a computational resource. Existing neural processors are either useless (they cant learn or do not solve benchmark problems at required levels) or they are limited in scope as they are implementations of specific algorithms. kT-RAM is a low-level resource capable of providing memory, logic and machine learning functions at a hardware level and can be used to solve a number of problems in a number of algorithms. It merges memory and processing, reducing synaptic activation and adaptation to a physical process that does not have to be computed.

Leave a Comment