An Efficient Architecture for Floating Point Based MISO Neural Neworks on FPGA

The present paper documents the research towards the development of an efficient algorithm to compute the result from a multiple-input-single-output Neural Network using floating-point arithmetic on FPGA. The proposed algorithm focus on optimizing pipeline delays by splitting the "Multiply and accumulate" algorithm into separate steps using partial products. It is a revisit of the classical algorithm for NN computation, able to overcome the main computation bottleneck in FPGA environment. The proposed algorithm can be implemented into an architecture that fully exploits the pipeline performance of the floating-point arithmetic blocks, thus allowing a very fast computation for the neural network. The performance of the proposed architecture is presented using as target a Cyclone II FPGA Device.

[1]  M. Elkattan,et al.  Microcontroller based neural network for landmine detection using magnetic gradient data , 2012, 2012 4th International Conference on Intelligent and Advanced Systems (ICIAS2012).

[2]  Alessandro Salvini,et al.  Automatic and Parallel Optimized Learning for Neural Networks performing MIMO Applications , 2013 .

[3]  Ye Tian,et al.  NiosII custom instruction on FIR filter arithmetic , 2012, 2012 Proceedings of International Conference on Modelling, Identification and Control.

[4]  Ramazan Bayindir,et al.  Hardware Implementation of a Real-Time Neural Network Controller Set for Reactive Power Compensation Systems , 2010, 2010 Ninth International Conference on Machine Learning and Applications.

[5]  Sabu M. Thampi,et al.  Proceedings of the International Conference on Advances in Computing, Communications and Informatics , 2012 .

[6]  Fernando Morgado Dias,et al.  A high bit resolution FPGA implementation of a FNN with a new algorithm for the activation function , 2007, Neurocomputing.

[7]  Alessandro Salvini,et al.  Neural network and Fourier descriptor macromodeling dynamic hysteresis , 2000 .

[8]  Alessandro Salvini,et al.  Prediction of dynamic hysteresis under highly distorted exciting fields by neural networks and actual frequency transplantation , 2001 .

[9]  Alessandro Salvini,et al.  Learning optimization of neural networks used for MIMO applications based on multivariate functions decomposition , 2012 .

[10]  George Cybenko,et al.  Approximation by superpositions of a sigmoidal function , 1989, Math. Control. Signals Syst..

[11]  Cai Xue-mei NIOS Custom Instruction on Floating-Point Arithmetic , 2011 .

[12]  Karim Mohammed,et al.  A Reconfigurable, Generic and Programmable Feed Forward Neural Network Implementation in FPGA , 2012, 2012 UKSim 14th International Conference on Computer Modelling and Simulation.

[13]  A. Salvini,et al.  Neural Network Approach for Modelling Hysteretic Magnetic Materials Under Distorted Excitations , 2012, IEEE Transactions on Magnetics.

[14]  Dias F. Morgado,et al.  On the Implementation of Different Hyperbolic Tangent Solutions in FPGA , 2012 .

[15]  Xi Chen,et al.  Efficient Sigmoid Function for Neural Networks Based FPGA Design , 2006, ICIC.

[16]  Miodrag Bolic,et al.  Artificial neural network acceleration on FPGA using custom instruction , 2011, 2011 24th Canadian Conference on Electrical and Computer Engineering(CCECE).

[17]  Gabriele Maria Lozito,et al.  FPGA Implementations of Feed Forward Neural Network by using Floating Point Hardware Accelerators , 2014 .

[18]  Harish M. Kittur,et al.  Low power energy efficient pipelined multiply-accumulate architecture , 2012, ICACCI '12.

[19]  Dave Strenski,et al.  A practical measure of FPGA floating point acceleration for High Performance Computing , 2013, 2013 IEEE 24th International Conference on Application-Specific Systems, Architectures and Processors.

[20]  B.K. Bose,et al.  Field Programmable Gate Array (FPGA) Based Neural Network Implementation of Stator Flux Oriented Vector Control of Induction Motor Drive , 2006, 2006 IEEE International Conference on Industrial Technology.

[21]  Keith D. Underwood,et al.  FPGAs vs. CPUs: trends in peak floating-point performance , 2004, FPGA '04.

[22]  Shiann-Rong Kuang,et al.  Multiple-mode floating-point multiply-add fused unit for trading accuracy with power consumption , 2013, 2013 IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS).

[23]  James M. Conrad,et al.  Analysis of floating point operations in microcontrollers , 2011, 2011 Proceedings of IEEE Southeastcon.

[24]  Mark Zwolinski Digital system design with VHDL , 2000 .

[25]  A. Abdelgawad Low power multiply accumulate unit (MAC) for future Wireless Sensor Networks , 2013, 2013 IEEE Sensors Applications Symposium Proceedings.