Real-time Neural Networks Implementation Proposal for Microcontrollers
  The adoption of intelligent systems with Artificial Neural Networks (ANNs)
embedded in hardware for real-time applications currently faces a growing
demand in fields like the Internet of Things (IoT) and Machine to Machine
(M2M). However, the application of ANNs in this type of system poses a
significant challenge due to the high computational power required to process
its basic operations. This paper aims to show an implementation strategy of a
Multilayer Perceptron (MLP) type neural network, in a microcontroller (a
low-cost, low-power platform). A modular matrix-based MLP with the full
classification process was implemented, and also the backpropagation training
in the microcontroller. The testing and validation were performed through
Hardware in the Loop (HIL) of the Mean Squared Error (MSE) of the training
process, classification result, and the processing time of each implementation
module. The results revealed a linear relationship between the values of the
hyperparameters and the processing time required for classification, also the
processing time concurs with the required time for many applications on the
fields mentioned above. These findings show that this implementation strategy
and this platform can be applied successfully on real-time applications that
require the capabilities of ANNs.
