Efficient Implementation of the Backpropagation Algorithm in FPGAs and Microcontrollers

2015; Institute of Electrical and Electronics Engineers; Volume: 27; Issue: 9 Linguagem: Inglês

10.1109/tnnls.2015.2460991

ISSN

2162-2388

Autores

Francisco Ortega-Zamorano, José M. Jerez, Daniel Urda, Rafael Marcos Luque‐Baena, Leonardo Franco,

Tópico(s)

Analog and Mixed-Signal Circuit Design

Resumo

The well-known backpropagation learning algorithm is implemented in a field-programmable gate array (FPGA) board and a microcontroller, focusing in obtaining efficient implementations in terms of a resource usage and computational speed. The algorithm was implemented in both cases using a training/validation/testing scheme in order to avoid overfitting problems. For the case of the FPGA implementation, a new neuron representation that reduces drastically the resource usage was introduced by combining the input and first hidden layer units in a single module. Further, a time-division multiplexing scheme was implemented for carrying out product computations taking advantage of the built-in digital signal processor cores. In both implementations, the floating-point data type representation normally used in a personal computer (PC) has been changed to a more efficient one based on a fixed-point scheme, reducing system memory variable usage and leading to an increase in computation speed. The results show that the modifications proposed produced a clear increase in computation speed in comparison with the standard PC-based implementation, demonstrating the usefulness of the intrinsic parallelism of FPGAs in neurocomputational tasks and the suitability of both implementations of the algorithm for its application to the real world problems.

Referência(s)