精选博客系列|将基于决策树的Ensemble方法用于边缘计算
在即将到来的边缘计算时代,越来越需要边缘设备执行本地快速训练和分类的能力。事实上,无论是手机上的健康应用程序、冰箱上的传感器还是扫地机器人上的摄像头,由于许多原因,例如需要快速响应时间、增强安全性、数据隐私,甚至考虑到盈利能力,通常都需要进行本地计算。
无论是以什么方式进行机器学习,对于此类设备来说,具有异构性、有限的连接和有限的硬件资源是一个持续存在的、我们必须解决的挑战。事实上,人们经常面临着矛盾的需求,边缘设备必须在本地执行大量的计算、存储和通信,同时还要遵守如有限的内存、网络连接和计算的资源限制。这通常是由于时间或功率限制以及增加的数据和可用信息量。
这里,我们重点讨论利用基于决策树的Ensemble方法进行计算和内存高效的本地(即设备上)训练和分类,这是处理表格数据的实际标准。
基于决策树的Ensemble方法
事实上,基于树的Ensemble方法,例如随机森林(RF)和XGBoost,由于其健壮性、易用性和泛化性,经常用于对表格数据进行分类。反过来,分类任务通常用作许多应用域中的子例程,例如金融、欺诈检测、医疗保健和入侵检测。因此,这种方法的效率和精度与效用之间的权衡至关重要。
让我们特别关注随机森林和XGBoost,并了解它们的优势:
随机森林可以说是最流行的bagging方法,它使用数据的随机子样本来生长每个决策树,从而生成不同且弱相关的树。然后,使用多数票确定分类。随机森林有几个优点,包括健壮性、快速训练、处理不平衡数据集的能力、嵌入式特征选择、处理缺失的、分类的和连续的特征,以及高级人工分析或法规要求的、任何时候的可解释性。
XGBoost是一种著名且流行的boosting算法,它在每次迭代时都会生成一个小的决策树(例如,具有8–32个终端节点)。每个这样的树都是为了减少以前树的错误分类。XGBoost分享了随机森林的大部分优点,并且由于其可控偏差,通常可以实现更高的精度。
然而,这些方法也带来了一些与资源相关的缺点:
随机森林往往受内存限制,分类速度较慢。此外,由于随机森林占用大量内存,因此通常无法部署在内存有限的边缘设备上,而这些设备通常需要执行分类任务。
XGBoost模型通常比随机森林需要更少的内存,但它们是计算密集型的,导致训练速度较慢。
我们解决了随机森林和XGBoost的资源消耗缺点。特别的是,我们引入了一种新的混合方法,该方法继承了bagging和boosting方法的良好特性,具有可比较的机器学习性能,同时大大提高了资源效率。
数据集中的冗余
众所周知,机器学习模型的资源消耗与用于训练的数据集的大小高度相关。因此,减少数据集大小是可取的。因此,我们想提出以下问题:
数据集中的所有数据实例对于基于树的ensemble模型的训练是否同样重要?
如果没有,我们应该如何在训练期间区分数据实例以节省资源?这将如何影响分类?
事实上,数据集通常包含许多简单的(例如90%)数据实例,因为它们很容易识别,因此很容易分类;以及罕见或更独特的数据实例,因此更难分类。
直观地说,如果在培训之前可以进行这种区分,那么应该能够利用这些知识来节省资源,而不会对准确性产生重大影响。其中一个想法是在培训期间使用较少的“简单”数据实例。面临的挑战是如何制定这样的计划,并以有效的方式这样做。
RADE–资源高效的异常检测模型
数据集只有两个类,其中大多数实例是正常的或良性的(例如99%)。
RADE以以下方式利用上述观察结果:它首先使用整个数据集构建一个小(粗粒度)模型。然后,它使用该模型对用于训练的所有数据实例进行分类。正确分类且具有高度可信度的实例被标记为简单实例(通常是大多数正常实例),而所有其他实例都被标记为困难实例(通常为大多数异常实例)。
如图所示,RADE引入了一种高级体系结构,只要粗粒度模型及其分类提供了有意义的分类置信水平,就可以与不同的分类模型一起使用。
直观地说,由于粗粒度模型足以正确分类简单的查询,所以我们只剩下困难查询。利用这些,我们构建了两个专家(细粒度)模型,用于处理与粗粒度模型的分类结果有关的两种不同情况:细粒度模型1负责(低置信度)正常分类和细粒度模型2用于(低置信度)异常分类。这些模型可能具有比粗粒度模型更大的内存占用需求,但明显低于基于整体的树模型。
训练效率
如前所述,RADE分两个阶段进行训练。首先,使用整个数据集训练粗粒度模型。由于我们使用的是一个小模型,所以这个训练阶段相对较快。然后,我们使用粗粒度模型对整个训练数据集进行分类,并根据所得到的分类和置信度,生成两个数据子集用于训练细粒度模型。由于我们只使用训练数据的子集(例如10%)训练每个细粒度模型,所以这个训练阶段也相对较快。
分类效率
RADE的分类也有两个阶段。首先,根据粗粒度模型对实例进行分类。如果得到的分类置信度较高(例如0.9),则完成分类。否则,根据粗粒度模型分类结果,由其中一个细粒度模型转发查询以进行重新分类。这意味着RADE的分类时间等于仅由粗粒度模型提供服务的分类,以及由粗粒度和细粒度模型提供的分类时间的加权平均值。直觉上,因为目的是为了只通过粗粒度模型(例如90%)服务大多数查询,平均分类时间预计将比标准的整体模型显著改进。
Duet–资源高效的多类分类模型
RADE是为二进制分类设计的,因此使用两个细粒度模型。就多类分类用例而言,扩展RADE的体系结构并不是一个可扩展的解决方案,因为它需要K类的K个细粒度模型,因此需要一个新的体系结构。
为此,我们开发了Duet。Duet遵循RADE的原则,即使用粗粒度模型,该模型在整个数据集上经过训练,并对简单的查询进行分类。然而,与RADE不同,Duet只使用单个细粒度分类器,该分类器在训练数据集的子集上进行训练,并对困难(低置信度)查询进行分类。
Duet的高级体系结构如图所示。从本质上讲,它使用了两个分类器:一个小型bagging分类器(随机森林),提供有意义的分类置信度、受控方差和内存限制,另一个boosting分类器(XGBoost),提供受控偏差和计算限制。总的来说,与单例分类器相比,Duet引入了一种不同且通常更好的系统/机器学习性能的权衡。
Duet的主要问题是如何确定boosting分类器的训练数据子集。
在这种情况下,使用RADE中的置信度指标是不够的,因为我们有一个多维问题。因此,我们使用类概率分布向量(通过粗粒度模型)来确定实例对训练过程的重要性。
对于六个类别的分类任务,考虑两个具有相同(第一)分类置信度的分类结果。第一个在两个类别上的概率(几乎)相等(例如[0.5,0.5,0,0,0,0]),第二个在正确类别上概率较高,而在所有剩余类别上概率低得多(例如[0.5,0.1,0.1,0.1,0.1,0.1])。显然,第一个查询比较困难,可能更有利于增强分类器的训练。
为了捕获此属性,我们定义了一个新的度量标准–可预测性这是由欧几里得距离函数给出的,该函数测量得到的类概率分布向量相对于实例的真实标签与完美分布向量之间的距离。完美分布向量在正确标签(即类)中的概率应为1。
请注意,可预测性是训练过的bagging分类器和训练数据集的具体度量,因此是Duet训练过程中的一个集成步骤。此外,使用可预测性不同于仅依赖于数据集属性的采样方法(例如,分层采样,它保留了每个类的实例百分比)。
进一步的潜力
上述设计原则可能适用于其他机器学习领域。虽然Duet主要使用可预测性度量来降低训练和分类过程的计算成本,但可以使用可预测度度量来减少训练数据集的大小,从而降低存储和通信成本。
此外,RADE和Duet还可能适用于分布式学习。例如,参与方可以联合训练一个粗粒度模型,然后使用该模型从本地数据集中选择子集,最后使用这些子集训练全局细粒度模型。
这里的挑战是确定参与方选择其子集的标准。例如,一种高级方法是使用安全计算来收集有关全局训练数据的一些统计信息。这样的统计数据可能会使每个参与者选择更好的子集,总的来说,对于细粒度模型的分布式训练,这样有更高的训练价值。
内容来源|公众号:VMware 中国研发中心

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
高峰对话|深度探讨「多云与边缘」
2022年12月,分析师Zeus Kerravala与VMware通信运营商和边缘事业部高级副总裁兼总经理Sanjay Uppal进行非常有启发性的谈话,分享了科技行业领导者的见解。 二位主要围绕以下主题进行探讨: 📍 如何定义多云,以及优化其所必需的抽象层 📍 什么是现代边缘、扩展它的挑战、以及边缘基础设施真正获得吸引力的头两个垂直领域 📍 为什么“我收缩了栈”描述了边缘基础设施的未来 对话实录要点 1.如何定义多云,以及优化其所必需的抽象层? Sanjay:我是做边缘的人。边缘可能是运行5G的地方,可能是在分支办公室、石油钻井平台、百货商店,甚至是警车后座。提高网络弹性、提高5G网络运行安全性或运行计算的基础设施——所有这些都是VMware定义的边缘。 Zeus:从某种意义上说,从根本上讲VMware一直是一家推动了计算发展极限的“边缘公司”。边缘和多云这两个术语被广泛使用,并且它们往往根据与之交流的供应商有不同的定义。从你的角度来看,你如何定义什么是多云? Sanjay:在过去的18到24个月里,“多云”这个词被广泛使用。对于VMware来说,这是一个由外而内的过程。我们...
- 下一篇
精选博客系列|加速基于同态加密的隐私保护机器学习
随着机器学习在当今的企业和软件平台中的广泛使用,跨人工智能 (AI) 平台的隐私保护技术的解决方案也显得非常重要。虽然这个想法在今天看起来很明显,但人工智能研究社区历来更专注于打破数据孤岛的界限,并将数据从一个孤岛匹配到另一个孤岛,以此发掘以前未被发现的数据价值。 随着人工智能领域的成熟,很显然,如果不保护私人数据,我们很可能会将我们的数据源暴露在潜在的漏洞中,而引发难以预料的后果。今天,人工智能行业已经通过与密码学家密切的合作来应对和解决人工智能技术的这一关键难题。有一种使隐私数据不公开的解决方法,即在加密的情况下进行数据计算,它被称为同态加密。 什么是同态加密? 同态加密(HE)属于一类用于隐私保护计算的高级加密技术。它允许对加密数据进行计算,而无需解密,只允许授权方解密计算结果。这种独特的加密技术允许数据在静态、传输和计算过程中保持加密状态。自 1970 年代后期以来,人们一直在寻求对加密数据进行任意计算的办法,直到 2009 年,Craig Gentry首次描述了全同态加密(FHE)的构建方案。这一突破最终使加密执行任意计算成为可能。 同态加密(HE)可分为三大类: 1.完全同...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- 2048小游戏-低调大师作品
- CentOS6,7,8上安装Nginx,支持https2.0的开启