[发明专利]并行处理机器学习决策树训练有效
申请号: | 201110443208.7 | 申请日: | 2011-12-14 |
公开(公告)号: | CN102566981A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | M·菲诺齐奥;R·E·摩尔;R·M·盖斯;J·肖顿 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06N5/00 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 处理 机器 学习 决策树 训练 | ||
技术领域
本发明涉及用于决策树训练的机器学习,更具体地,本发明涉及利用包括多个图形处理单位(GPU)的平行处理流水线来生成决策树。
背景技术
在机器学习中,决策树是资源密集处理的结果,通过决策树,计算系统处理非常大的示例集。这些示例被用于构建问题树,这些问题被用于最终在运行时对输入数据进行分类。通常,在决策树的训练期间使用的示例越多,运行时结果就越准确。习惯上,用于处理数百万至数十亿计的示例的方案将使用联网的基于中央处理单元(CPU)的计算设备的大规模群集。然而,这类方案是昂贵的并且容易受到不可靠性的影响。例如,要求额外的组件和连接以便将基于CPU的计算设备群集连网在一起,这创建了额外的可能故障的点。另外,由于基于CPU的计算设备群集通常被分布在不同区域,因此需要额外的劳力来维护这些群集,这增加了运行成本。
发明内容
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
此处所公开的各实施例涉及通过基于图形处理单元(GPU)的机器学习来生成决策树。例如,公开的一个实施例提供一种用于生成包括组织在多个层级中的多个节点的决策树。决策树由包括多个处理块的并行处理流水线来生成。每个处理块包括共享一个存储器块的多个图形处理单元(GPU)。此外,并行处理流水线的每个GPU共享一个全局存储器。该方法包括,对于决策树的每个层级:在并行处理流水线的每个GPU处对示例集中的每个示例执行针对特征集中的一个特征的特征测试。该方法还包括在每个存储器块处累积由共享存储器块的多个GPU处理的对每个示例执行的每个特征测试的结果。该方法还包括,将累积的结果从每个存储器块写入到全局存储器,以生成对于层级中的每个节点的特征的直方图,并且对于层级中的每个节点,根据直方图将具有最低熵的特征分配给该节点。
附图说明
图1示出了本公开的计算系统的一个实施例。
图2示出了包括用于决策树训练的多个分层对象平面的深度图的示例。
图3显示了用于累积特征测试结果的非未优化策略的示例。
图4显示了用于累积特征测试结果的优化策略的示例。
图5显示了用于生成决策树的方法的实施例。
图6显示了用于增强示例集的信号强度以降低决策树中的特征的熵的方法的实施例。
具体实施方式
本描述涉及用于决策树训练的机器学习。更具体地,本描述涉及利用包括多个图形处理单元(GPU)的并行处理流水线来生成决策树。例如,较繁重的操作或集中占用大部分时间用于机器学习的操作可由并行处理流水线并行执行。此外,具有诸如从同一图像中选择的像素之类的共享的属性的示例可由并行处理流水线的处理块内的GPU并行处理,以便利用被处理块的各GPU共享的本地存储器。具体来说,在将累积的结果写入全局存储器之前,对各示例执行的特征测试的结果可被累积在本地化的存储器中。通过在将累积的结果写入较慢的全局存储器之前将特征测试结果累积在较快的本地存储器中,可减少若干全局存储器写入操作。相应地,决策树训练时间可被显著地缩短。
此外,在一些应用中,基于GPU的并行处理流水线可被实现在本地化的或非分布式的平台中,该平台允许单个机器以一小部分的成本并以比分布式的基于CPU的计算设备群集更高的稳定性来执行决策树训练。在一个特定示例中,决策树训练在单个相对不昂贵的机器上执行,而不是在远程数据中心中的大规模的昂贵的机器群集上执行,因为后者在存在问题时非常难以调试。然而,可以理解的是,一个或多个基于GPU的并行处理流水线可被实现在分布式或联网的设备群集配置中,而不违背本公开的范围。
图1示意性地显示了可被配置成执行机器学习操作以生成或训练决策树的计算系统100的实施例。以简化形式示出了计算系统100。在一个示例中,计算系统100使用统一计算设备架构(CUDA)。然而,可以理解,可使用其他计算机架构而不背离本发明的范围。在不同实施例中,计算系统100可采用大型计算机、服务器计算机、桌面计算机等的形式。
计算系统100可包括逻辑子系统102、数据保持子系统104、显示子系统106和输入子系统108。计算系统100可任选地包括未在图1中示出的其它组件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110443208.7/2.html,转载请声明来源钻瓜专利网。