一种用于 FPGA 上运行时学习的灵活 HLS Hoeffding 树实现
机器学习
2021-12-06 v1 硬件体系结构
摘要
在嵌入式系统中实现机器学习时,决策树因其简单性和可扩展性而常被优先选用。Hoeffding 树是一类利用 Hoeffding 界使其无需持续存储数据样本以供后续重处理即可学习数据模式的决策树。这使其特别适合部署于嵌入式设备。本文重点介绍一种 Hoeffding 树的 HLS 实现特性。实现参数包括样本特征维度(D)、输出类别数(K)以及树允许生长的最大节点数(Nd)。我们以 Xilinx MPSoC ZCU102 为目标平台,并评估:不同类别数与特征维度下的设计资源需求和时钟频率、在多个不同样本量(N)、输出类别数的合成数据集上的执行时间,以及来自 UCI 的两个数据集上的执行时间与准确率。对于 D3、K5、N40000 的问题规模,以 103MHz 运行的单棵决策树推理速度比 1.2GHz 的 ARM Cortex-A53 核心快 8.3 倍。与 Hoeffding 树的参考实现相比,我们在 UCI 数据集上取得了相当的分类准确率。
引用
@article{arxiv.2112.01875,
title = {A Flexible HLS Hoeffding Tree Implementation for Runtime Learning on FPGA},
author = {Luís Miguel Sousa and Nuno Paulino and João Canas Ferreira and João Bispo},
journal= {arXiv preprint arXiv:2112.01875},
year = {2021}
}