CN107688493A - 训练深度神经网络的方法、装置及系统 - Google Patents

训练深度神经网络的方法、装置及系统 Download PDF

Info

Publication number
CN107688493A
CN107688493A CN201610641310.0A CN201610641310A CN107688493A CN 107688493 A CN107688493 A CN 107688493A CN 201610641310 A CN201610641310 A CN 201610641310A CN 107688493 A CN107688493 A CN 107688493A
Authority
CN
China
Prior art keywords
training
parameter
computing node
neural network
samples
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610641310.0A
Other languages
English (en)
Other versions
CN107688493B (zh
Inventor
张斌
黄�俊
刘忠义
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Network Technology Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610641310.0A priority Critical patent/CN107688493B/zh
Publication of CN107688493A publication Critical patent/CN107688493A/zh
Application granted granted Critical
Publication of CN107688493B publication Critical patent/CN107688493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种训练深度神经网络的方法、装置及系统,涉及互联网技术领域,为解决深度神经网络训练效率低下的问题而发明。本发明的方法包括:交互平台根据深度神经网络的映射层数量激活同等数量的参数服务器,基于训练样本的样本数量激活特定数量的计算节点,并将训练样本发送给计算节点;计算节点基于各自获得的训练样本集合分别对参数服务器对应的映射层进行训练,将获得的训练参数发送给参数服务器;参数服务器将不同计算节点发送的训练参数进行合并,获得更新后的训练参数,并将更新后的训练参数发送给对应的计算节点。本发明主要应用于大数据环境下的深度神经网络训练过程中。

Description

训练深度神经网络的方法、装置及系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种训练深度神经网络的方法、装置及系统。
背景技术
深度学习是机器学习研究中的一个新领域,其目的在于模拟人脑对数据进行分析的学习过程,通过模仿人脑认知的机制来解释数据。深度神经网络是一种由多个映射层逐级排列组成的网络模型结构,其中每个映射层包含一对彼此对应的显层及隐层结构,用以对低层数据进行特征提炼以获得高层表示的数据属性或类别。由于深度神经网络可以学习数据特征之间的组合关系、聚合生成高层次的语义特征,因此近年来其已经在图像检测、语音识别、文本分类等方面得到了很好的验证和实践。
构建深度神经网络的重点在于训练过程,即使用大量的样本数据作为深度神经网络的输入,对深度神经网络进行有监督式的训练或无监督式的训练。在训练过程中,样本数据进入深度神经网络的输入层,成为首个映射层中显层的输入。在该映射层中,显层神经元建立与隐层神经元之间的映射关系,获得映射权重,完成本层中的特征抽象,然后将该映射层隐层的输出作为下一个映射层显层的输入,继续进行下一映射层的映射关系建立。可以看出,训练过程的本质在于获得每一级映射层中显层神经元到隐层神经元的映射权重,这个过程在业内也被称作为生成训练参数。
在现有训练深度神经网络的过程中,发明人发现:随着网络信息的几何式增长,现实需求对深度神经网络的“认知”广度和深度不断提出更高的要求,这就需要使用越来越多的样本数据对深度神经网络进行训练,例如谷歌的阿尔法围棋程序(AlphaGo)就需要以百万甚至千万数量级的棋谱进行训练。但是基于大量数据的网络训练过程会大大增加训练耗时,使得网络训练的时效性无法得到保障。因此如何在大数据背景下提高深度神经网络的训练效率,就成为摆在技术人员面前的一道难题。
发明内容
本发明提供了一种训练深度神经网络的方法、装置及系统,能够解决深度神经网络训练效率低下的问题。
为解决上述问题,第一方面,本发明提供了一种训练深度神经网络的系统,该系统包括:计算节点、参数服务器以及交互平台,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点;
交互平台,用于根据深度神经网络的映射层数量激活同等数量的参数服务器,基于训练样本的样本数量激活特定数量的计算节点,并将训练样本发送给计算节点;
计算节点,用于基于各自获得的训练样本集合分别对参数服务器对应的映射层进行训练,将获得的训练参数发送给参数服务器,其中训练样本集合由训练样本切片获得;
参数服务器,用于将不同计算节点发送的训练参数进行合并,获得更新后的训练参数,并将更新后的训练参数发送给对应的计算节点。
第二方面,本发明还提供了一种训练深度神经网络的方法,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,该方法包括:
交互平台根据深度神经网络的映射层数量激活同等数量的参数服务器;
基于训练样本的样本数量激活特定数量的计算节点;
将训练样本发送给计算节点,以使得各个计算节点基于对训练样本切片后获得的训练样本集合分别对对应的映射层进行训练,并将获得的训练参数发送给对应的参数服务器进行更新。
第三方面,本发明还提供了一种训练深度神经网络的方法,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,该方法包括:
计算节点接收训练样本集合;
基于训练样本集合对参数服务器对应的映射层进行训练;
将获得的训练参数发送给与映射层对应的参数服务器,以使得参数服务器将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数;
接收参数服务器发送的更新后的训练参数。
第四方面,本发明还提供了一种训练深度神经网络的方法,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,该方法包括:
参数服务器接收计算节点发送的训练参数,训练参数为计算节点基于分配的训练样本集合对参数服务器对应的映射层进行训练得到的训练参数;
将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数;
将更新后的训练参数发送给计算节点。
第五方面,本发明还提供了一种训练深度神经网络的装置,该装置位于交互平台侧,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,该装置包括:
激活单元,用于根据深度神经网络的映射层数量激活同等数量的参数服务器;
激活单元,还用于基于训练样本的样本数量激活特定数量的计算节点;
发送单元,用于将训练样本发送给计算节点,以使得各个计算节点基于对训练样本切片后获得的训练样本集合分别对对应的映射层进行训练,并将获得的训练参数发送给对应的参数服务器进行更新。
第六方面,本发明还提供了一种训练深度神经网络的装置,该装置位于计算节点侧,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,该装置包括:
接收单元,用于接收训练样本集合;
计算单元,用于基于训练样本集合对参数服务器对应的映射层进行训练;
发送单元,用于将获得的训练参数发送给与映射层对应的参数服务器,以使得参数服务器将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数;
接收单元,还用于接收参数服务器发送的更新后的训练参数。
第七方面,本发明还提供了一种训练深度神经网络的装置,该装置位于参数服务器侧,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,该装置包括:
接收单元,用于接收计算节点发送的训练参数,训练参数为计算节点基于分配的训练样本集合对参数服务器对应的映射层进行训练得到的训练参数;
参数更新单元,用于将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数;
发送单元,用于将更新后的训练参数发送给计算节点。
本发明提供的训练深度神经网络的方法、装置及系统,能够为深度神经网络的每个映射层配置一个参数服务器,每个参数服务器对应至少一个用于训练该参数服务器对应的映射层的计算节点。在进行网络训练时,将训练样本切分为训练样本集合,通过计算节点分别进行训练,并在训练后将训练参数上报给对应的参数服务器。在接收到某个计算节点上报的训练参数后,参数服务器将其与其他计算节点上报的训练参数进行合并,以获得综合所有训练样本的训练结果。与现有技术中基于单一节点训练深度神经网络相比,本发明能够在不影响训练效果的基础上大大缩短深度神经网络的训练时间,提高深度神经网络的训练效率,尤其适用于大数据环境下的深度神经网络训练。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的第一种训练深度神经网络的系统示意图;
图2示出了本发明实施例提供的第二种训练深度神经网络的系统示意图;
图3示出了本发明实施例提供的第三种训练深度神经网络的系统示意图;
图4示出了本发明实施例提供的第一种训练深度神经网络的方法流程图;
图5示出了本发明实施例提供的第二种训练深度神经网络的方法流程图;
图6示出了本发明实施例提供的一种上报及更新训练参数的示意图;
图7示出了本发明实施例提供的第三种训练深度神经网络的方法流程图;
图8示出了本发明实施例提供的第四种训练深度神经网络的方法流程图;
图9示出了本发明实施例提供的第五种训练深度神经网络的方法流程图;
图10示出了本发明实施例提供的第一种训练深度置信网络的系统示意图;
图11示出了本发明实施例提供的第二种训练深度置信网络的系统示意图;
图12示出了本发明实施例提供的第一种训练深度神经网络的装置的组成框图;
图13示出了本发明实施例提供的第二种训练深度神经网络的装置的组成框图;
图14示出了本发明实施例提供的第三种训练深度神经网络的装置的组成框图;
图15示出了本发明实施例提供的第四种训练深度神经网络的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为便于理解本发明方案涉及的网络架构,首先对本发明实施例提供的训练深度神经网络的系统进行介绍。如图1所示,该系统包括:计算节点101、参数服务器102以及交互平台103。深度神经网络的每个映射层的训练参数对应由一个参数服务器102存储,每个参数服务器102对应至少一个计算节点101。其中,
交互平台103包括如后续图15或图16所示的装置,用于根据深度神经网络的映射层数量激活同等数量的参数服务器102,基于训练样本的样本数量激活特定数量的计算节点101,并将训练样本发送给所述计算节点101。此外,交互平台103还用于向用户提供人机交互功能,为训练样本的选择、训练过程及后续预测过程中各项参数的设置提供操作的可能性。
计算节点101包括如后续图12或图13所示的装置,用于基于各自获得的训练样本集合分别对参数服务器102对应的映射层进行训练,并将获得的训练参数上报给对应的参数服务器102进行更新,其中计算节点101接收到训练样本集合由训练样本切片获得;
参数服务器102包括如后续图14所示的装置,用于存储并更新其所对应的映射层的训练参数,将不同计算节点101发送的训练参数进行合并,获得更新后的训练参数,并将更新后的训练参数发送给对应的计算节点101;
进一步的,在本实施例的一种实现方式中,还可以由交互平台103确定训练样本的切片模式。具体的,交互平台103,在将训练样本发送给计算节点101之前,可以根据模式设置指令确定训练样本的切片模式,该切片模式包括:
由交互平台103对训练样本进行切片;
或者,由主计算节点101对训练样本进行切片。
当切片模式为由交互平台103对训练样本进行切片时,交互平台103对训练样本进行切片,获得多个训练样本集合,然后将训练样本集合分发给各个计算节点101;
当切片模式为由主计算节点101对训练样本进行切片时,交互平台直接将训练样本发送给主计算节点101,由主计算节点101对训练样本进行切片及分发。实际应用中,可以基于性能指标、部署位置等维度的标准从计算节点101中选择主计算节点103,例如选择CPU资源占用率最低的计算节点101。主计算节点101与其他计算节点101在形态、性能上没有实质差异,主计算节点101可以仅负责样本切片工作,也可以如同其他计算节点101一样同时兼顾样本训练的工作,本实施例对此不作限制。
本实施例中,模式设置指令可以来自于管理员的操作,交互平台103通过预设的人机交互界面接收管理员触发的模式设置指令。或者模式设置指令也可以由交互平台103根据内置的训练策略自动生成,例如当交互平台103侧的资源占用率超过某一阈值时,可以生成由主计算节点101进行切片的模式设置指令。
进一步的,在本实施例的另一种实现方式中,管理员可以通过交互平台103对待训练的深度神经网络进行构建,具体的,交互平台103可以在根据深度神经网络的映射层数量激活同等数量的参数服务器之前,根据接收的网络设置指令,配置深度神经网络下述各层的数量和/或层级顺序:输入层、输出层、映射层。实际应用中,深度神经网络通常包含1个输入层、1个输出层以及至少1个映射层;在层级顺序上,深度神经网络从底层到上层依次为:输入层、映射层、输出层。管理员可以根据实际需要设置各层的数量及顺序。
进一步的,在本实施例的另一种实现方式中,交互平台103还可以在训练过程中,根据预置策略信息动态调整各参数服务器102对应的计算节点101数量。具体的,交互平台103可以在根据样本数量以及计算节点101的既定数据处理量确定计算节点101的数量之后,为参数服务器102激活新的计算节点101,或者释放已分配的计算节点101。与前述模式设置指令类似的,预置策略信息也可以由管理员触发或者由交互平台103自动生成。实际应用中,交互平台103可以根据计算节点的计算负载量、训练进度、训练过程的时效性要求等不同因素动态增减计算节点101的数量,或者在各个参数服务器102之间对已分配的计算节点101进行负载均衡。
进一步的,在本实施例的另一种实现方式中,不同映射层使用不同计算节点组进行训练,即一组计算节点对应一个参数服务器,该组计算节点专用于对对应参数服务器的映射层进行训练。具体的,图2左侧部分示出了一种深度神经网络的结构示意图,该图中除去输入层及输出层外,还包括三个映射层(图2仅为示例性说明,实际应用中映射层数量可以任意设置);图2右侧部分示出了对应该深度神经网络设计的系统,其中,对应每个映射层配置一个参数服务器,每个参数服务器对应有多于一个的计算节点,这些计算节点用于基于各自分配的训练样本集合,对该参数服务器对应的映射层进行训练。
在本实施例的另一种实现方式中,所有映射层还可以使用同一组计算节点进行训练,即系统中仅设置一组计算节点,该组计算节点对应多个参数服务器,用于对对应不同参数服务器的映射层分别进行训练。具体的,图3左侧部分示出了与图2左侧部分相同的深度神经网络,而在图3右侧部分,三个参数服务器均对应于一组计算节点。该组计算节点基于各自分配的训练样本集合对映射层1进行训练,在每个计算节点均完成预设次数的训练并且参数服务器1完成参数更新后,该组计算节点将映射层1的训练结果(输出)作为映射层2的训练样本集合(输入),继续对映射层2进行训练,直至完成三个映射层的训练为止。
实际应用中,上述第一种实现方式可以使用在对训练时效性要求更高的环境中,突出深度神经网络的训练速度;而第二种实现方式可以使用在网络资源受限更为严重的环境中,当计算节点的数量有限时,适当牺牲训练速度以换取网络设备的使用率。
以上两种方式仅为示例性说明,实际应用中也可以根据具体情况配置组数多于一个、但是少于映射层数量的计算节点组,例如在上述示例中可以设置两组计算节点。通过外部配置灵活分配部分计算节点组专用于一个映射层的训练,而其他每组计算节点兼顾至少两个映射层的训练。本实施例不对计算节点的组数以及每组计算节点的数量进行具体限制。与此类似的,一个参数服务器也可以保存多个映射层的训练参数,由此减少参数服务器的数量,极端情况下,可以仅使用一个参数服务器保存所有映射层的训练参数。
上述图1至图3给出了一个参数服务器对应多个计算节点的情况,实际应用中,也允许部分参数服务器仅对应使用一个计算节点,与现有技术相比,本实施例中只要存在至少一个参数服务器使用多个计算节点进行并行训练,就能够达到缩短训练时间、提高训练效率的目的。
下面,以上述系统为基础,对本发明涉及的方法及装置进行介绍。
本发明实施例首先提供了一种基于计算节点侧实现的训练深度神经网络的方法,如图4所示,该方法包括:
401、计算节点接收训练样本集合。
如前所述,深度神经网络的每个映射层对应一个参数服务器,每个参数服务器对应至少一个计算节点。实际应用中,深度神经网络是逐层进行训练的,即在对前一映射层进行训练之后,将其输出的训练结果作为下一映射层的输入,对下一映射层进行训练。本实施例中,对于对应第一层映射层的计算节点,其接收的训练样本为交互平台导入的原始训练样本,例如图片、声音等文件;对于其他映射层对应的计算节点,其接收的训练样本为前一映射层输出的训练结果集合,该训练结果集合在数据形式上表现为前一映射层学习获得的样本特征。本实施例将第一级映射层使用的原始训练样本以及其他映射层使用的训练结果统称为训练样本,这种表述方式仅为简化措辞,并不作为实际应用中对两者概念的混淆。
本实施例中,对于交互平台导入的训练样本,其可以是在交互平台侧完成切片,并在导入过程中将切片获得的训练样本集合分配给第一级映射层对应的各个计算节点,此时计算节点直接接收交互平台分发的训练样本集合。或者,交互平台也可以将训练样本整体导入到某个主计算节点,由该主计算节点执行训练样本的切片和分配工作,此时,计算节点直接接收主计算节点分发的训练样本集合。对于后者方式,需要预先指定一个计算节点作为主节点。对于训练下级映射层使用的训练样本,其来源于上一级映射层的训练结果,计算节点与上级映射层对应的计算节点进行数据交互,可以直接获得之;对于计算节点负责多级映射层训练的情况,如果上级映射层的训练也是由该计算节点执行的,则计算节点无需向其他计算计算节点获取训练样本,如果上级映射层的训练是由其他计算节点执行的,则计算节点与相应的计算节点进行数据交互,以获取本级映射层训练使用的训练样本。
402、计算节点基于训练样本集合对参数服务器对应的映射层进行训练。
计算节点基于配分配的训练样本集合,对相应的映射层进行训练。本实施例中,不同计算节点可以对不同的训练样本集合进行训练,或者也可以几个计算节点分别对同一个训练样本进行训练。对于后者情况,例如当需要对某个训练样本集合进行多次训练时,可以将该集合分配给多个计算节点,每个计算节点只需要进行一次或少量训练即可,这种方式适用于训练次数多、并且训练时效性要求高的场景中。
403、计算节点将获得的训练参数发送给与映射层对应的参数服务器。
本实施例中,当计算节点被配置为仅进行一轮训练时,计算节点完成该轮训练后向参数服务器上报训练获得的训练参数;当计算节点被配置为进行多轮训练时,计算节点在上报完本轮训练的训练参数后,继续进行针对同一映射层的下一轮训练,并将下一轮训练的训练参数上报给参数服务器,如此反复直至完成预设轮数的训练为止。对于后者情况,计算节点可以基于同一个训练样本集合进行多轮训练,也可以在每一轮训练时被分配不同的训练样本,例如在进行第二轮训练时同一映射层的计算节点交换训练样本集合,或者由交互平台分配新的训练样本。
实际应用中,计算节点可以在连续进行多次训练后上报一次训练参数,然后再进行多次训练后再上报一次训练参数。为避免表述上的混乱,本实施例将对应一次参数上报的训练过程称作为一轮训练。
计算节点在完成一轮训练过程后,将训练参数上报给参数服务器,以使得参数服务器将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数。本实施例中,计算节点上报的训练参数是经过一轮训练后获得的权重梯度值,或称为权重变化量,参数服务器将该权重变化量与保存的权重参数进行合并,获得新的权重参数。
404、计算节点接收参数服务器发送的更新后的训练参数。
由于参数服务器侧的训练参数是基于每个计算节点的训练参数而更新获得的,而不同计算节点训练使用的训练样本集合有各有不同,因此参数服务器最终更新并下发给计算节点的训练参数是综合所有训练样本训练得到的训练参数,计算节点保存之以便后续调优、预测等过程使用。当需要进行多轮训练时,计算节点在接收到更新的训练参数后,继续进行下一轮训练并向参数服务器上报相应的训练参数,直至完成最后一轮训练后,将参数服务器最终更新并下发的训练参数保存以备后续用之。
在进行完当前映射层的训练之后,计算节点将训练结果集合发送给下一级映射层对应的计算节点,由下一级计算节点将该训练结果集合作为本级训练使用的训练样本集合,一次或多次执行图4所示流程进行下一级映射层的训练,如此这般,直至顺序执行完映射层1至映射层3的训练为止,由此完成深度神经网络的训练。
本实施例中,对应一级映射层的多个计算节点可以对该级映射层进行并行训练,即多个计算节点同步执行图4所示流程。更为灵活的,本实施例也可以不对各个计算节点的训练过程做同步要求,计算节点可以在不同的时间进行训练,并先后向参数服务器上报训练参数。对于参数服务器而言,哪个计算节点上报了训练参数,参数服务器就对保存的训练参数进行一次更新,并将更新后的训练参数返回给哪个计算节点。这种异步训练的方式优势在于,可以灵活安排不同计算节点的训练时间,根据计算节点的空闲程度随时增减参与训练的节点数量。
需要说明的是,为便于直观理解,上述示意图中的计算节点是以实体形态的形式予以展示的,实际应用中计算节点除了可以是具有实体形态的设备(例如服务器、主机)以外,也可以是不具有实体形态的虚拟设备,例如在宿主机上创建的虚拟机,甚至仅仅是CPU的一个进程或线程,本实施例不对计算节点的存在形式进行具体限制。
进一步的,本发明实施例还提供了一种基于参数服务器侧实现的训练深度神经网络的方法,如图5所示,该方法包括:
501、参数服务器接收计算节点发送的训练参数。
如前所述,深度神经网络的每个映射层对应一个参数服务器,每个参数服务器对应至少一个计算节点。对于一个参数服务器而言,其对应有至少一个针对同一级映射层进行训练的计算节点,计算节点基于各自分配的训练样本集合,对该参数服务器对应的映射层进行训练,得到训练参数。
502、参数服务器将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数。
不同计算节点获得的训练参数不同,为保证针对映射层的训练是基于所有训练样本进行的,参数服务器需要将各个计算节点上报的训练参数进行合并,得到更新的训练参数。本实施例中,参数服务器中可以预置一个初始参数,在后续接收各个计算节点上报的训练参数时,参数服务器通过参数更新对该初始参数进行累计修正;或者,参数服务器也可以将首次接收到的训练参数予以保存,当后续再接收到训练参数时,将其两者进行合并。实际应用中,计算节点上报的训练参数是权重梯度值,而参数服务器中保存的是映射层中显层神经元到隐层神经元的映射权重值,前者是权重变化量,后者是权重值基数,两者本质属性一致,参数服务器可以对其进行直接合并,为便于表述和理解,本实施例将两者统称为训练参数。
在进行参数合并时,如果计算节点进行同步训练,那么参数服务器会同时或几乎同时接收到多个训练参数,这种情况下,参数更新的方式有二:第一,参数服务器按照预设规则将所有训练参数依次合并为一个训练参数,然后将该训练参数分别发送给各个计算节点;第二,参数服务器按照预测规则对计算节点进行排序,依次对各个计算节点执行如下操作:将该计算节点上报的训练参数与参数服务器中保存的训练参数合并,获得更新后的训练参数,重新保存更新后的训练参数并将更新后的训练参数发送给计算节点。如果计算节点的训练过程是异步的,那么参数服务器以计算节点上报训练参数的先后顺序为依据,按照上述第二种方式进行参数更新。
以异步更新为例,如图6所示,假设计算节点a至c先后向参数服务器分别上报权重梯度值1、2、3,那么参数服务器在接收到计算节点a上报的权重梯度值1后,将其与初始参数合并为权重值4,保存权重值4并将权重值4发送给计算节点a;之后接收到计算节点b上报的权重梯度值2,参数服务器将其与权重值4合并得到权重值5,保存权重值5并将权重值5发送给计算节点b;之后参数服务器又接收到计算节点c上报的权重梯度值3,参数服务器将其与权重值5合并得到权重值6,保存权重值6并将权重值6发送给计算节点c。
通过上述示例可以看出,参数服务器每接收到一个计算节点发送的训练参数后,就会对保存的训练参数进行更新,并将更新后的训练参数返回给该计算节点,由此保证参数服务器及计算节点能够及时得到更新的训练参数。同时我们也可以看到,对于上述方式2而言,各个计算节点获得的更新训练参数并不一定是最新的,例如计算节点a和计算节点b就没有最终获得权重值6。对此需要说明的是,实际应用中,对映射层的训练次数往往不止一次,当训练轮数足够多时,各个计算节点的训练结果会趋于一致,并且计算节点每次训练的耗时是随机的,可能本轮训练参数上报的较早,下一轮训练参数就上报的较晚。因此在对映射层进行多轮训练时,上述机制对训练结果的影响微乎其微。
503、参数服务器将更新后的训练参数发送给计算节点。
参数服务器将更新后的训练参数发送给计算节点,以便计算节点基于该训练参数进行后续的调优、预测等流程。当计算节点还需要进行下一轮训练时,可以暂时保存已接收的更新训练参数,并在下一轮训练完毕后,以再次接收的更新训练参数替换原有的更新训练参数进行保存,由此在最成整个训练过程后,得到最终的训练参数。
与计算节点类似的,本实施例提供的参数服务器也可以是具有实体形态的物理设备,或者为无实体形态的虚拟机或CPU进程/线程。
进一步的,本发明实施例还提供了一种基于交互平台侧实现的训练深度神经网络的方法,如图7所示,该方法包括:
701、交互平台根据深度神经网络的映射层数量激活同等数量的参数服务器。
交互平台中预先配置有深度网络模型的基本信息,包括用于描述网络结构的属性信息。交互平台可以据此获知深度神经网络的映射层数量。
实际应用中,交互平台也可以对外提供网络构建的扩展接口,允许外部设置映射层数量等网络基本信息。交互平台根据接收的网络设置指令,配置深度神经网络下述各层的数量和/或层级顺序:输入层、输出层、映射层。
在获得映射层数量后,交互平台激活同等数量的参数服务器,其中,一个参数服务器用于对应存储一个映射层的训练参数。
702、交互平台基于训练样本的样本数量激活特定数量的计算节点。
在确定计算节点数量之前,交互平台首先获取训练样本。交互平台通过人机交互界面接收管理员提交的、用于指定训练样本的训练需求信息。实际应用中,训练需求信息可以记录训练样本的文件名或在数据库中的存储路径,基于此交互平台从数据库中导出训练样本。本实施例中,交互平台与数据库存在数据交互关系,训练样本可以预先存储在数据库中。当然实际应用中,交互平台也可以对外提供数据导入的接口,允许用户从外部站点或存储介质中直接导入训练样本。
在另一种实现方式中,训练需求信息可以以配置文件或其他形式提前预置在交互平台中,交互平台根据外部触发的操作指示选择特定的训练需求信息,在特定时间启动网络训练流程。
本实施例不对训练样本的类型、文件格式、大小等属性进行限制。
在获得训练样本后,交互平台根据训练样本的多少确定使用多少个计算节点。
703、交互平台将训练样本发送给计算节点。
交互平台将训练样本发送给计算节点,以使得计算节点基于对训练样本切片后获得的训练样本集合分别对当前映射层进行训练,并将获得的训练参数发送给对应当前映射层的参数服务器进行更新。
本实施例中,在将训练样本发送给计算节点之前,交互平台可以根据模式设置指令确定训练样本的切片模式,该切片模式包括:
由交互平台对训练样本进行切片;
或者,由主计算节点对训练样本进行切片。
当切片模式为由交互平台对训练样本进行切片时,交互平台对训练样本进行切片,获得多个训练样本集合,然后将获得的训练样本集合分发给各个计算节点;
当切片模式为由主计算节点对训练样本进行切片时,交互平台将训练样本发送给主计算节点,由主计算节点对训练样本进行切片和分发。
进一步的,交互平台还可以在训练过程中,根据预置策略信息动态调整各参数服务器对应的计算节点数量。具体的,交互平台可以在根据样本数量以及计算节点的既定数据处理量确定计算节点的数量之后,为参数服务器激活新的计算节点,或者释放已分配的计算节点。与前述模式设置指令类似的,预置策略信息也可以由管理员触发或者由交互平台自动生成。实际应用中,交互平台可以根据计算节点的计算负载量、训练进度、训练过程的时效性要求等不同因素动态增减计算节点的数量,或者在各个参数服务器之间对已分配的计算节点进行负载均衡。
进一步的,作为对上述方法的补充,本发明实施例还提供了一种训练深度神经网络的方法,该方法涉及计算节点、参数服务器以及交互平台三侧。如图8所示,该方法包括:
801、交互平台接收训练需求信息。
802、交互平台通过训练需求信息从数据库中导出训练样本。
803、交互平台根据深度神经网络的映射层数量激活同等数量的参数服务器。
804、交互平台基于训练样本的样本数量激活特定数量的计算节点。
交互平台根据样本数量以及计算节点的既定数据处理量确定计算节点的数量,即将样本数量除以既定的数据处理量,获得计算节点数量。该既定数据处理量可以是计算节点在一段预设时间内的数据处理量,例如一小时之内。当所有参数服务器共用一组计算节点时,交互平台根据样本数量以及计算节点的既定数据处理量确定计算节点的数量,然后激活该数量的计算节点,其中,每个计算节点均用于对各个映射层进行训练。当一个参数服务器使用一组计算节点时,交互平台根据样本数量以及计算节点的既定数据处理量确定一组计算节点的数量,然后根据参数服务器的数量激活相同组数的计算节点,其中,一组计算节点对应训练一个映射层。
805、交互平台将训练样本发送给计算节点。
本实施例中,交互平台将训练样本直接发送给主计算节点,由主计算节点对训练样本进行分片及分发。
对于深度神经网络的第一级映射层,其对应的计算节点中的主计算节点接收交互平台发送的训练样本,然后根据本映射层对应的计算节点的数量对训练样本进行切片,获得与该计算节点数量相同的训练样本集合,并将训练样本集合分发给对应参数服务器的各个计算节点。对于深度神经网络中除第一级映射层之外的其他映射层,其对应的计算节点无需在对训练样本进行分片,直接获取训练上一级映射层时获得的训练结果集合即可。
806、计算节点基于训练样本集合对参数服务器对应的映射层进行训练。
本步骤中,用户可以设置计算节点每一轮训练过程的训练次数。交互平台接收到外部设置的训练次数M后,可以在发送训练样本之前,将训练次数M发送给计算节点,以使得计算节点后续在每执行M次训练后向参数服务器上报一次训练参数。其中,训练次数M为正整数。
807、计算节点将获得的训练参数发送给与映射层对应的参数服务器。
计算节点在每执行M次训练后获得这M次训练的权重累计梯度值,然后将该权重累计梯度值发送给参数服务器进行更新。然后计算节点进行下一轮训练。
808、参数服务器将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数。
参数服务器接收计算节点执行M次训练后发送的训练参数,将该训练参数与其他计算节点发送的对应映射层的训练参数进行合并。当在当前计算节点上报训练参数之前已有其他计算节点上报或训练参数时,参数服务器中保存有更新后的最新训练参数。在接收到当前计算节点上报的训练参数后,参数服务器将其与保存的最新训练参数进行合并。
本步骤中,参数服务器可以按照下述公式合并训练参数:
W′=W-ηΔW
其中,W′为更新后的训练参数,W为更新前保存的最新训练参数,η为预设系数,代表网络的学习速率,决定梯度下降搜索中的步长,ΔW为计算节点上报的训练参数。参数服务器以保存的最新训练参数减去计算节点上报的训练参数与预设系数的乘积,获得更新后的训练参数。
进一步的,当参数服务器首次接收到训练参数时,参数服务器按照上述公式,将训练参数与保存的初始参数进行合并。
809、参数服务器将更新后的训练参数发送给计算节点。
在完成第一级映射层的训练后,对应的计算节点将训练结果发送给下一级映射层对应的计算节点,以进行下一映射层的训练。在每层映射层训练的过程中,相应的计算节点按照上述步骤807所述的方式向当前映射层对应的参数服务器上报训练参数,参数服务器按照上述步骤808所述的方式进行参数更新,直至完成所有映射层的训练为止。
进一步的,在本实施例的一种实现方式中,可以基于信息传递接口(MessagePassing Interface,简称MPI)协议或(Open Message Passing Interface,简称OpenMPI)协议实现多计算节点的分布式训练。其中,MPI是一种通信接口标准,通过消息传递机制在计算节点间同步信息,可以高性能地实现并行计算。OpenMPI是MPI框架下的一个开放标准,特点在于能够基于共享内存的实现高性能的并行计算。OpenMPI用于在单个计算节点上通过利用多个CPU核的并行处理能力来提高程序的运行效率。
进一步的,本发明实施例还提供了一种方法,该方法基于计算节点、参数服务器以及交互平台三侧实现,用以基于训练后的深度神经网络进行网络调优及预测。具体的:如图9所示,该方法包括:
901、交互平台接收调优需求信息。
与训练需求信息类似,调优需求信息用于指定调优样本。
902、交互平台通过调优需求信息从数据库中导出携带标注信息的调优样本。
步骤901和步骤902可以在训练完毕后执行,也可以在计算节点开始训练之前执行,即交互平台在训练之前获取调优样本。
903、在训练完毕后,交互平台将调优样本发送给计算节点进行网络调优。
实际应用中,交互平台也可以在训练开始之前将调优样本连同训练样本一同发送给计算节点。
904、计算节点基于调优样本集合对参数服务器对应的映射层进行调优。
计算节点在接收到切分后的调优样本集合后,逐层对网络映射层的权重参数进行调优。每一个计算节点调优使用的调优样本集合不同,各个计算节点按照与训练过程相似的方式进行同步或异步调优。
实际应用中,可以采用前向传播或后向传播的方式进行调优,两者的区别在于前者是从最底层映射层开始向上逐层调整映射层的权重参数,而后者则是从最顶层映射层开始向下逐层调整映射层的权重参数。
905、交互平台接收预测需求信息。
906、交互平台通过预测需求信息从数据库中导出指定的预测样本。
907、交互平台将预测样本发送给计算节点进行预测,获得预测结果。
在完成调优后就可以使用深度神经网络进行预测了。
在进行预测时,交互平台接收外部输入的预测需求信息,该预测需求信息用于指定预测样本。交互平台据此信息从数据库中导出需要进行预测的样本,然后发送给计算节点。计算节点接收到交互平台发送的预测样本后,可以直接对预测样本进行预测,获得预测结果,也可以将预测样本切分为多个预测样本集合,分发给不同的计算节点进行预测。
进一步的,本实施例中交互平台还可以对外提供激活函数的扩展功能,方便用户选择需要的激活函数使用。具体的,计算节点侧预先配置好各种可用的激活函数。在将预测样本发送给计算节点进行预测之前,交互平台接收外部触发的激活函数配置信息,该激活函数配置信息用于指定样本预测使用的激活函数。交互平台将激活函数配置信息发送给计算节点,由计算节点调用相应的激活函数进行样本预测。
本实施例中,可供使用的激活函数包括但不限于是RELU、DROPOUT、SIGMOID、TNAH等。
进一步的,本实施例中交互平台还可以对外提供预测结果类型的扩展功能,允许用户对预测结果的类型进行选择,例如选择输出二分类概率类型的预测结果,或者选择输出高维度特征类型的预测结果。所谓高维度特征是指用于描述预测样本之间关联关系的一系列特征,通常其维度数量用于指代输出的特征数量。例如当输入80个预测样本进行预测时,这80个预测样本彼此之间存在一定的关联关系,由于预测样本之间排列组合的形式多种多样,因此通常获得的高维度特征数量要远远大于预测样本的数量。本实施例中,用户不仅可以选择输出高维度特征作为预测结果,还可以进一步设置高维度特征的维度数量,例如当输入80个预测样本时,设定输出2000个高维度特征。通过设定输出结果的维度数量,可以控制深度神经网络预测的精细程度。
本实施例中,交互平台在将预测样本发送给计算节点进行预测之前接收预测结果类型信息,然后将预测结果类型信息发送给计算节点。计算节点按照该预测结果类型信息输出特定类型的预测结果。当指定类型的预测结果为高维度特征结果时,预测结果类型信息中还可以进一步包括用户设置的高维度特征的维度数量。计算节点按照该维度数量输出高维度特征。
本实施例所指的深度神经网络包括但不限于是卷积神经网络(ConvolutionalNeural Networks,简称CNN)、深度置信网络(Deep Brief Network,简称DBN)等。实际应用中,一切具有多级映射层结构的神经网络均可应用于本实施例提供的方案。下面,以深度置信网络为例,给出本发明实施例的一个应用场景:
深度置信网络的组成元件是受限玻尔兹曼机(Restricted Boltzmann Machines,简称RBM),即使用受限玻尔兹曼机作为网络的映射层上下级联组成深度置信网络。训练深度置信网络的过程就是逐层训练各级受限玻尔兹曼机的过程。受限玻尔兹曼机有两层神经元,一层叫做显层(visible layer),由显元(visible units)组成,用于输入训练样本,另一层叫做隐层(Hidden layer),由隐元(hidden units)组成,用作特征检测器(featuredetectors)对训练样本进行特征提取。前一级受限玻尔兹曼机的隐层输出作为下一级受限玻尔兹曼机的显层输入,通过逐级训练实现深度置信网络的训练。
如图10所示,在本应用场景中,深度置信网络顺序由输入层、RBM1、RBM2以及输出层组成。其中RBM1对应参数服务器1、RBM2对应参数服务器2,参数服务器1和2分别使用一组计算节点,每组计算节点由三个计算节点组成,各计算节点对RBM进行异步式的无监督训练。
在图10中,计算节点11、计算节点12以及计算节点13分别接收不同的训练样本集合,并各自对RBM1进行训练。其中每轮训练包括12次训练过程,共进行50轮训练。在进行训练时,各计算节点采用mini-batch方式进行梯度下降迭代,与batch、Stochastic等迭代方式相比,mini-batch的收敛速度更快,收敛性更加稳定。在进行一轮训练后,计算节点12首先向参数服务器1上报了权重梯度1,参数服务器1将权重梯度1与初始权重进行合并获得权重参数2,计算节点12继续进行下一轮训练。此后计算节点11向参数服务器1上报权重梯度3,参数服务器1将权重参数2与权重梯度3合并获得权重参数4,计算节点11继续进行下一轮训练。此后计算节点13向参数服务器1上报权重梯度5,参数服务器1将权重参数4与权重梯度5合并获得权重参数6,计算节点13继续进行下一轮训练。计算节点11至13如此反复分别完成50轮训练后,分别获得更新后的RBM1的权重参数。
之后,计算节点11至13分别将自身训练获得的训练结果(即RBM1隐层提取的样本特征)分别发送给计算节点21至23,开始RBM2的训练。计算节点21至23各自以接收的上一级训练结果对RBM2进行异步式训练,并分别获得更新后的RBM2的权重参数。至此完成深度置信网络的训练。
如图11所示,在另一个应用场景中,参数服务器1与参数服务器2共用一组计算节点,该组计算节点首先对RBM1进行训练并获得更新后的权重参数。其中,计算节点1首先完成了50轮的训练过程,其根据训练结果直接对RBM2进行训练,在此过程中计算节点2和3仍然在进行RBM1的训练。之后,计算节点2完成了RBM1的训练,基于训练结果进行RBM2的训练。最终,当计算节点1至3均分别完成RBM1和RBM2的训练后,深度置信网络训练完毕。
可以看出,在第二个应用场景中,计算节点在完成某级映射层的训练后,无需等待其他计算节点完成对同级映射层的训练,即可直接执行下一级映射层的训练,对于各参数服务器分别使用一组计算节点的情况,本级计算节点完成训练后可以直接把训练结果发送给下一级映射层对应的某个计算节点,使其先行进行下一级映射层的训练。
进一步的,作为对上述方法的实现,本发明实施例还提供了一种训练深度神经网络的装置,该装置位于交互平台侧,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,如图12所示,该装置包括:
激活单元121,用于根据深度神经网络的映射层数量激活同等数量的参数服务器;
激活单元121,还用于基于训练样本的样本数量激活特定数量的计算节点;
发送单元122,用于将训练样本发送给计算节点,以使得各个计算节点基于对训练样本切片后获得的训练样本集合分别对对应的映射层进行训练,并将获得的训练参数发送给对应的参数服务器进行更新。
进一步的,如图13所示,激活单元121,包括第一激活模块12101,用于:
根据样本数量以及计算节点的既定数据处理量确定计算节点的数量;
激活数量的计算节点,其中,每个计算节点均用于对各个映射层分别进行训练。
进一步的,如图13所示,激活单元121,包括第二激活模块12102,用于:
根据样本数量以及计算节点的既定数据处理量确定一组计算节点的数量;
根据参数服务器的数量激活相同组数的计算节点,其中,一组计算节点对应训练一个映射层。
进一步的,如图13所示,发送单元122,包括:
切片模块12201,用于对训练样本进行切片,获得多个训练样本集合;
第一发送模块12202,用于将训练样本集合分发给各个计算节点;
第二发送模块12203,用于将训练样本发送给主计算节点,以使得主计算节点对训练样本进行切片及分发。
进一步的,如图13所示,该装置还包括:
确定单元123,用于在将训练样本发送给计算节点之前,根据模式设置指令确定训练样本的切片模式,切片模式包括:
由交互平台对训练样本进行切片;
或者,由主计算节点对训练样本进行切片。
进一步的,如图13所示,该装置还包括:
网络配置单元124,用于在根据深度神经网络的映射层数量激活同等数量的参数服务器之前,根据网络设置指令,配置深度神经网络下述各层的数量和/或层级顺序:
输入层、输出层、映射层。
进一步的,如图13所示,该装置还包括:
节点调整单元125,用于在根据样本数量以及计算节点的既定数据处理量确定计算节点的数量之后,根据预置策略信息动态调整参数服务器对应的计算节点的数量。
进一步的,如图13所示,该装置还包括:
第一获取单元126,用于获取训练次数M,训练次数M为正整数;
发送单元122,用于将训练次数M发送给计算节点,以使得计算节点在每执行M次训练后向参数服务器上报一次训练参数。
进一步的,如图13所示,该装置还包括:
第二获取单元127,用于获取调优需求信息,调优需求信息用于指定调优样本;
第一导出单元128,用于通过调优需求信息从数据库中导出携带标注信息的调优样本;
发送单元122,用于在训练完毕后,将调优样本发送给计算节点进行网络调优。
进一步的,如图13所示,该装置还包括:
第三获取单元129,用于在调优完毕后,获取预测需求信息,预测需求信息用于指定预测样本;
第二导出单元1210,用于通过预测需求信息从数据库中导出指定的预测样本;
发送单元122,用于将预测样本发送给计算节点进行预测,获得预测结果。
进一步的,如图13所示,该装置还包括:
第四获取单元1211,用于在将预测样本发送给计算节点进行预测之前,获取激活函数配置信息,激活函数配置信息用于指定样本预测使用的激活函数;
发送单元122,用于将激活函数配置信息发送给计算节点,以使得计算节点调用相应的激活函数对预测样本进行预测。
进一步的,如图13所示,该装置还包括:
第五获取单元1212,用于在将预测样本发送给计算节点进行预测之前,获取预测结果类型信息;
发送单元122,用于将预测结果类型信息发送给计算节点,以使得计算节点输出特定类型的预测结果。
进一步的,第五获取单元1212获取的指定类型的预测结果为高维度特征结果,预测结果类型信息中包括高维度特征的维度数量。
进一步的,作为对上述方法的实现,本发明实施例还提供了一种训练深度神经网络的装置,该装置位于计算节点侧,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,如图14所示,该装置包括:
接收单元141,用于接收训练样本集合;
计算单元142,用于基于训练样本集合对参数服务器对应的映射层进行训练;
发送单元143,用于将获得的训练参数发送给与映射层对应的参数服务器,以使得参数服务器将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数;
接收单元141,还用于接收参数服务器发送的更新后的训练参数。
进一步的,接收单元141,用于当映射层为深度神经网络的第一级映射层时:
接收交互平台分发的训练样本集合,训练样本集合由交互平台对训练样本进行切片获得;
或者,接收主计算节点分发的训练样本集合,训练样本集合由主计算节点对训练样本进行切片获得。
进一步的,接收单元141,用于当映射层为深度神经网络中除第一级映射层之外的其他映射层时:
获取训练上一级映射层时获得的训练结果集合。
进一步的,接收单元141,用于在接收训练样本集合之前,接收交互平台发送的训练次数M,训练次数M为正整数;
发送单元143,用于在每执行M次训练后向参数服务器上报一次训练参数。
进一步的,计算单元142,用于在训练完毕后,基于调优样本集合对深度神经网络进行调优。
进一步的,计算单元142,用于在调优完毕后,根据调优后的深度神经网络对预测样本进行预测,获得预测结果。
进一步的,计算单元142,用于:
接收激活函数配置信息,激活函数配置信息用于指定样本预测使用的激活函数;
调用相应的激活函数对预测样本进行预测。
进一步的,计算单元142,用于:
接收预测结果类型信息;
输出指定类型的预测结果。
进一步的,计算单元142使用的指定类型的预测结果为高维度特征结果,预测结果类型信息中包括高维度特征的维度数量。
进一步的,作为对上述方法的实现,本发明实施例还提供了一种训练深度神经网络的装置,该装置位于参数服务器侧,深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,如图15所示,该装置包括:
接收单元151,用于接收计算节点发送的训练参数,训练参数为计算节点基于分配的训练样本集合对参数服务器对应的映射层进行训练得到的训练参数;
参数更新单元152,用于将训练参数与其他计算节点发送的对应映射层的训练参数进行合并,获得更新后的训练参数;
发送单元153,用于将更新后的训练参数发送给计算节点。
进一步的,参数更新单元152,用于将训练参数与保存的最新训练参数进行合并。
进一步的,参数更新单元152,用于:以保存的最新训练参数减去训练参数与预设系数的乘积。
进一步的,参数更新单元152,用于当首次接收到训练参数时,将训练参数与保存的初始参数进行合并。
进一步的,接收单元151,用于接收计算节点执行M次训练后发送的训练参数,其中训练次数M为正整数。
本发明实施例提供的训练深度神经网络的装置,能够为深度神经网络的每个映射层配置一个参数服务器,每个参数服务器对应至少一个用于训练该参数服务器对应的映射层的计算节点。在进行网络训练时,将训练样本切分为训练样本集合,通过计算节点分别进行训练,并在训练后将训练参数上报给对应的参数服务器。在接收到某个计算节点上报的训练参数后,参数服务器将其与其他计算节点上报的训练参数进行合并,以获得综合所有训练样本的训练结果。与现有技术中基于单一节点训练深度神经网络相比,本发明实施例能够在不影响训练效果的基础上大大缩短深度神经网络的训练时间,提高深度神经网络的训练效率,尤其适用于大数据环境下的深度神经网络训练。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (35)

1.一种训练深度神经网络的系统,其特征在于,所述系统包括:计算节点、参数服务器以及交互平台,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点;
所述交互平台,用于根据深度神经网络的映射层数量激活同等数量的参数服务器,基于训练样本的样本数量激活特定数量的计算节点,并将训练样本发送给所述计算节点;
所述计算节点,用于基于各自获得的训练样本集合分别对所述参数服务器对应的映射层进行训练,将获得的训练参数发送给所述参数服务器,其中所述训练样本集合由所述训练样本切片获得;
所述参数服务器,用于将不同计算节点发送的训练参数进行合并,获得更新后的训练参数,并将更新后的训练参数发送给对应的计算节点。
2.根据权利要求1所述的系统,其特征在于,所述交互平台用于:
对所述训练样本进行切片,获得多个训练样本集合;
将所述训练样本集合分发给各个计算节点;
或者,将所述训练样本发送给主计算节点,以使得所述主计算节点对所述训练样本进行切片及分发。
3.根据权利要求2所述的系统,其特征在于,所述交互平台,用于在将所述训练样本发送给所述计算节点之前,根据模式设置指令确定所述训练样本的切片模式,所述切片模式包括:
由交互平台对训练样本进行切片;
或者,由主计算节点对训练样本进行切片。
4.根据权利要求1所述的系统,其特征在于,所述交互平台,用于在根据深度神经网络的映射层数量激活同等数量的参数服务器之前,根据网络设置指令,配置所述深度神经网络下述各层的数量和/或层级顺序:
输入层、输出层、映射层。
5.根据权利要求1所述的系统,其特征在于,所述交互平台,用于在根据所述样本数量以及计算节点的既定数据处理量确定计算节点的数量之后,根据预置策略信息动态调整参数服务器对应的计算节点的数量。
6.一种训练深度神经网络的方法,其特征在于,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,所述方法包括:
交互平台根据深度神经网络的映射层数量激活同等数量的参数服务器;
基于训练样本的样本数量激活特定数量的计算节点;
将所述训练样本发送给所述计算节点,以使得各个计算节点基于对所述训练样本切片后获得的训练样本集合分别对对应的映射层进行训练,并将获得的训练参数发送给对应的参数服务器进行更新。
7.根据权利要求6所述的方法,其特征在于,所述基于训练样本的样本数量激活特定数量的计算节点,包括:
根据所述样本数量以及计算节点的既定数据处理量确定计算节点的数量;
激活所述数量的计算节点,其中,每个计算节点均用于对各个映射层分别进行训练。
8.根据权利要求6所述的方法,其特征在于,所述基于训练样本的样本数量激活特定数量的计算节点,包括:
根据所述样本数量以及计算节点的既定数据处理量确定一组计算节点的数量;
根据所述参数服务器的数量激活相同组数的计算节点,其中,一组计算节点对应训练一个映射层。
9.根据权利要求6所述的方法,其特征在于,所述将所述训练样本发送给所述计算节点,包括:
对所述训练样本进行切片,获得多个训练样本集合;
将所述训练样本集合分发给各个计算节点;
或者,将所述训练样本发送给主计算节点,以使得所述主计算节点对所述训练样本进行切片及分发。
10.根据权利要求9所述的方法,其特征在于,在所述将所述训练样本发送给所述计算节点之前,所述方法进一步包括:
根据模式设置指令确定所述训练样本的切片模式,所述切片模式包括:
由交互平台对训练样本进行切片;
或者,由主计算节点对训练样本进行切片。
11.根据权利要求6所述的方法,其特征在于,在所述根据深度神经网络的映射层数量激活同等数量的参数服务器之前,所述方法进一步包括:
根据网络设置指令,配置所述深度神经网络下述各层的数量和/或层级顺序:
输入层、输出层、映射层。
12.根据权利要求6所述的方法,其特征在于,在所述根据所述样本数量以及计算节点的既定数据处理量确定计算节点的数量之后,所述方法进一步包括:
根据预置策略信息动态调整参数服务器对应的计算节点的数量。
13.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
获取训练次数M,所述训练次数M为正整数;
将所述训练次数M发送给所述计算节点,以使得所述计算节点在每执行M次训练后向所述参数服务器上报一次训练参数。
14.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
获取调优需求信息,所述调优需求信息用于指定调优样本;
通过所述调优需求信息从数据库中导出携带标注信息的调优样本;
在训练完毕后,将所述调优样本发送给所述计算节点进行网络调优。
15.根据权利要求14所述的方法,其特征在于,在调优完毕后,所述方法进一步包括:
获取预测需求信息,所述预测需求信息用于指定预测样本;
通过所述预测需求信息从数据库中导出指定的预测样本;
将所述预测样本发送给所述计算节点进行预测,获得预测结果。
16.根据权利要求15所述的方法,其特征在于,在所述将所述预测样本发送给所述计算节点进行预测之前,所述方法进一步包括:
获取激活函数配置信息,所述激活函数配置信息用于指定样本预测使用的激活函数;
将所述激活函数配置信息发送给所述计算节点,以使得所述计算节点调用相应的激活函数对所述预测样本进行预测。
17.根据权利要求15所述的方法,其特征在于,在所述将所述预测样本发送给所述计算节点进行预测之前,所述方法进一步包括:
获取预测结果类型信息;
将所述预测结果类型信息发送给所述计算节点,以使得所述计算节点输出特定类型的预测结果。
18.根据权利要求17所述的方法,其特征在于,所述指定类型的预测结果为高维度特征结果,所述预测结果类型信息中包括高维度特征的维度数量。
19.一种训练深度神经网络的方法,其特征在于,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,所述方法包括:
计算节点接收训练样本集合;
基于所述训练样本集合对所述参数服务器对应的映射层进行训练;
将获得的训练参数发送给与所述映射层对应的参数服务器,以使得所述参数服务器将所述训练参数与其他计算节点发送的对应所述映射层的训练参数进行合并,获得更新后的训练参数;
接收所述参数服务器发送的更新后的训练参数。
20.根据权利要求19所述的方法,其特征在于,当所述映射层为所述深度神经网络的第一级映射层时,所述接收训练样本集合,包括:
接收交互平台分发的训练样本集合,所述训练样本集合由所述交互平台对所述训练样本进行切片获得;
或者,接收主计算节点分发的训练样本集合,所述训练样本集合由所述主计算节点对所述训练样本进行切片获得。
21.根据权利要求19所述的方法,其特征在于,当所述映射层为所述深度神经网络中除第一级映射层之外的其他映射层时,所述接收训练样本集合,包括:
获取训练上一级映射层时获得的训练结果集合。
22.根据权利要求19所述的方法,其特征在于,在所述接收训练样本集合之前,所述方法进一步包括:
接收交互平台发送的训练次数M,所述训练次数M为正整数;
所述将获得的训练参数发送给与所述映射层对应的参数服务器,包括:
在每执行M次训练后向所述参数服务器上报一次训练参数。
23.根据权利要求19所述的方法,其特征在于,在训练完毕后,所述方法进一步包括:
基于调优样本集合对所述深度神经网络进行调优。
24.根据权利要求23所述的方法,其特征在于,在调优完毕后,所述方法进一步包括:
根据调优后的深度神经网络对预测样本进行预测,获得预测结果。
25.根据权利要求24所述的方法,其特征在于,所述根据调优后的深度神经网络对预测样本进行预测,包括:
接收激活函数配置信息,所述激活函数配置信息用于指定样本预测使用的激活函数;
调用相应的激活函数对所述预测样本进行预测。
26.根据权利要求24所述的方法,其特征在于,所述根据调优后的深度神经网络对预测样本进行预测,包括:
接收预测结果类型信息;
输出指定类型的预测结果。
27.根据权利要求26所述的方法,其特征在于,所述指定类型的预测结果为高维度特征结果,所述预测结果类型信息中包括高维度特征的维度数量。
28.一种训练深度神经网络的方法,其特征在于,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,所述方法包括:
参数服务器接收计算节点发送的训练参数,所述训练参数为所述计算节点基于分配的训练样本集合对所述参数服务器对应的映射层进行训练得到的训练参数;
将所述训练参数与其他计算节点发送的对应所述映射层的训练参数进行合并,获得更新后的训练参数;
将更新后的训练参数发送给所述计算节点。
29.根据权利要求28所述的方法,其特征在于,所述将所述训练参数与其他计算节点发送的对应所述映射层的训练参数进行合并,包括:
将所述训练参数与保存的最新训练参数进行合并。
30.根据权利要求29所述的方法,其特征在于,所述将所述训练参数与保存的最新训练参数进行合并,包括:
以保存的最新训练参数减去所述训练参数与预设系数的乘积。
31.根据权利要求29或30所述的方法,其特征在于,所述将所述训练参数与保存的最新训练参数进行合并,包括:
当首次接收到训练参数时,将所述训练参数与保存的初始参数进行合并。
32.根据权利要求28所述的方法,其特征在于,所述接收计算节点发送的训练参数,包括:
接收所述计算节点执行M次训练后发送的训练参数,其中训练次数M为正整数。
33.一种训练深度神经网络的装置,所述装置位于交互平台侧,其特征在于,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,所述装置包括:
激活单元,用于根据深度神经网络的映射层数量激活同等数量的参数服务器;
所述激活单元,还用于基于训练样本的样本数量激活特定数量的计算节点;
发送单元,用于将所述训练样本发送给所述计算节点,以使得各个计算节点基于对所述训练样本切片后获得的训练样本集合分别对对应的映射层进行训练,并将获得的训练参数发送给对应的参数服务器进行更新。
34.一种训练深度神经网络的装置,所述装置位于计算节点侧,其特征在于,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,所述装置包括:
接收单元,用于接收训练样本集合;
计算单元,用于基于所述训练样本集合对所述参数服务器对应的映射层进行训练;
发送单元,用于将获得的训练参数发送给与所述映射层对应的参数服务器,以使得所述参数服务器将所述训练参数与其他计算节点发送的对应所述映射层的训练参数进行合并,获得更新后的训练参数;
所述接收单元,还用于接收所述参数服务器发送的更新后的训练参数。
35.一种训练深度神经网络的装置,所述装置位于参数服务器侧,其特征在于,所述深度神经网络的每个映射层的训练参数对应由一个参数服务器存储,每个参数服务器对应至少一个计算节点,所述装置包括:
接收单元,用于接收计算节点发送的训练参数,所述训练参数为所述计算节点基于分配的训练样本集合对所述参数服务器对应的映射层进行训练得到的训练参数;
参数更新单元,用于将所述训练参数与其他计算节点发送的对应所述映射层的训练参数进行合并,获得更新后的训练参数;
发送单元,用于将更新后的训练参数发送给所述计算节点。
CN201610641310.0A 2016-08-05 2016-08-05 训练深度神经网络的方法、装置及系统 Active CN107688493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610641310.0A CN107688493B (zh) 2016-08-05 2016-08-05 训练深度神经网络的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610641310.0A CN107688493B (zh) 2016-08-05 2016-08-05 训练深度神经网络的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107688493A true CN107688493A (zh) 2018-02-13
CN107688493B CN107688493B (zh) 2021-06-18

Family

ID=61151238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610641310.0A Active CN107688493B (zh) 2016-08-05 2016-08-05 训练深度神经网络的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107688493B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108898219A (zh) * 2018-06-07 2018-11-27 广东工业大学 一种基于区块链的神经网络训练方法、装置及介质
CN109190769A (zh) * 2018-08-21 2019-01-11 甲骨文科技时代(深圳)有限公司 一种基于区块链的人工智能训练方法
CN109325584A (zh) * 2018-08-10 2019-02-12 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109635948A (zh) * 2018-12-19 2019-04-16 北京达佳互联信息技术有限公司 在线训练方法、装置、系统及计算机可读存储介质
CN109670594A (zh) * 2018-12-28 2019-04-23 北京旷视科技有限公司 数据训练方法、装置及电子设备
CN109978140A (zh) * 2019-03-27 2019-07-05 腾讯科技(深圳)有限公司 神经网络训练方法、装置、可读存储介质和计算机设备
CN110096346A (zh) * 2019-03-29 2019-08-06 广州思德医疗科技有限公司 一种多计算节点的训练任务处理方法及装置
CN110390100A (zh) * 2019-07-16 2019-10-29 广州小鹏汽车科技有限公司 处理方法、第一电子终端、第二电子终端和处理系统
CN110506280A (zh) * 2017-08-22 2019-11-26 华为技术有限公司 神经网络训练系统、方法和计算机可读存储介质
CN110533178A (zh) * 2018-05-25 2019-12-03 杭州海康威视数字技术股份有限公司 一种神经网络模型训练方法、装置及系统
CN110888668A (zh) * 2018-09-07 2020-03-17 腾讯科技(北京)有限公司 一种模型更新的系统、方法、装置、终端设备和介质
WO2020062303A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 训练神经网络的方法和装置
CN110955915A (zh) * 2019-12-14 2020-04-03 支付宝(杭州)信息技术有限公司 一种隐私数据的处理方法及装置
CN111105006A (zh) * 2018-10-26 2020-05-05 杭州海康威视数字技术股份有限公司 一种深度学习网络训练系统及方法
CN111461207A (zh) * 2020-03-30 2020-07-28 北京奇艺世纪科技有限公司 一种图片识别模型训练系统及方法
CN111814968A (zh) * 2020-09-14 2020-10-23 北京达佳互联信息技术有限公司 用于机器学习模型的分布式训练的方法和装置
CN112016699A (zh) * 2020-08-31 2020-12-01 北京灵汐科技有限公司 一种深度学习模型训练方法、工作节点和参数服务器
CN112528108A (zh) * 2019-09-17 2021-03-19 华为技术有限公司 一种模型训练系统、模型训练中梯度聚合的方法及装置
CN112598135A (zh) * 2020-12-24 2021-04-02 深圳壹账通智能科技有限公司 模型训练处理方法、装置、计算机设备及介质
CN112836787A (zh) * 2019-11-04 2021-05-25 百度(美国)有限责任公司 通过高效混合并行化减少深度神经网络训练次数
CN112866041A (zh) * 2021-04-23 2021-05-28 南京蓝洋智能科技有限公司 一种自适应性的网络系统及训练方法
CN113094171A (zh) * 2021-03-31 2021-07-09 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备和存储介质
WO2021142627A1 (zh) * 2020-01-14 2021-07-22 Oppo广东移动通信有限公司 资源调度方法、装置及可读存储介质
CN114327399A (zh) * 2021-11-25 2022-04-12 腾讯科技(深圳)有限公司 分布式训练方法、装置、计算机设备、存储介质和产品
CN114595050A (zh) * 2022-03-15 2022-06-07 阿里巴巴(中国)有限公司 模型训练请求的调度方法及装置
CN114647502A (zh) * 2020-12-18 2022-06-21 北京达佳互联信息技术有限公司 模型训练系统的特征信息的存储方法、装置及电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524178A (en) * 1991-07-09 1996-06-04 Fujitsu Limited Neural network learning system
CN101799748A (zh) * 2009-02-06 2010-08-11 中国移动通信集团公司 一种确定数据样本类别的方法及其系统
CN103109260A (zh) * 2010-05-04 2013-05-15 谷歌公司 数据的并行处理
CN103745225A (zh) * 2013-12-27 2014-04-23 北京集奥聚合网络技术有限公司 分布式ctr预测模型训练的方法和系统
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN104615767A (zh) * 2015-02-15 2015-05-13 百度在线网络技术(北京)有限公司 搜索排序模型的训练方法、搜索处理方法及装置
US20150134583A1 (en) * 2013-11-14 2015-05-14 Denso Corporation Learning apparatus, learning program, and learning method
CN104794504A (zh) * 2015-04-28 2015-07-22 浙江大学 基于深度学习的图形图案文字检测方法
CN105005911A (zh) * 2015-06-26 2015-10-28 深圳市腾讯计算机系统有限公司 深度神经网络的运算系统及运算方法
CN105354343A (zh) * 2015-12-24 2016-02-24 成都陌云科技有限公司 基于远程对话的用户特征挖掘方法
CN105765554A (zh) * 2013-12-05 2016-07-13 谷歌公司 在分布式存储系统上分发数据

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524178A (en) * 1991-07-09 1996-06-04 Fujitsu Limited Neural network learning system
CN101799748A (zh) * 2009-02-06 2010-08-11 中国移动通信集团公司 一种确定数据样本类别的方法及其系统
CN103109260A (zh) * 2010-05-04 2013-05-15 谷歌公司 数据的并行处理
US20150134583A1 (en) * 2013-11-14 2015-05-14 Denso Corporation Learning apparatus, learning program, and learning method
CN105765554A (zh) * 2013-12-05 2016-07-13 谷歌公司 在分布式存储系统上分发数据
CN103745225A (zh) * 2013-12-27 2014-04-23 北京集奥聚合网络技术有限公司 分布式ctr预测模型训练的方法和系统
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN104615767A (zh) * 2015-02-15 2015-05-13 百度在线网络技术(北京)有限公司 搜索排序模型的训练方法、搜索处理方法及装置
CN104794504A (zh) * 2015-04-28 2015-07-22 浙江大学 基于深度学习的图形图案文字检测方法
CN105005911A (zh) * 2015-06-26 2015-10-28 深圳市腾讯计算机系统有限公司 深度神经网络的运算系统及运算方法
CN105354343A (zh) * 2015-12-24 2016-02-24 成都陌云科技有限公司 基于远程对话的用户特征挖掘方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MART´IN ABADI等: "TensorFlow:Large-Scale Machine Learning on Heterogeneous Distributed Systems(Preliminary White Paper,November 9, 2015)", 《ARXIV:1603.04467V2 [CS.DC]》 *
邢海花等: "Takagi-Sugeno型分层混合模糊-神经网络训练算法研究", 《北京师范大学学报(自然科学版)》 *

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110506280B (zh) * 2017-08-22 2022-12-27 华为技术有限公司 神经网络训练系统、方法和计算机可读存储介质
CN110506280A (zh) * 2017-08-22 2019-11-26 华为技术有限公司 神经网络训练系统、方法和计算机可读存储介质
CN110533178A (zh) * 2018-05-25 2019-12-03 杭州海康威视数字技术股份有限公司 一种神经网络模型训练方法、装置及系统
CN108898219A (zh) * 2018-06-07 2018-11-27 广东工业大学 一种基于区块链的神经网络训练方法、装置及介质
CN109325584A (zh) * 2018-08-10 2019-02-12 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109190769A (zh) * 2018-08-21 2019-01-11 甲骨文科技时代(深圳)有限公司 一种基于区块链的人工智能训练方法
CN109190769B (zh) * 2018-08-21 2021-12-24 深圳点宽网络科技有限公司 一种基于区块链的人工智能训练方法
CN110888668B (zh) * 2018-09-07 2024-04-16 腾讯科技(北京)有限公司 一种模型更新的系统、方法、装置、终端设备和介质
CN110888668A (zh) * 2018-09-07 2020-03-17 腾讯科技(北京)有限公司 一种模型更新的系统、方法、装置、终端设备和介质
CN112400160B (zh) * 2018-09-30 2024-09-27 华为技术有限公司 训练神经网络的方法和装置
CN112400160A (zh) * 2018-09-30 2021-02-23 华为技术有限公司 训练神经网络的方法和装置
WO2020062303A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 训练神经网络的方法和装置
CN111105006B (zh) * 2018-10-26 2023-08-04 杭州海康威视数字技术股份有限公司 一种深度学习网络训练系统及方法
CN111105006A (zh) * 2018-10-26 2020-05-05 杭州海康威视数字技术股份有限公司 一种深度学习网络训练系统及方法
CN109635948A (zh) * 2018-12-19 2019-04-16 北京达佳互联信息技术有限公司 在线训练方法、装置、系统及计算机可读存储介质
CN109670594A (zh) * 2018-12-28 2019-04-23 北京旷视科技有限公司 数据训练方法、装置及电子设备
CN109978140A (zh) * 2019-03-27 2019-07-05 腾讯科技(深圳)有限公司 神经网络训练方法、装置、可读存储介质和计算机设备
CN109978140B (zh) * 2019-03-27 2021-02-26 腾讯科技(深圳)有限公司 神经网络训练方法、装置、可读存储介质和计算机设备
CN110096346A (zh) * 2019-03-29 2019-08-06 广州思德医疗科技有限公司 一种多计算节点的训练任务处理方法及装置
CN110390100B (zh) * 2019-07-16 2023-10-31 广州小鹏汽车科技有限公司 处理方法、第一电子终端、第二电子终端和处理系统
CN110390100A (zh) * 2019-07-16 2019-10-29 广州小鹏汽车科技有限公司 处理方法、第一电子终端、第二电子终端和处理系统
CN112528108A (zh) * 2019-09-17 2021-03-19 华为技术有限公司 一种模型训练系统、模型训练中梯度聚合的方法及装置
CN112528108B (zh) * 2019-09-17 2023-02-07 华为技术有限公司 一种模型训练系统、模型训练中梯度聚合的方法及装置
CN112836787A (zh) * 2019-11-04 2021-05-25 百度(美国)有限责任公司 通过高效混合并行化减少深度神经网络训练次数
CN110955915A (zh) * 2019-12-14 2020-04-03 支付宝(杭州)信息技术有限公司 一种隐私数据的处理方法及装置
WO2021142627A1 (zh) * 2020-01-14 2021-07-22 Oppo广东移动通信有限公司 资源调度方法、装置及可读存储介质
CN111461207A (zh) * 2020-03-30 2020-07-28 北京奇艺世纪科技有限公司 一种图片识别模型训练系统及方法
CN112016699B (zh) * 2020-08-31 2024-02-02 北京灵汐科技有限公司 一种深度学习模型训练方法、工作节点和参数服务器
WO2022042741A1 (zh) * 2020-08-31 2022-03-03 北京灵汐科技有限公司 学习模型训练方法、工作节点、服务器、设备、介质
CN112016699A (zh) * 2020-08-31 2020-12-01 北京灵汐科技有限公司 一种深度学习模型训练方法、工作节点和参数服务器
CN111814968A (zh) * 2020-09-14 2020-10-23 北京达佳互联信息技术有限公司 用于机器学习模型的分布式训练的方法和装置
CN111814968B (zh) * 2020-09-14 2021-01-12 北京达佳互联信息技术有限公司 用于机器学习模型的分布式训练的方法和装置
CN114647502A (zh) * 2020-12-18 2022-06-21 北京达佳互联信息技术有限公司 模型训练系统的特征信息的存储方法、装置及电子设备
CN112598135A (zh) * 2020-12-24 2021-04-02 深圳壹账通智能科技有限公司 模型训练处理方法、装置、计算机设备及介质
CN113094171A (zh) * 2021-03-31 2021-07-09 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备和存储介质
CN113094171B (zh) * 2021-03-31 2024-07-26 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备和存储介质
CN112866041A (zh) * 2021-04-23 2021-05-28 南京蓝洋智能科技有限公司 一种自适应性的网络系统及训练方法
CN114327399A (zh) * 2021-11-25 2022-04-12 腾讯科技(深圳)有限公司 分布式训练方法、装置、计算机设备、存储介质和产品
CN114327399B (zh) * 2021-11-25 2024-07-26 腾讯科技(深圳)有限公司 分布式训练方法、装置、计算机设备、存储介质和产品
CN114595050A (zh) * 2022-03-15 2022-06-07 阿里巴巴(中国)有限公司 模型训练请求的调度方法及装置

Also Published As

Publication number Publication date
CN107688493B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN107688493B (zh) 训练深度神经网络的方法、装置及系统
US11531926B2 (en) Method and apparatus for generating machine learning model by using distributed computing framework
CN114787824A (zh) 联合混合模型
US20230206132A1 (en) Method and Apparatus for Training AI Model, Computing Device, and Storage Medium
CN110366193B (zh) 一种智能电网的网络编排层承载的切片部署方法及装置
EP3688673A1 (en) Neural architecture search
CN113742089B (zh) 异构资源中神经网络计算任务的分配方法、装置和设备
CN116450312A (zh) 面向流水线并行训练的调度策略确定方法及系统
CN113869521A (zh) 构建预测模型的方法、装置、计算设备和存储介质
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
WO2022252694A1 (zh) 神经网络优化方法及其装置
CN105677447B (zh) 分布式云中基于聚类的时延带宽极小化虚拟机部署方法
GB2567147A (en) Machine learning query handling system
Wang et al. Immune scheduling network based method for task scheduling in decentralized fog computing
CN113850394B (zh) 联邦学习方法、装置、电子设备及存储介质
CN106790332A (zh) 一种资源调度方法、系统及主节点
US10313457B2 (en) Collaborative filtering in directed graph
CN106502790A (zh) 一种基于数据分布的任务分配优化方法
CN107103360B (zh) 一种基于混合云的可靠应用分配分布式遗传方法
CN113254215B (zh) 数据处理方法和装置、存储介质及电子设备
Atan et al. Ai-empowered fast task execution decision for delay-sensitive iot applications in edge computing networks
CN109598344A (zh) 模型生成方法和装置
CN116367190A (zh) 一种面向6g移动网络的数字孪生功能虚拟化方法
CN112906745B (zh) 基于边缘协同的诚信智能网络训练方法
CN114912627A (zh) 推荐模型训练方法、系统、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211105

Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang

Patentee after: Alibaba (China) Network Technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right