用于深度学习模型的分布式训练的系统和方法技术方案

技术编号:22174526 阅读:64 留言:0更新日期:2019-09-21 15:11
公开了用于深度学习模型的分布式训练的系统和方法。用于训练深度学习模型的示例本地设备包括:参考生成器,用于标记在本地设备处接收的输入数据以生成训练数据;训练器,用于训练局部深度学习模型以及将局部深度学习模型发送到服务器,该服务器从多个本地设备接收多个局部深度学习模型,服务器用于确定用于全局深度学习模型的一组权重,以及更新器,用于基于从服务器接收的一组权重来更新局部深度学习模型。

System and Method of Distributed Training for Deep Learning Model

【技术实现步骤摘要】
【国外来华专利技术】用于深度学习模型的分布式训练的系统和方法相关申请本申请要求美国临时专利申请序列号62/377、094的于2016年8月19日提交的题为“SystemsandMethodsforDistributedTrainingofDeepLearningModels”的权益。美国临时专利申请序列号62/377、094的全部内容通过引用并入本文。
本申请一般涉及机器学习,并且更具体地涉及用于深度学习模型的分布式训练的系统和方法。
技术介绍
深度学习是机器学习的一个分支,它在许多应用中提供最先进的性能,包括计算机视觉、语音处理、自然语言处理和音频识别。深度学习使用类似于大脑中神经元的结构的计算模型。特别地,深度学习的计算模型(下文称为深度学习模型)使用“人工神经元”层来对计算模型的期望功能进行建模。每个人工神经元与一个或多个权重相关联,当人工神经元在聚合体中操作时,可以调整(例如,训练)这些权重以提供期望的功能。可以使用训练数据来训练深度学习模型中的权重。训练数据可以包括输入数据和与输入数据相关联的标记。可以以这样的方式训练(或确定)深度学习模型中的权重:当深度学习模型接收输入数据时,深度学习模型输出对应于输入数据的标记。附图说明当结合以下附图考虑时,参考以下对所公开主题的详细描述,可以更全面地理解所公开的主题的各种目的、特征和优点,其中相同的附图标记表示相同的元件。图1是根据一些实施例的包括主机服务器和多个本地设备的示例分布式深度学习训练平台的框图。图2是根据一些实施例的本地设备的示例实现的框图。图3是表示机器可读指令的流程图,该机器可读指令可以被执行以实现图1和/或图2的本地设备和主机服务器。图4-图5是根据一些实施例的本地设备的示例实现的框图图6示出了根据一些实施例的用于图1的操作者控制台的用户界面的示例布局。。图7示出了根据一些实施例的由图1的本地设备和主机服务器支持的示例应用编程接口(API)。图8-图9是被构造以执行图3的指令以实现图1和/或图2的本地设备和主机服务器的示例处理平台的框图。具体实施方式在以下描述中,阐述了关于所公开的主题的系统和方法以及这些系统和方法可以在其中操作的环境等的许多具体细节,以便提供对所公开的主题的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践所公开的主题,并且没有详细描述本领域公知的某些特征以避免使所公开的主题复杂化。另外,应当理解,下面提供的实施例是示例,并且预期存在在所公开的主题的范围内的其他系统和方法。深度学习中的挑战中的一项是训练深度学习模型中的权重。深度学习模型中的权重通常使用集中式深度学习训练平台进行训练。集中式深度学习训练平台包括主机服务器和多个本地设备。每个本地设备可以收集输入数据并将输入数据发送到主机服务器。主机服务器可以聚合从每个本地设备接收的输入数据,通过将期望的标记与聚合的输入数据相关联来从聚合的输入数据创建训练数据集,并且使用训练数据集来训练深度学习模型(例如,深度学习模型的权重)。不幸的是,集中式深度学习训练平台是计算上昂贵的,特别是当训练数据集很大时,因为它难以确定并关联用于训练数据集中的输入数据的正确标记。这种大规模的标记工作仅对具有大量资源的实体是现实的。此外,集中式深度学习训练平台需要大量数据通信带宽,因为主机服务器必须从大量本地设备接收大量输入数据。此外,集中式深度学习训练平台易于受到隐私妥协,因为本地设备必须与主机服务器共享原始输入数据,而原始输入数据可包括私人信息。为了利用集中式训练解决这些问题,本文公开的系统和方法提供用于训练深度学习模型的分布式训练平台。示例分布式训练平台包括主机服务器和多个本地设备。多个本地设备中的每一个被配置为接收输入数据。与集中式方法相反,分布式系统中的每个示例本地设备被配置为在局部标记输入数据以创建局部训练数据集,并使用局部训练数据集来训练局部深度学习模型。由于训练数据集是在本地设备处局部创建的,因此主机服务器不需要确定标记并将其与大量输入数据相关联。因此,主机服务器从创建大型训练数据集的计算上昂贵的过程中解脱出来。一旦训练了局部深度学习模型(例如,确定了局部深度学习模型的权重),每个本地设备就可以将其局部深度学习模型的权重发送到主机服务器。这与本地设备将原始输入数据发送到主机服务器的集中式方法形成对比。由于输入数据本身不会被发送到主机服务器,因此本地设备不会被迫共享在输入数据中的私人信息,从而降低了隐私泄露的可能性。当主机服务器从本地设备接收权重时,主机服务器可以聚合权重以确定聚合的权重。如果主机服务器使用本地设备使用的所有训练数据集训练深度学习模型,则聚合的权重近似于已获得的深度学习模型的权重。通过利用由本地设备对权重的分布式计算,主机服务器可以确定深度学习模型的近似的权重,而无需自身实际训练深度学习模型。从某种意义上说,主机服务器以众包的方式从本地设备中进行对深度学习模型的训练。在一些示例中,所公开的分布式训练平台是有益的,因为(1)它允许主机服务器学习深度学习模型,其考虑所有可用信息(例如,训练数据)并将全局学习的深度学习模型提供给本地设备,以及(2)它允许本地设备采用全局学习的深度学习模型,并调整它以考虑任何局部变化。因此,所公开的分布式训练平台为“全局训练,适应局部化”提供了深度学习范例。在一些实施例中,分布式深度学习训练平台可用于训练用于自动白平衡的深度学习模型或用于处理主要原始输入图像的其他图像处理系统。在其他实施例中,分布式深度学习训练平台可用于训练深度学习模型,以用于使用加速度计输入信号来检测运动的状态(例如,在休息、行走或跑步时)。在其他实施例中,分布式深度学习训练平台可用于训练深度学习模型,以用于检测音频命令或事件。可替换地,所公开的深度学习训练平台可以用于期望机器学习的任何任务。图1是根据一些实施例的示例分布式深度学习训练平台100的框图。示例平台100包括经由示例网络106与示例主机服务器104通信地耦合的多个示例本地设备102。根据所示示例,主机服务器104与示例操作者终端108耦合以允许操作者控制主机服务器104的操作。为清楚起见,在整个本公开中,参考单个本地设备102,其可以代表多个本地设备102中的一个或多个。示例本地设备102是如下计算设备,其接收输入数据、训练局部深度学习模型,并将局部深度学习模型(或其特性)发送到主机服务器。根据所示的示例,输入数据直接在第一本地设备处接收而不通过示例主机服务器104。如本文所使用的,声明在本地设备102处直接接收输入数据被定义为表示直接从数据源接收数据或者间接从数据源接收数据,其中数据不通过正在执行深度学习训练的主机服务器(例如,主机服务器104)。在一些示例中,可以从本地设备102的传感器(例如,测量设备、数据输入、数据收集器、接受用户输入的用户界面等)接收输入数据,可以从这样的传感器接收输入数据,该传感器通信地耦合(例如,直接耦合到本地设备,经由一个或多个中间设备(例如,除主机服务器104之外的中间设备)等)耦合到本地设备102等。结合图2更详细地描述示例设备102。示例主机服务器104聚合从多个本地设备102接收的局部深度学习模型数据,并将聚合的结果分发回多个本地设备102本文档来自技高网...

