#文献研读# 设备上的机器学习:一个算法与学习理论的角度

基于设备的机器学习:一个算法与学习理论的角度
【#文献研读# 设备上的机器学习:一个算法与学习理论的角度】摘要:目前在设备上使用机器学习模型的方式是在云中训练一个模型,并使用在设备上训练过的模型来执行推理 。然而,随着智能设备数量的增加和硬件的改进,人们对对设备进行模型训练很感兴趣 。鉴于这种兴趣的激增,从与设备无关的角度对该领域进行全面的调查,为理解最先进的技术和确定开放的挑战和未来的研究途径奠定了基础 。由于设备上学习是一个广阔的领域,与人工智能和机器学习中的大量相关主题(包括在线学习、模型适应、一/几样本学习等)有关 , 因此在一次调查中覆盖如此大量的主题是不切实际的 。相反,这项调查发现了一个中间地带,通过将设备上学习的问题重新定义为资源受限的学习,其中资源是计算和记忆的 。这种重新制定允许对来自各种研究领域的工具、技术和算法进行公平的比较 。除了总结最新的技术状况外 , 该调查还确定了在设备上学习的算法和理论方面所面临的一些挑战和下一步的步骤 。
1.前言
在设备上添加智能可以带来无缝体验,适合每个用户的特定需求matlab语言常用算法程序集,同时保持其个人数据的完整性 。目前制造这种智能设备的方法是基于云范例,即数据在设备级别收集并转移到云中 。一旦传输,这些数据就会与从其他设备收集的数据聚合,进行处理,并用于训练机器学习模型 。当训练完成后,所得到的模型被从云推回设备,在那里它被用来改善设备的智能行为 。在云范式中,所有发生在设备上的机器学习都是推理,即在云中训练的模型的执行 。这种分离的角色——数据收集和推理的边缘 , 数据处理和模型训练云是自然考虑到终端用户设备的形式因素和成本考虑,限制的计算能力和内存支持,以及他们消耗的能量 。
基于云的系统可以访问几乎无限的资源,并且只受到成本考虑的限制,这使得它们成为数据存储、数据处理和模型构建等资源密集型任务的理想选择 。然而,随着人工智能成为消费者生活中无处不在的一个方面,基于云计算的范式也存在一些缺点,这些缺点将变得更加明显 。主要考虑的是用户数据的隐私和安全性,因为这些数据需要传输到云并无限期地存储在那里 。用户数据的传输容易被干扰和捕获,而存储的数据也留下了未经授权的访问的可能性 。
除了隐私和安全问题,对智能设备的期望将是他们的行为是专门为每个消费者定制的 。然而,云训练的模型不那么个性化 , 因为它们是由从许多消费者聚合的数据构建的 , 而且每个模型都是它是针对广泛的用户群体而构建的 , 因为为每个消费者和每个设备构建单独的模型是成本高昂的 。这种去个性化也适用于联邦学习等分布式范式 , 这些范式通常倾向于改进基于平均单个模型[85]的全局模型 。
最后,支持人工智能的设备也将立即学习并响应新的场景,但基于云的训练速度缓慢,因为需要额外的时间从设备来回传输数据和模型 。目前,大多数用例都不需要实时的模型更新,而且数据收集和模型更新之间的长时间延迟并不是一个严重的缺点 。但是,随着智能行为变得普遍和预期,将需要实时更新 , 比如联网车辆和自动驾驶 。在这种情况下,长延迟变得站不住脚,并且需要对模型更新发生在本地而不是在云中的解决方案 。
可以通过将部分或全部模型开发转移到设备本身上来解决云模型的缺点 。模型训练,特别是在深度学习时代,往往是模型开发过程中最耗时的部分,使其成为加快设备模型开发的明显重点领域 。在设备上进行模型训练通常被称为边缘学习和设备上学习 。然而,我们区分了这些术语,在边缘学习作为一个广泛的概念,以表示不上传数据到云的实时或准实时学习的能力,而在设备上学习专门指的是在设备本身上进行模型训练的概念 。
1.1 设备上学习
边缘设备的定义 。在我们详细阐述设备上学习之前,在设备上学习的背景下 , 定义我们所说的设备 , 或者特别是边缘设备是很有帮助的 。我们将边缘设备定义为其计算、内存和能量资源受到限制且不能轻易增加或减少的设备 。这些约束可能是由于形式因素考虑(不可能添加更多的计算或内存或电池没有增加设备的大?。┗蛴捎诔杀究悸牵ㄓ凶愎坏目占涮砑右桓鯣PU洗衣机但这将增加其成本) 。边缘设备的这一定义适用于所有此类消费设备和工业设备,其中的资源限制限制了可用于构建和训练人工智能模型的内容甚至内部计算集群都不符合边缘定义 , 因为它很容易根据需要提供额外的资源 。同样地,工作站也不会被认为是一个边缘设备,因为它可以直接更换CPUmatlab语言常用算法程序集,增加更多的内存,甚至添加一个额外的GPU卡 。另一方面,一个标准的笔记本电脑将被认为是一种边缘设备,因为它不容易根据需要添加额外的资源 , 即使它们的资源通常远远超过通常认为在消费者边缘设备中可用的资源 。
在边缘设备上的训练模型 。在一个合理的时间框架内 , 在设备上训练模型的主要限制是在设备上缺乏计算和内存 。通过向设备添加更多资源 , 或者更有效地使用这些资源,或者两者结合 , 可以加快培训速度 。图1显示了这些方法可以应用的不同层次的高级细分 。这个层次结构中的每个级别都抽象了它以下级别的实现细节 , 并为它上面的级别提供了一个独立的接口 。
硬件-在层次结构的底部是执行所有学习算法的实际芯片组 。这一领域的基础研究旨在改进现有的芯片设计开发具有更多计算和内存,更低功耗和占用空间的芯片),或开发具有新架构的新设计,以加快模型训练 。虽然硬件研究是改善设备学习的一个富有成效的途径,但这是一个昂贵的过程,需要大量的资金支出来建立实验室和制造设施,而且通常需要很长的开发时间 。
库-每个机器学习算法都依赖于一些关键的操作(例如在神经网络的情况下的乘法加法) 。支持这些操作的库是将硬件与学习算法分开的接口 。这种分离允许不基于任何特定硬件体系结构的算法开发 。改进的库可以支持更快的算法执行和加速设备上的训练 。但是,这些库主要适合于执行操作的硬件的独特方面 。这种依赖关系限制了新库所能获得的改进量 。
算法——由于设备上的学习技术是基于其算法实现的,对新算法开发的研究是提高模型训练效率的一个重要组成部分 。这种算法的开发可以考虑到资源约束 , 作为模型训练过程的一部分 。算法的开发导致了硬件独立的技术,但每个算法的实际性能都特定于确切的领域、环境和硬件,需要对每个配置进行经验验证 。根据每个维度中可用的选项的数量,验证空间可能会变得非常大 。
理论——每一个学习算法都是基于一个潜在的理论,以保证其性能的某些方面 。开发针对边缘学习的新理论有助于我们理解算法在资源有限的环境下如何表现 。然而,虽然理论研究足够灵活,可以应用于各种算法和硬件系统 , 但由于这种研究的困难,需要实现算法的形式才能实现,它受到限制 。图2显示了边缘学习堆栈的不同层次的扩展层次视图,并突出显示了在不同层次上提高设备上的模型训练性能的不同方法 。硬件方法包括在设备的受限形式因素中添加额外的资源,或者开发更具资源效率的新架构 。改进模型训练的软件方法包括提高计算库的性能等如、Cuda、CuDNN或提高机器学习算法本身的性能 。最后,理论方法有助于指导对ML算法的新研究,并提高我们对现有技术的理解,以及它们对新问题、环境和硬件的通用性 。
1.2 本次调查范围
目前正在进行大量研究,主要是在学术界,从多个角度看待设备上的学习 , 包括单边与多边设备,硬件与软件与理论,以及应用领域,如医疗保健与消费设备与自动驾驶汽车 。鉴于这些领域的大量研究,重要的是将该调查限制在一个可管理的子集,针对设备上学习最重要的方面 。
我们首先将这个调查限制在图1中的算法和学习理论水平上 。这使我们能够专注于设备上学习的机器学习方面,并开发独立于特定硬件的新技术 。我们还将本次调查的范围限制在在单一设备上学习 。这一限制使调查的范围易于管理,同时也为扩展到分布式设置提供了基础 。此外 , 在正确的抽象级别上,分布式边缘系统可以被视为是一个具有额外资源集中的单个设备在通信延迟 。这种观点允许我们在以后的阶段将单个设备的算法和理论扩展到分布式框架中 。这次调查的目标是提供一个大规模的观点,在单个设备上的当前最先进的算法和理论进展的设备上学习 。为了实现这一目标 , 该调查将设备上的学习重新定义为资源受限的学习之一 。这种重新表述描述了使用计算和内存——两种资源——在设备上学习的效率,并为公平比较不同的机器学习和人工智能技术及其在设备上学习中的适用性提供了基础 。最后,本调查确定了设备上学习在算法和理论考虑方面的挑战,并为开发该领域未来的研究和发展提供了路线图所需的背景 。
1.3如何阅读这份调查报告
这项调查全面回顾了目前资源紧张设备的最先进的训练模式 。除引言和结论外 , 它被分为4个主要部分 。第2节简要介绍了这些资源及其与设备上学习的相关性 。第3节和第4节重点边缘平台层次结构的算法和理论层次 。最后 , 第5节提供了一个简要的总结,并确定了在设备学习健壮框架方面进展的各种挑战 。对于那些对设备上学习的特定方面感兴趣的人,第3部分和第4部分大多是独立的,可以单独阅读 。
设备上学习中的资源限制 。简要讨论了区分设备上学习与基于云的系统的相关资源 。图1中不同层次的大多数现有研究都是针对在这些资源的可用性有限时的设备上学习问题 。
算法 。研究解决了最近的算法发展,以准确地捕获软件框架中的硬件约束 , 然后调查了考虑到资源约束的机器学习算法的最先进水平 。本节从计算的角度(即所使用的底层计算模型)对算法进行分类 。
理论研究从统计学的角度讨论了设备上的学习,并调查了形成了第4节中提到的大多数算法设计基础的传统学习理论 。后来,它解决了资源约束环境中的“不可学习性”问题 , 并调查了较新的资源约束学习理论 。这些较新的理论将资源约束(即内存、处理速度等)抽象为信息瓶颈,并为资源约束设置下的学习提供了性能保证 。最后,第6节总结了前面的部分 , 并解决了设备上学习研究中的一些开放挑战 。
结论
到目前为止,设备上的学习仍然在学术研究人员的范围内,但随着智能设备数量的增加和硬件的改进,人们有兴趣在设备上而不是在云端进行学习 。在该行业,这种兴趣主要是由硬件制造商推动特定芯片组优化,以及初创公司提供某些利基领域的特别解决方案 , 主要是计算机视觉和物联网 。鉴于这种兴趣的激增和适合在设备上学习的边缘硬件的相应可用性,从算法和学习理论的角度对该领域的全面调查为理解最先进的技术和确定开放的挑战和未来的研究途径奠定了基础 。
模型适应、一/几样本学习、资源受限学习等等 。在一次调查中涵盖如此大量的研究主题是不切实际的,但与此同时 , 忽视在这些领域所做的工作,在任何方法比较中都留下明显的差距 。这项调查发现了一个中间地带,通过将设备上学习的问题重新定义为资源受限的学习,其中资源是计算和内存消耗 。这种重新制定允许对来自各种研究领域的工具、技术和算法进行公平的比较 。
我们将调查限制在单个设备上学习,即通过添加基于通信延迟的附加约束 , 所讨论的思想可以以正常的方式扩展到分布式设置 。我们还集中调查了设备上学习的算法和理论方面,而忽略了系统层面(硬件和库)的影响 。这个选择是经过深思熟虑的,并允许我们将设备上学习的算法方面从实现和硬件选择中分离开来 。这种区别也允许我们确定可以应用于各种系统的挑战和未来的研究 。
基于将设备上的学习重新表述为资源受限的学习 , 调查发现有许多领域需要更多的研究和开发 。在算法层面上,很明显,目前的努力主要是为了利用已经很轻量级的机器学习算法,或者以减少资源利用的方式限制现有的算法 。有许多挑战我们确定在算法空间包括需要解耦算法从硬件约束,设计有效的损失函数和指标捕获资源约束 , 扩展传统ML算法除了当前的工作,和处理的情况下资源预算是动态的,而不是静态的 。此外,还改进了模型分析的方法需要更准确地计算一个算法的资源消耗 。目前的这种测量方法是抽象的,专注于应用软件工程原理,如渐近分析或低级测量,如失败或mac(乘加计算) 。这两种方法都没有给出资源需求的整体概念,而且在许多情况下都不是系统在学习过程中所需的总资源的一部分 。
最后 , 目前资源约束算法学习理论的研究主要集中在资源约束下算法的不可学习性 。最自然的一步是识别出可以保证算法的可学习性和相关的估计误差的技术 。现有的理论技术也主要这些算法的空间(内存)复杂性,而不是它们的计算需求 。即使在可以确定满足资源约束的理想假设类的情况下,也需要进一步的工作来从该类中选择最优模型 。
本文到此结束 , 希望对大家有所帮助 。