Real-time data analysis for medical diagnosis using FPGA-accelerated neural networks

BackgroundReal-time analysis of patient data during medical procedures can provide vital diagnostic feedback that significantly improves chances of success. With sensors becoming increasingly fast, frameworks such as Deep Neural Networks are required to perform calculations within the strict timing constraints for real-time operation. However, traditional computing platforms responsible for running these algorithms incur a large overhead due to communication protocols, memory accesses, and static (often generic) architectures. In this work, we implement a low-latency Multi-Layer Perceptron (MLP) processor using Field Programmable Gate Arrays (FPGAs). Unlike CPUs and Graphics Processing Units (GPUs), our FPGA-based design can directly interface sensors, storage devices, display devices and even actuators, thus reducing the delays of data movement between ports and compute pipelines. Moreover, the compute pipelines themselves are tailored specifically to the application, improving resource utilization and reducing idle cycles. We demonstrate the effectiveness of our approach using mass-spectrometry data sets for real-time cancer detection.ResultsWe demonstrate that correct parameter sizing, based on the application, can reduce latency by 20% on average. Furthermore, we show that in an application with tightly coupled data-path and latency constraints, having a large amount of computing resources can actually reduce performance. Using mass-spectrometry benchmarks, we show that our proposed FPGA design outperforms both CPU and GPU implementations, with an average speedup of 144x and 21x, respectively.ConclusionIn our work, we demonstrate the importance of application-specific optimizations in order to minimize latency and maximize resource utilization for MLP inference. By directly interfacing and processing sensor data with ultra-low latency, FPGAs can perform real-time analysis during procedures and provide diagnostic feedback that can be critical to achieving higher percentages of successful patient outcomes.

[1]  Benjamin Humphries,et al.  Design of 3D FFTs with FPGA clusters , 2014, 2014 IEEE High Performance Extreme Computing Conference (HPEC).

[2]  Asit K. Mishra,et al.  From high-level deep neural models to FPGAs , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[3]  Bipin C. Desai,et al.  A Framework for Medical Image Retrieval Using Machine Learning and Statistical Similarity Matching Techniques With Relevance Feedback , 2007, IEEE Transactions on Information Technology in Biomedicine.

[4]  Chen Yang,et al.  Collective Communication on FPGA Clusters with Static Scheduling , 2017, CARN.

[5]  David A. Patterson,et al.  In-datacenter performance analysis of a tensor processing unit , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[6]  Chen Yang,et al.  HPC on FPGA clouds: 3D FFTs and implications for molecular dynamics , 2017, 2017 27th International Conference on Field Programmable Logic and Applications (FPL).

[7]  Martín Abadi,et al.  TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems , 2016, ArXiv.

[8]  Y. Taright,et al.  FPGA implementation of a multilayer perceptron neural network using VHDL , 1998, ICSP '98. 1998 Fourth International Conference on Signal Processing (Cat. No.98TH8344).

[9]  Martin C. Herbordt,et al.  NCBI BLASTP on High-Performance Reconfigurable Computing Systems , 2015, TRETS.

[10]  Martin C. Herbordt,et al.  Families of FPGA-based algorithms for approximate string matching , 2004, Proceedings. 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, 2004..

[11]  Marco A. Moreno-Armendáriz,et al.  Realizing general MLP networks with minimal FPGA resources , 2009, 2009 International Joint Conference on Neural Networks.

[12]  Martin C. Herbordt,et al.  FPGA acceleration of rigid-molecule docking codes , 2010, IET Comput. Digit. Tech..

[13]  Ying Wang,et al.  High-dimensional Pattern Regression Using Machine Learning: from Medical Images to Continuous Clinical Variables However, Support Vector Regression Has Some Disadvantages That Become Especially , 2022 .

[14]  Stephen K. Gray,et al.  Combining first principles modeling, experimental inputs, and machine learning for nanocatalysts design , 2017 .

[15]  C HerbordtMartin,et al.  Molecular Dynamics Simulations on High-Performance Reconfigurable Computing Systems , 2010 .

[16]  Zhi-Hua Zhou,et al.  Improve Computer-Aided Diagnosis With Machine Learning Techniques Using Undiagnosed Samples , 2007, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[17]  Igor Kononenko,et al.  Machine learning for medical diagnosis: history, state of the art and perspective , 2001, Artif. Intell. Medicine.

[18]  Jiayi Sheng,et al.  Towards Low-Latency Communication on FPGA Clusters with 3 D FFT Case Study , 2015 .

[19]  Martin C. Herbordt,et al.  Families of FPGA-based algorithms for approximate string matching , 2004 .

[20]  Antoine Geissbühler,et al.  A Review of Content{Based Image Retrieval Systems in Medical Applications { Clinical Bene(cid:12)ts and Future Directions , 2022 .

[21]  Prasanna Balaprakash,et al.  Machine-Learning-Based Load Balancing for Community Ice Code Component in CESM , 2014, VECPAR.

[22]  Manish Panicker,et al.  Efficient FPGA Implementation of Sigmoid and Bipolar Sigmoid Activation Functions for Multilayer Perceptrons , 2012 .

[23]  Arif Gülten,et al.  Classifier ensemble construction with rotation forest to improve medical diagnosis performance of machine learning algorithms , 2011, Comput. Methods Programs Biomed..

[24]  Ali H. Shoeb,et al.  Application of Machine Learning To Epileptic Seizure Detection , 2010, ICML.

[25]  Tom M. Mitchell,et al.  Machine learning classifiers and fMRI: A tutorial overview , 2009, NeuroImage.

[26]  Martin C. Herbordt,et al.  FPGA-Accelerated Particle-Grid Mapping , 2016, 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[27]  Bin He,et al.  BRAIN^COMPUTER INTERFACE , 2007 .

[28]  Chen Yang,et al.  OpenCL for HPC with FPGAs: Case study in molecular electrostatics , 2017, 2017 IEEE High Performance Extreme Computing Conference (HPEC).

[29]  Klaus-Robert Müller,et al.  Machine learning for real-time single-trial EEG-analysis: From brain–computer interfacing to mental state monitoring , 2008, Journal of Neuroscience Methods.

[30]  Abbes Amira,et al.  MLP Neural Network Based Gas Classification System on Zynq SoC , 2016, IEEE Access.

[31]  Kenji Suzuki,et al.  Pixel-Based Machine Learning in Medical Imaging , 2012, Int. J. Biomed. Imaging.

[32]  Martin C. Herbordt,et al.  Bonded Force Computations on FPGAs , 2017, 2017 IEEE 25th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[33]  Abhisek Ukil,et al.  Development and Implementation of Parameterized FPGA-Based General Purpose Neural Networks for Online Applications , 2011, IEEE Transactions on Industrial Informatics.

[34]  Chen Yang,et al.  Novo-G#: Large-scale reconfigurable computing with direct and programmable interconnects , 2016, 2016 IEEE High Performance Extreme Computing Conference (HPEC).

[35]  Jacek M. Zurada,et al.  Training neural network classifiers for medical decision making: The effects of imbalanced datasets on classification performance , 2008, Neural Networks.

[36]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[37]  Christos Davatzikos,et al.  Classification of brain tumor type and grade using MRI texture and shape in a machine learning scheme , 2009, Magnetic resonance in medicine.

[38]  Dinggang Shen,et al.  Machine Learning in Medical Imaging , 2012, Lecture Notes in Computer Science.

[39]  Kenji Suzuki Machine Learning in Computer-Aided Diagnosis: Medical Imaging Intelligence and Analysis , 2012 .