A Framework for Embedded Classification

This work is devoted to the exploration of Artificial Neural Network Classifiers for use on resource-constrained computing platforms as a mechanism for extending the operational time by preselecting “interesting” data for transmission or storage as opposed to the more conventional practice of simply streaming all incoming data. The execution environment found in microcontrollers of the class typically used in Wearable Body Sensor Network devices (such as the TEMPO platform) or other small, resource constrained data acquisition and control systems is very limited - typical clock speeds are on the order of 10 megahertz, and memory capacities are in the range of 2 to10 kilobytes of random access memory and up to 60 kilobytes of flash. There is no floating point hardware available and the instruction set usually only includes operations for integer add, subtract, and multiply – besides the normal complement of logical, shift, and rotate instructions. A challenge has been to identify classifiers suitable for such a computing environment, and characterize their capabilities.

A further challenge has been to develop a standardized set of test metrics and synthetic data techniques for assessment of classifier efficacy. We have developed a technique that allows the generation of data sets of arbitrary complexity, with a single monotonic parameter per axis that allows standardized test data to be generated for binary classification issues. In the binary classification data sets illustrated here, the data complexity increases successively with the increase of a single parameter. We have found the Bhattacharyya distance measure to be a useful measure of this complexity.

CMAC (Cerebellar Model Arithmetic Controller) classifiers are especially useful for embedded platforms, as there are no inherent requirements for extended math abilities of the classifier. This classifiers guarantees convergence to a global minimum on the error surface and is capable of learning input/output mappings with any desired degree of precision as a function of its generalization and quantization parameters as well as the amount of memory allocated for weight storage.

Test results for a CMAC classifier on moderately complex data is reveal that we can not only use the artificial data to predict classifier performance as a function of weight memory storage and number of required training samples. This, in turn, enables a design of embedded classification systems to predict requirements in advance of the actual hardware design, and facilitates the design of resource efficient classification systems.


Relevant Projects:



Hanson MA, Powell, Jr HC, Barth AT, Lach J, Brandt-Pearce M.  2009.  Neural Network Gait Classification for On-Body Inertial Sensors. 2009 International Conference on Body Sensor Networks. :181–186.