Litcius/Paper detail

A Real-Time Naive Bayes Classifier Accelerator on FPGA

Zhen Xue, Jizeng Wei, Wei Guo

2020IEEE Access27 citationsDOIOpen Access PDF

Abstract

In this paper, we propose a real-time hardware naive Bayes classifier (NBC) which is implemented on field programmable gate array (FPGA). We first use logarithm transformation based look-up table and float-to-fixed point process to simplify the calculations in naive Bayes classification algorithm. The methods clear up the multiplication and division operations of floating points completely. Based the simplified algorithm, we design our hardware architecture which includes both training and inference part. A novel format of logarithm look-up table with very limited items and a shifter in it are working together to calculate the logarithm value of any number. There are several processing element (PE) arrays in the accelerator where each PE in an array is running in parallel, which speed up the classification process remarkably. The experiments prove that the proposed accelerator has much better real-time efficiency than the general processor, some hardware Bayes classifiers and convolutional neural network (CNN) accelerators. It outperforms the NBC and semi-NBC accelerators and costs far less resources on chip than many CNN accelerators. Its utilization of LUT, FF and BRAM is only 10%, 0.05% and 2% of CNN accelerators on average. The experimental results over five datasets of different magnitudes show the accelerator has almost no loss of classification accuracy comparing with ARM Cortex-A9 processor. Their deviation of the classification accuracy is only 0.39% on average. What's more, it improves the performance of the training phase and the inference phase about 7.9+e4 and 8.3+e4 on average, respectively.

Topics & Concepts

Computer scienceField-programmable gate arrayNaive Bayes classifierLogarithmLookup tableSpeedupArtificial neural networkArtificial intelligenceConvolutional neural networkBayes' theoremAlgorithmClassifier (UML)Pattern recognition (psychology)Computer hardwareParallel computingSupport vector machineMathematicsBayesian probabilityMathematical analysisProgramming languageNeural Networks and ApplicationsMachine Learning and Data ClassificationBlind Source Separation Techniques