LibTopoART is a software library providing platform-independent C# implementations of several neural networks based on the TopoART architecture. This architecture was developed as a unified machine learning approach tackling common 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, noisy, imbalanced, or incomplete data.
The base network, TopoART (TA), is a shallow incremental neural network combining elements of several other approaches, in particular, Adaptive Resonance Theory (ART) and topology-learning networks. It is capable of stable online clustering of stationary and non-stationary data at multiple levels of detail in parallel. 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 respects from the C++ implementations used in the original publications:
- The computations are more precise, since they are performed using the decimal type of C#, which is a base-10 type with more precision than the C++ data types float and double. For most networks, accelerated variants exist which internally use fixed-point arithmetic 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.
- The networks allow for an arbitrary number of modules, not just two.
- Each node receives a unique ID that remains constant throughout its lifetime.
Besides TopoART itself, the current version of LibTopoART (1.1) 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 the MIT licence. If you 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)