Hardware implementation of evolvable block-based neural networks utilizing a cost efficient sigmoid-like activation function

This paper presents the hardware implementation of an evolvable block-based neural network that utilizes a novel and cost efficient sigmoid-like activation function. Evolvable block-based neural networks (BbNNs) feature simultaneous optimization of structure, and viable implementation in reconfigurable digital hardware such as field programmable gate arrays (FPGAs). Efficient hardware implementation of BbNN structures is the primary goal of this paper. Various aspects of BbNN modeling and design considerations are presented. The neuron blocks are designed with properly described methodology, using only a single multiplier each, and implement a cost efficient sigmoid-like activation function. A novel method of reusing the multiplier to smoothly approximate a hyperbolic tangent (tanh) function to be used as the activation function for the neuron blocks is also presented. This is an important contribution, because a sigmoid-like activation function is provided at almost no additional cost. The neuron blocks are very cost efficient in terms of logic utilization when compared to the previous work. The BbNN is designed as an system-on-chip (SoC), and is functionally verified and tested on several case studies. The system performance allows real-time classification, and executes up to 410×faster than embedded software.

[1]  Randy Yates,et al.  Fixed-Point Arithmetic: An Introduction , 2013 .

[2]  Mohamed Khalil,et al.  FPGA-based embedded system for the detection of driver drowsiness using ECG signals , 2012 .

[3]  Christof Teuscher FPGA Implementations of Neural Networks (Ormondi. A.R. and Rajapakse, J.C., Eds.; 2006) , 2007, IEEE Trans. Neural Networks.

[4]  Enrico Bocchieri,et al.  Fixed-Point Arithmetic , 2008 .

[5]  Seong-Gon Kong,et al.  Block-based neural networks , 2001, IEEE Trans. Neural Networks.

[6]  Muhammad N. Marsono,et al.  HW/SW co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems , 2013, Computing.

[7]  M. Khalil-Hani,et al.  Evolvable Block-based Neural Networks for real-time classification of heart arrhythmia From ECG signals , 2012, 2012 IEEE-EMBS Conference on Biomedical Engineering and Sciences.

[8]  Clifford E. Cummings The Fundamentals of Efficient Synthesizable Finite State Machine Design using NC-Verilog and BuildGates , 2002 .

[9]  M. Khalil-Hani,et al.  Evolvable Block-based Neural Networks for classification of driver drowsiness based on heart rate variability , 2012, 2012 IEEE International Conference on Circuits and Systems (ICCAS).

[10]  Y. Jewajinda,et al.  An Adaptive Hardware Classifier in FPGA based-on a Cellular Compact Genetic Algorithm and Block-based Neural Network , 2008, 2008 International Symposium on Communications and Information Technologies.

[11]  Hon Keung Kwan Simple sigmoid-like activation function suitable for digital hardware implementation , 1992 .

[12]  Seong-Gon Kong,et al.  Pattern recognition with block-based neural networks , 2002, Proceedings of the 2002 International Joint Conference on Neural Networks. IJCNN'02 (Cat. No.02CH37290).

[13]  Jiankun Hu,et al.  A Real-Time NetFlow-based Intrusion Detection System with Improved BBNN and High-Frequency Field Programmable Gate Arrays , 2012, 2012 IEEE 11th International Conference on Trust, Security and Privacy in Computing and Communications.

[14]  Quang Anh Tran,et al.  Evolving Block-Based Neural Network and Field Programmable Gate Arrays for Host-Based Intrusion Detection System , 2012, 2012 Fourth International Conference on Knowledge and Systems Engineering.

[15]  Prabhas Chongstitvatana,et al.  FPGA-based online-learning using parallel genetic algorithm and neural network for ECG signal classification , 2010, ECTI-CON2010: The 2010 ECTI International Confernce on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology.

[16]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[17]  P. McCullagh,et al.  Generalized Linear Models , 1984 .

[18]  Jagath C. Rajapakse,et al.  FPGA Implementations of Neural Networks , 2006 .

[19]  Seong G. Kong,et al.  FPGA Implementation of Evolvable Block-based Neural Networks , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[20]  Sampath Kumar Kothandaraman,et al.  Implementation of Block-based Neural Networks on Reconfigurable Computing Platforms , 2004 .

[21]  Gregory D. Peterson,et al.  Evolvable Block-Based Neural Network Design for Applications in Dynamic Environments , 2010, VLSI Design.

[22]  Prabhas Chongstitvatana,et al.  A parallel genetic algorithm for adaptive hardware and its application to ECG signal classification , 2012, Neural Computing and Applications.

[23]  Hung T. Nguyen,et al.  Block based neural network for hypoglycemia detection , 2011, 2011 Annual International Conference of the IEEE Engineering in Medicine and Biology Society.