Implementation of Extreme Gradient Boosting Machine Learning Algorithm in Low Power FPGA for Wearable Lactate Sensing Platforms

Commercialization of biosensors has been limited due to their accuracy and reliability. Creating intelligent biosensors to automatically predict concentrations of analytes based on some decision system would overcome this challenge. Many advanced machine learning algorithms for data processing are emerging and becoming a hot topic of research for scientists worldwide, but their application in biosensors, particularly in wearable systems is still limited. Wearable lactate sensors is an emerging field of application in continuous personal health monitoring. Monitoring the fluctuations of lactate level is important to diagnose and evaluate the health concerns related to lactate acidosis and those which occur in oxygen deficit situations such as systemic healthcare in military and high-risk personnel clinical emergencies, sports, and general medicine. In this paper, we report on implementation of the Gradient Boosted Trees (GBT) classifier in a wearable biosensor platform for Lactate monitoring. Five different concentrations of lactate, ranging from 10 pM to 10 mM, were measured by the Cyclic Voltammetry (CV) technique. The CV measurements were taken in the potential range of -0.1 V to 1.2 V at scan rate of 50 mV/s. The objectives were to determine the different concentrations of lactate accurately with the GBT classifier and keep the computational power low enough to function on wearable or mobile devices. The main component that uses the most processing power in neural networks is the matrix multiplication used for adjusting the parameters. Limiting the data being input into the network as much as possible can have major improvements in the required computational power of any neural network. Further acceleration can be gained by porting the classifier onto an FPGA for computing any unknown concentrations. Once a neural network model is trained and tested on the CPU until an optimized result is acquired, it can be mapped onto the FPGA for accelerated processing speeds. The neural network used in this study was constructed using python in the Jupyter Notebook environment. 12,000 samples were collected from the CV process, each concentration containing 2400 currents. The data had to be preprocessed in order to have the labels in its own column, changing the dimensions of the data from 2402 x 6 to 12001 x 3. Graphing the data of the concentrations showed that each concentration can be identified by the peak of the curve, ranging from 0.259 to 0.276 V. This reduced the input data from 12,000 to 55. The data was split into 80/10/10, train/validation/test respectively and ran through the classifier and compared against a log regression classifier. The GBT performed extremely well, resulting in 94% accuracy on the testing dataset compared to the 52% accuracy from the log regressor. We investigated the performance and power consumption for the proposed algorithm for Intel Cyclone V System-on-Chip (SoC) FPGA. The weights for the neurons need to be converted into fixed-point numbers using the python code since they can not be calculated by the FPGA, and hard-coded into the neural network being implemented by the VHDL code. The core voltage supply for this specific FPGA averages to 1.1 V and an ammeter was connected to the processing core to calculate the current output of the digital logic, resulting in 43.5 mA. The derived power consumption from multiplying the voltage and current was 47.85 mW, which is much lower than the estimated power of 909.15 mW for the CPU, received from the Windows task manager. This drastic reduction of power would allow for the proposed method process substantially bigger datasets in low-power computational platforms. The presented work shows the feasibility and efficiency of using GBT classification in wearable biosensing platforms with low power budgets to improve their accuracy.