一种基于FPGA实现的决策森林系统及决策森林推理方法技术方案

技术编号:23558860 阅读:27 留言:0更新日期:2020-03-25 04:17
本发明专利技术公开了一种基于FPGA实现的决策森林系统及决策森林推理方法,属于机器学习领域。本发明专利技术基于路径回溯模块与分类模块的架构在FPGA上实现决策树,有利于将训练好的决策树MATLAB代码自动转换成Verilog代码,而不需要人为在EDA工具中手动实现大量决策树。采用自顶向下的设计结构,将每棵决策树都作为一个子模块并行运行,快速部署的同时保证精度,且消耗的硬件资源更少。基于流水线技术在FPGA上实现多数投票法,在顶层模块中调用决策树子模块并对子模块的结果进行统一处理,从而提高推理速度。通过异步FIFO模块跨时钟域传输数据,使其应用更广泛。本发明专利技术所提供的推理实现方法原则上适用于通过任意训练算法生成的决策树。

A decision forest system and decision forest reasoning method based on FPGA

【技术实现步骤摘要】
一种基于FPGA实现的决策森林系统及决策森林推理方法
本专利技术属于机器学习
,更具体地,涉及一种基于FPGA实现的决策森林系统及决策森林推理方法。
技术介绍
集成学习是机器学习中的一种重要的方法。集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。整个集成学习不依赖任何单一模型,而是集体进行预测。决策森林是并行式集成学习方法最著名的代表之一,其多样性是通过使用不同的训练数据子集来获得的。决策森林是以决策树为基学习器和以多数投票法为集成方式所构成的一种集成学习方法,也可进一步在决策树的训练过程中引入随机属性选择,以增强泛化性能。尽管决策森林在很多现实任务中都展现出强大的性能,但是它的缺点妨碍了决策森林的广泛应用,特别是基于硬件场景的应用。为了生成未标记数据实例的分类,在获得最终分类之前,需要按照每个模型对该实例进行分类。因此,对于推理速度是主要问题的一些应用(例如挖掘数据流),分类集成可能无法及时产生。决策树作为集成学习中的基学习器,利用树状结构进行判定并决策,可以是分类树也可以是回归树。决策树的训练本文档来自技高网...

【技术保护点】
1.一种基于FPGA实现的决策森林系统,其特征在于,该系统包括:/n基于FPGA的多个决策树子系统、异步FIFO模块和基于FPGA的多数投票法子系统;/n各个决策树子系统之间相互独立且并行运行,每个决策树子系统包含:第一时钟控制器、路径回溯模块和分类模块;其中,/n所述第一时钟控制器为同步时钟,用于控制路径回溯模块和分类模块;/n所述路径回溯模块用于获取已训练的决策树中所有从叶节点到根节点的回溯路径,并得到待分类数据在该决策树中的分类路径;/n所述分类模块用于根据所述路径回溯模块输出的分类路径,得到待分类数据在该决策树中的分类结果,并将分类结果传递给基于FPGA的多数投票法子系统;/n所述异步...

【技术特征摘要】
1.一种基于FPGA实现的决策森林系统,其特征在于,该系统包括:
基于FPGA的多个决策树子系统、异步FIFO模块和基于FPGA的多数投票法子系统;
各个决策树子系统之间相互独立且并行运行,每个决策树子系统包含:第一时钟控制器、路径回溯模块和分类模块;其中,
所述第一时钟控制器为同步时钟,用于控制路径回溯模块和分类模块;
所述路径回溯模块用于获取已训练的决策树中所有从叶节点到根节点的回溯路径,并得到待分类数据在该决策树中的分类路径;
所述分类模块用于根据所述路径回溯模块输出的分类路径,得到待分类数据在该决策树中的分类结果,并将分类结果传递给基于FPGA的多数投票法子系统;
所述异步FIFO模块用于对多个决策树子系统和多数投票法子系统之间的跨时钟域数据传输;
所述多数投票法子系统包含:第二时钟控制器、计数模块、类别数量比较器及投票结果输出模块;其中,
所述第二时钟控制器为同步时钟,用于控制计数模块、类别数量比较器及投票结果输出模块;
所述计数模块用于对各个分类模块得到的分类结果,按照类别进行计数;
所述类别数量比较器用于从计数模块得到的计数结果中找出数量最大值;
所述投票结果输出模块用于输出数量最大值所对应的分类类别。


2.如权利要求1所述的系统,其特征在于,对单条路径中的结点相“与”,对相同...

【专利技术属性】
技术研发人员:王虹飞李建文何琨
申请(专利权)人:华中科技大学深圳华中科技大学研究院
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1