【技术保护点】
1.一种用于训练深度学习模型的本地设备,所述本地设备包括:参考生成器,其用于标记在所述本地设备处接收的输入数据以生成训练数据;训练器,其用于训练局部深度学习模型并且用于将所述局部深度学习模型发送到服务器,所述服务器用于从多个本地设备接收多个局部深度学习模型,所述服务器用于确定用于全局深度学习模型的一组权重;以及更新器,其用于基于从所述服务器接收的所述一组权重来更新所述局部深度学习模型。

【技术特征摘要】
【国外来华专利技术】2016.08.19 US 62/377,0941.一种用于训练深度学习模型的本地设备,所述本地设备包括:参考生成器,其用于标记在所述本地设备处接收的输入数据以生成训练数据;训练器,其用于训练局部深度学习模型并且用于将所述局部深度学习模型发送到服务器,所述服务器用于从多个本地设备接收多个局部深度学习模型,所述服务器用于确定用于全局深度学习模型的一组权重;以及更新器,其用于基于从所述服务器接收的所述一组权重来更新所述局部深度学习模型。2.如权利要求1所述的本地设备,还包括数据接收器,其用于直接在所述本地设备处接收所述输入数据。3.如权利要求2所述的本地设备,其中,所述输入数据不通过所述服务器。4.如权利要求2所述的本地设备,其中,所述本地设备包括用于收集所述输入数据的传感器。5.如权利要求2所述的本地设备,其中,所述数据接收器通信地耦合到传感器,所述传感器收集所述输入数据并且将所述输入数据发送到所述本地设备。6.如权利要求1所述的本地设备,其中,所述本地设备不将所述输入数据发送到所述服务器。7.如权利要求1所述的本地设备,其中,所述一组权重是基于来自所述多个本地设备的所述多个局部深度学习模型的聚合的权重。8.如权利要求1-7中的一项所述的本地设备,还包括采样控制器,其用于对所述输入数据进行采样。9.如权利要求8所述的本地设备,其中,所述采样控制器用于通过选择所述输入数据的伪随机部分来对所述输入数据进行采样。10.如权利要求8所述的本地设备,其中,所述采样控制器用于通过对所述输入数据进行下采样以减小所述输入数据的数据大小来对所述输入数据进行采样。11.如权利要求1-7中的一项所述的本地设备,其中,所述训练器还用于确定由所述标记确定的标记与所述局部深度学习模型的输出之间的差异。12.如权利要求11所述的本地设备,还包括采样控制器,其用于在所述训练器确定所述差异之前对所述局部深度学习模型的输出进行采样。13.如权利要求11所述的本地设备,其中,所述训练器还用于基于所述差异来调整所述局部深度学习模型。14.一种包括指令的非暂时性计算机可读介质,所述指令在被执行时,使得本地设备至少用于:标记在所述本地设备处接收的输入数据以生成训练数据;训练局部深度学习模型;将所述局部深度学习模型发送到服务器,所述服务器用于从多个本地设备接收多个局部深度学习模型,所述服务器用于确定用于全局深度学习模型的一组权重;以及基于从所述服务器接收的所述一组权重来更新所述局部深度学习模型。15.如权利要求14所述的非暂时性计算机可读介质,其中,所述输入数据是直接在所述本地设备处接收的。16.如权利要求15所述的非暂时性计算机可读介质,其中,所述输入数据不通过所述服务器。17.如权利要求15所述的非暂时性计算机可读介质,其中,所述本地设备包括用于收集所述输入数据的传感器。18.如权利要求15所述的非暂时性计算机可读介质,其中,所述本地设备通信地耦合到传感器,所述传感器收集所述输入数据并且将所述输入数据发送到所述本地设备。19.如权利要求14所述的非暂时性计算机可读介质,其中,所述输入数据不被发送到所述服务器。20.如权利要求14所述的非暂时性计算机可读介质,其中,所述一组权重是基于来自所述多个本地设备的所述多个局部深度学习模型的聚合的权重。21.如权利要求14-20中的一项所述的非暂时性计算机可读介质,其中,所述指令在被执行时,使所述本地设备用于对所述输入数据进行采样。22.如权利要求21所述的非暂时性计算机可读介质,其中,所述指令在被执行时,使所述本地设备用于通过选择所述输入数据的伪随机部分来对所述输入数据进行采样。23.如权利要求21所述的非暂时性计算机可读介质,其中,所述指令在被执行时,使所述本地设备用于通过对所述输入数据进行下采样以减小所述输入数据的数据大小来对所述输入数据进行采样。24.如权利要求14-20中的一项所述的非暂时性计算机可读介质,其中,所述指令在被执行时,使所述本地设备用于确定由所述标记确定的标记与所述局部深度学习模型的输出之间的差异。25.如权利要求24所述的非暂时性计算机可读介质,其中,所述指令在被执行时,使所述本地设备用于在所述本地设备确定所述差异之前对所述局部深度学习模型的输出进行采样。26.如权利要求24所述的非暂时性计算机可读介质,其中,所述指令在被执行时,使所述本地设备用于基于所述差异来调整所述局部深度学习模型。27.一种用于训练深度学习模型的方法,所述方法包括:通过利用在本地设备处的至少一个处理器执行指令,来标记在所述本地设备处接收的输入数据以生成训练数据;通过利用所述至少一个处理器执行指令,来训练局部深度学习模型;将所述局部深度学习模型发送到服务器,所述服务器用于从多个本地设备接收多个局部深度学习模型,所述服务器用于确定用于全局深度学习模型的一组权重;以及通过利用在所述本地设备处的所述至少一个处理器执行指令,来基于从所述服务器接收的所述一组权重来更新所述局部深度学习模型。28.如权利要求27所述的方法,其中,所述输入数据是直接在所述本地设备处接收的。29.如权利要求28所述的方法,其中,所述输入数据不通过所述服务器。30.如权利要求28所述的方法,其中,所述本地设备...

【专利技术属性】
技术研发人员:D·莫洛尼
申请(专利权)人:莫维迪乌斯有限公司
类型:发明
国别省市:荷兰,NL

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

1