LibTopoART is a software library providing platform independent C# implementations of several neural networks based on the TopoART architecture. This architecture has been developed as a unified machine learning approach tackling frequent problems arising in cognitive robotics and advanced machine learning, such as online-learning, lifelong learning from data streams, as well as incremental learning and prediction from non-stationary data, noisy data, imbalanced data, and incomplete data.

The base neural network TopoART (TA) is an incremental neural network combining elements of several other approaches, in particular, Adaptive Resonance Theory (ART) and topology-learning networks. It is capable of parallel stable on-line clustering of stationary or non-stationary data at multiple levels of detail. These capabilities are complemented by derived neural networks dedicated to tasks such as classification, episodic clustering, and regression.


The implementations provided by LibTopoART differ in some minor aspects from the C++ implementations used in the original publications:

  • The computations are more exact, since they are performed using the decimal type of C#, which has 10 as its base and more precision than the C++ data types float and double. For some networks exist accelerated variants which internally use fixed-point arithmetics in order to reduce the computation time.
  • New nodes are inserted at the beginning of the respective layer, which is intended to accelerate learning and node removal.
  • They allow for an arbitrary number of modules, not just two.
  • Each node receives a unique ID which is constant during its life time.

Besides TopoART itself, the current version of LibTopoART (0.98) includes implementations of Episodic TopoART (episodic clustering of data streams), Hypersphere TopoART (clustering and topology-learning), TopoART-AM (associative memory), TopoART-C and Hypersphere TopoART-C (classification), and TopoART-R (regression). Future versions of LibTopoART will contain further neural networks based on TopoART.

LibTopoART is published under MIT licence. If you want to use it for scientific purposes, please cite the following paper:

Tscherepanow, Marko (2010). TopoART: A topology learning hierarchical ART network. In Proceedings of the International Conference on Artificial Neural Networks, LNCS 6354 (pp. 157–167). Berlin, Germany: Springer. (PDF)