A Flexible HLS Hoeffding Tree Implementation for Runtime Learning on FPGA
Lu\'is Miguel Sousa, Nuno Paulino, Jo\~ao Canas Ferreira, Jo\~ao Bispo

TL;DR
This paper presents a flexible FPGA implementation of Hoeffding Trees for real-time machine learning in embedded systems, demonstrating high speed and comparable accuracy to traditional methods.
Contribution
The work introduces a parameterizable HLS-based Hoeffding Tree implementation optimized for FPGA deployment, with detailed resource and performance evaluation.
Findings
Achieves 8.3x faster inference than ARM Cortex-A53 at 103MHz.
Resource requirements vary with feature size and number of classes.
Maintains comparable accuracy to reference implementations on UCI datasets.
Abstract
Decision trees are often preferred when implementing Machine Learning in embedded systems for their simplicity and scalability. Hoeffding Trees are a type of Decision Trees that take advantage of the Hoeffding Bound to allow them to learn patterns in data without having to continuously store the data samples for future reprocessing. This makes them especially suitable for deployment on embedded devices. In this work we highlight the features of an HLS implementation of the Hoeffding Tree. The implementation parameters include the feature size of the samples (D), the number of output classes (K), and the maximum number of nodes to which the tree is allowed to grow (Nd). We target a Xilinx MPSoC ZCU102, and evaluate: the design's resource requirements and clock frequency for different numbers of classes and feature size, the execution time on several synthetic datasets of varying sample…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning and Data Classification · Anomaly Detection Techniques and Applications · Data Stream Mining Techniques
