买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种神经网络训练方法及其装置、计算机服务器_北京图森智途科技有限公司_201810498650.1 

申请/专利权人:北京图森智途科技有限公司

申请日:2018-05-23

公开(公告)日:2021-10-12

公开(公告)号:CN108805258B

主分类号:G06N3/02(20060101)

分类号:G06N3/02(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.10.12#授权;2018.12.07#实质审查的生效;2018.11.13#公开

摘要:本发明公开一种神经网络训练方法及其装置、计算机服务器,以解决现有技术无法自动化训练神经网络的问题。方法包括:自动筛选神经网络处理失败的输入数据,得到待标注数据集;对所述待标注数据集进行标注,得到新的标注数据集;获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。本发明技术方案能够实现自动化训练神经网络,以不断提高神经网络的准确性。

主权项:1.一种应用神经网络训练方法的目标检测方法,其特征在于,所述神经网络为目标检测模型,输入给该目标检测模型为一个包含多个视频帧序列的视频;所述目标检测方法包括:将包含多个视频帧序列的视频输入到神经网络训练后的目标检测模型中进行处理;将神经网络训练后的目标检测模型的输出作为目标检测结果;该神经网络训练方法按照预置的时间周期执行以下步骤,包括:自动筛选神经网络处理失败的输入数据,得到待标注数据集;对所述待标注数据集进行标注,得到新的标注数据集,具体包括:将所述待标注数据集发送给标注平台,通过所述标注平台对所述待标注数据集的数据进行标注,以得到新的标注数据集;或者,通过人工对所述待标注数据集进行标注,以得到新的标注数据集;获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络,其中,所述神经网络中的多个特定结构分别设置有对应的稀疏缩放算子,其中稀疏缩放算子用于对相应特定结构的输出进行缩放,且不同的特定结构根据其运算复杂度设置有不同的稀疏惩罚权重。

全文数据:一种神经网络训练方法及其装置、计算机服务器技术领域[0001]本发明涉及深度学习领域,特别涉及一种神经网络训练方法、一种神经网络训练装置和一种计算机服务器。背景技术[0002]近几年来,深度神经网络在诸多领域中取得了巨大的成功,如计算机视觉、自然语言处理等。然而,为了将深度神经网络应用到实际应用当中,深度神经网络必须满足以下三个条件:1符合实际应用速度需求;2在大量的实际场景数据上进行训练;3能够根据实际需求快速迭代更新。[0003]当神经网络在实际投入使用时,研发人员发现神经网络处理不理想时,启动对该神经网络的重新训练,并手动获取用于重新训练该神经网络的样本数据集,基于该样本数据集对该神经网络进行重新训练。整个重新训练的过程均需要人工参与,如何能够实现神经网络的自动训练目前没有公开相关的技术方案。发明内容[0004]鉴于上述问题,本发明提供一种神经网络训练方法及其装置、计算机服务器,以实现自动化训练神经网络,以不断提高神经网络的准确性。[0005]本发明实施例,第一方面,提供一种神经网络训练方法,该方法按照预置的时间周期执行以下步骤,包括:[0006]自动筛选神经网络处理失败的输入数据,得到待标注数据集;[0007]对所述待标注数据集进行标注,得到新的标注数据集;[0008]获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;[0009]基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。[0010]本发明实施例,第二方面,提供一种神经网络训练装置,所述装置包括:[0011]控制单元,用于按照预置的时间周期触发筛选单元、标注单元、获取单元和训练单元;[0012]筛选单元,用于自动筛选神经网络处理失败的输入数据,得到待标注数据集;[0013]标注单元,用于对所述待标注数据集进行标注,得到新的标注数据集;[0014]获取单元,用于获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;[0015]训练单元,用于基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。[0016]本发明实施例,第三方面,还提供一种计算机服务器,该计算机服务器包括存储器,以及与所述存储器通信连接的一个或多个处理器;[0017]所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现第一方面提供的神经网络训练方法。[0018]本发明技术方案,在神经网络实际投入使用之后,能够自动检测神经网络处理失败的输入数据,并对该处理失败的输入数据进行标注,得到新的标注数据集;获取包含该新的标注数据集的新增标注数据集,并将该新增标注数据集加入到前一周期用于训练该神经网络的训练样本数据集中,以不断丰富用于训练该神经网络的训练样本数据集,使得训练样本数据集中的训练样本数据越来越多;自动基于丰富后的训练样本数据集对神经网络进行迭代训练,以不断提高神经网络的准确性。采用本发明技术方案,在神经网络实际投入使用之后,能够打通自动筛选待标注数据、标注数据、自动更新训练样本数据集和自动训练神经网络等环节,实现全过程自动化,无需人工参与,能够自动化的丰富用于训练神经网络的训练样本数据集,并基于丰富后的训练样本数据集自动化的对神经网络进行训练,以不断提高神经网络的准确性。附图说明[0019]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。[0020]图1为本发明实施例中神经网络训练方法的流程图之一;[0021]图2为本发明实施例中神经网络训练方法的流程图之二;[0022]图3为本发明实施例中实现自动化训练神经网络的示意图之一;[0023]图4为本发明实施例中实现自动化训练神经网络的示意图之二;[0024]图5为本发明实施例中获取新增标注数据集的示意图;[0025]图6为本发明实施例中神经网络训练方法的流程图之三;[0026]图7为本发明实施例中特定结构为模块的示意图;[0027]图8为本发明实施例中特定结构为残差网络中的残差模块的示意图;[0028]图9为本发明实施例中特定结构为模组的示意图;[0029]图10为本发明实施例中特定结构为神经元的示意图;[0030]图11为本发明实施例中神经网络训练装置的结构示意图之一;[0031]图12为本发明实施例中神经网络训练装置的结构示意图之二;[0032]图13为本发明实施例中计算机服务器的结构示意图。具体实施方式[0033]为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。[0034]本发明实施例提供的技术方案可以适用于任意结构、实现任意功能的神经网络,本申请对神经网络的具体结构、实现的具体功能没有严格限定。例如,本发明实施例中的神经网络可以是实现图像分割、物体检测、人脸识别或自然语言处理等功能的神经网络。[0035]实施例一[0036]参见图1,为本发明实施例中神经网络训练方法的流程图,该方法包括步骤101〜步骤104,其中:[0037]步骤101、自动筛选神经网络处理失败的输入数据,得到待标注数据集。[0038]步骤102、对所述待标注数据集进行标注,得到新的标注数据集。[0039]步骤103、获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集。[0040]步骤104、基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。[0041]优选地,本发明实施例中,为了提高神经网络自动训练的可控性,本发明实施例中,前述图1所示的流程可以是在接收到自动训练开始指令时按照预置的时间周期周期性地执行前述步骤101〜步骤104,以及在接收到自动训练停止指令时结束流程,如图2所示。本发明实施例中自动训练开始指令和自动训练停止指令可以由人工输入,也可以由预置的程序代码按照预设的触发条件例如自动训练开始时间和自动训练结束时间等)自动生成,本申请不做严格限定。[0042]在一个示例中,前述步骤102具体可通过但不仅限于以下方式实现:[0043]方式AU将所述待标注数据集发送给标注平台,通过所述标注平台对所述待标注数据集的数据进行标注,以得到新的标注数据集。[0044]在该方式Al中,将所述待标注数据集发送给标注平台,具体可通过但不仅限于以下任意一种方式实现:[0045]方式All、直接将待标注数据集传输给标注平台;[0046]方式A12、将待标注数据集存储至预置的存储空间(该存储空间专用于存储需要标注平台标注的待标注的数据集),由标注平台从该存储空间中获取所述待标注数据集。[0047]方式A2、通过人工对所述待标注数据集进行标注,以得到新的标注数据集。[0048]在一个示例中,步骤103中获取包含所述新的标注数据集的新增标注数据集,可以通过但不仅限于以下任意一种方式实现:[0049]方式B1、从标注平台接收所述新增标注数据集。[0050]在该方式B1中,可以通过向标注平台发送数据请求的方式从标注平台获取所述新增标注数据集,也可以由标注平台主动下发新增标注数据集,本申请不做严格限定。[0051]方式B2、从标注数据库中获取新增标注数据集。[0052]在该方式B2中,可以由人工或标注平台将所有已完成标注的标注数据集存储至预置的标注数据库中,由其他的应用软件程序从该标注数据库中获取所需的标注数据集。[0053]若采用方式B1,则可采用如图3所示的示意图实现神经网络的自动化训练;若采用方式B2,则可采用如图4所示的示意图实现神经网络的自动化训练。[0054]本发明实施例中,新增标注数据集中可以仅包含所述新的标注数据集,也可以是既包含所述新的标注数据集也包含其他适用于对所述神经网络进行训练的其他标注数据集。本申请不做严格限定。[0055]针对方式B2,在一个示例中,假设新增标注数据集中仅包含所述新的标注数据集。假设待标注数据集唯一对应一个ID号,该待标注数据集被标注平台标注后得到的新的标注数据集的ID号保持不变,标注平台将该新的标注数据集存储至标注数据库中,标注数据库中的每个标注数据集唯一对应一个ID号。从标注数据库中获取新增标注数据集,具体实现可如下:从标注数据库中选取ID号与待标注数据集的ID号一致的标注数据集,将选取的标注数据集添加至新增标注数据集中。[0056]针对方式B2,在一个示例中,假设新增标注数据集中包含所述新的标注数据集以及其他适用于训练所述神经网络的标注数据集。假设标注数据库中每个标注数据集唯一对应一个标签和ID号,从标注数据库中获取新增标注数据集,具体实现可如下:从标注数据库中选取标签与所述神经网络的标签匹配的标注数据集;针对选取的每个标注数据集,将该标注数据集的ID号与前一周期用于训练该神经网络的训练样本数据集中的样本数据集的ID号进行比对,若比对不一致则将该标注数据集添加至新增标注数据集中。[0057]如图5所示,假设前一周期用于训练所述神经网络的训练样本数据集包括4个样本数据集,该4个样本数据集对应的ID号依次为:Al、A2、A3、A4。标注数据库中包含6个标注数据集,该6个标注数据集对应的ID号依次为:△1^35、81、82和83,其中10号为413、六5的标注数据集的标签与所述神经网络的标签匹配;针对ID号为A1、A3、A5的每个标注数据集,将该标注数据集的ID号分别与前一周期的训练样本数据集包括的4个样本数据集的ID号进行一一比对,若均不一致,则将该标注数据集添加至新增标注数据集中,例如ID号为A5的标注数据集与前一周期的训练样本数据集中的4个样本数据集的ID号均不一致,则将该ID号为A5的标注数据集添加至新增标注数据集中;依此,得到新增标注数据集为包含ID号为AUA3、A5的标注数据集的集合,得到本周期的训练样本数据集为ID号为△12^34、45的样本数据集的并集。[0058]本发明实施例,每个周期自动获取新增标注数据集并存储至神经网络的训练样本数据集中,能够不断的扩充和丰富用于训练神经网络的训练样本数据集,根据数据量越来越大的训练样本数据集对神经网络进行训练使得训练得到的神经网络越精准,逐步提高神经网络的准确性。[0059]前述图1和图2所示的神经网络所采用的基础神经网络模型(即第一周期开始时使用的神经网络),可以是从预置的神经网络模型集中选取一个与期望训练得到的神经网络所实现的功能如图像分割、物体检测、人脸识别、自然语言处理等对应的基础神经网络模型,也可以根据期望训练得到的神经网络所实现的功能构建一个基础神经网络模型。本申请对神经网络的具体结构不做严格的限定。[0060]本申请对前述步骤104中基于本周期的训练样本数据集对所述神经网络进行迭代训练的方式不做严格限定,可以采用现有的迭代训练方式进行训练。[0061]优选地,为进一步提高前述步骤104训练得到的神经网络的运行速率,一种方式是对每个周期训练得到的神经网络进行剪枝;另一种方式是在每个周期对神经网络进行迭代训练时进行剪枝。下面针对该两种方式进行详细的描述:[0062]第一种方式,可以在前述图1、图2所示的步骤104之后还包括步骤105,如图6所示:[0063]步骤105、对本周期训练得到的神经网络进行剪枝。[0064]第二种方式,所述步骤104中基于本周期的训练样本数据集对所述神经网络进行迭代训练,具体实现如下:[0065]基于本周期的训练样本数据集对所述神经网络进行迭代训练并剪枝。[0066]本领域技术人员可以根据实际需求选择第一种方式或第二种方式,本申请不作严格限定。[0067]优选地,基于前述第二种方式,为提高神经网络训练的效率和降低训练得到的神经网络的结构复杂度,本发明实施例中,设计人员可构建基础神经网络模型的结构,在构建基础神经网络模型时,为该基础神经网络模型中的每个特定结构设置对应的一个稀疏缩放算子,该稀疏缩放算子用于对相应特定结构的输出进行缩放。在每个周期中,当对设置有稀疏缩放算子的神经网络进行训练的过程中,通过本周期的训练样本数据集对神经网络中的权重和稀疏缩放算子一起训练,在训练结束后,将训练得到的神经网络中的稀疏缩放算子为零的特定结构删除,以得到本周期训练得到的神经网络。该种神经网络训练方式,一方面,引入稀疏缩放算子来缩放不同特定结构的输出,不需要在权重上加入新的约束,权重和稀疏缩放算子可进行独立优化,后续的优化过程更加简单,易于实现;另一方面,稀疏缩放算子为零的特定结构对神经网络的输出结果没有贡献,将稀疏缩放算子为零的特定结构删除,并不影响神经网络的精度,而且还能够精简神经网络以提高神经网络运行速度。[0068]本发明实施例中,各特定结构的稀疏缩放算子的取值大于等于0。优选地,初始稀疏缩放算子的取值接近1,例如可以直接取值为1。[0069]因此,本发明实施例中,所述神经网络的多个特定结构分别设置有对应的稀疏缩放算子,前述步骤104具体可通过但不仅限于以下方式实现,该方式包括步骤Cl〜步骤C2,其中:[0070]步骤CU基于本周期的训练样本数据集对所述神经网络的权重和特定结构的稀疏缩放算子进行迭代训练,在迭代训练结束时执行步骤C2;[0071]步骤C2、将训练得到的神经网络中稀疏缩放算子为零的特定结构删除,得到本周期训练得到的神经网络。[0072]步骤Cl具体实现可如下:采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练;当迭代训练次数达到阈值或者所述神经网络对应的目标函数满足预置的收敛条件时,确定训练结束,其中,所述目标函数包含损失函数和稀疏正则函数。[0073]优选地,前述步骤Cl具体实现可通过对初始神经网络进行多次以下的迭代训练,以一次非首次迭代和非尾次迭代的迭代过程(以下称为本次迭代训练为例进行描述,一次迭代训练包括以下步骤Dl〜步骤D3:[0074]步骤D1、将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;[0075]步骤D2、将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;[0076]步骤D3、基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。[0077]首次迭代训练过程如下:将初始稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。[0078]尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。[0079]优选地,本发明实施例中,所述第一优化算法可以为但不仅限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。[0080]优选地,本发明实施例中,所述第二优化算法可以为但不仅限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法、交替方向乘子算法。[0081]优选地,本发明实施例中,神经网络的目标函数包含损失函数、权重正则函数和稀疏正则函数,该目标函数如式⑴所示:[0082][0083]其中,[0084]式(1中,所述W为所述神经网络的权重,λ为所述神经网络的稀疏缩放算子向量,N为本周期的训练样本数据集中样本数据的数量,)为神经网络在样本数据^上的损失,为权重正则函数,为稀疏正则函数,K为神经网络中特定结构的数量,h为第j个特定结构的稀疏缩放算子,γ』为第j个特定结构对应的稀疏惩罚权重,γ』根据第j个特定结构的运算复杂度计算得到。[0085]在实际情况中,神经网络中不同的特定结构其运算复杂度不同,若对所有的特定结构加入相同权重的稀疏约束,则可能会导致在后续进行特定结构的删除操作时,将运算复杂度较小的特定结构删除,而保留了运算复杂度较大的特定结构。因此,为降低训练得到的神经网络的运算复杂度,本发明实施例中为不同特定结构设置不同权重的稀疏约束,即对不同特定结构对应的稀疏缩放算子设置不同的稀疏惩罚权重。在一种实现方式中:预先设置一个基础稀疏惩罚权重;计算每个特定结构的运算复杂度;将每个特定结构的运算复杂度与基础稀疏惩罚权重的乘积作为该特定结构的稀疏惩罚权重。如以下式2:[0086]Yj=YbaseXflopj式⑵[0087]式⑵中,γj为第j个特定结构对应的稀疏惩罚权重,γbase为预置的基础稀疏惩罚权重,fl〇Pj为第j个特定结构对应的运算复杂度。[0088]本发明实施例中,确定各特定结构的运算复杂度可以通过但不仅限于以下方式实现:[0089]情况1、若特定结构包含全连接层,则计算全连接层的运算复杂度,并将该特定结构包含的所有全连接层的运算复杂度的和值确定为该特定结构对应的运算复杂度;[0090]情况2、若特定结构包含卷积层,则计算卷积层的运算复杂度,并将该特定结构包含的所有卷积层的运算复杂度的和值确定为该特定结构对应的运算复杂度;[0091]情况3、若特定结构包含全连接层和卷积层,则计算卷积层和全连接层的运算复杂度,并将该特定结构包含的所有卷积层和全连接层的运算复杂度的和值确定为该特定结构对应的运算复杂度。[0092]在一个示例中,计算全连接层的运算复杂度flop=NlXN2,其中,Nl为全连接层的输入通道数,N2为该全连接层的输出通道数。[0093]在一个示例中,计算卷积层的运算复杂度flop=NIXN2XHlXWlXH2XW2,其中,Nl为卷积层的输入通道数,N2为卷积层的输出通道数,Hl为输入特征图的高,Wl为输入特征图的宽,H2为卷积核的高,W2为卷积核的宽。[0094]本发明实施例中,可由设计人员确定基础神经网络模型中的特定结构,例如:可将基础神经网络模型中的某一层或某些网络层的全部或部分神经元确定为特定结构。和或,将基础神经网络中具有以下特性的一个或多个模组确定为特定结构:特性1、包含一个以上网络层例如,该特定结构包含两个以上级联的网络层);特性2、与其他模组并联或者该模组前后端具有跨层连接。和或,将基础神经网络模型中具有以下特性的一个或多个模块确定为特定结构:特性1、包含一个以上模组的模块例如,该特定结构包含两个以上并联的模组);特性2、该模块的前后端具有跨层连接。[0095]下面分别以特定结构为模块、模组和神经元进行详细描述。[0096]如图7所示,假设神经网络包含N个模块,每个模块对应一个稀疏缩放算子,且每个模块的前后端具有跨层连接。[0097]以一个具体为例,假设神经网络为残差网络,设置特定结构为残差模块,如上图8所示,该残差模块前后端具有跨层连接,第i个残差模块对应的稀疏缩放算子为λ1,则:[0098][0099]若经过训练之后,得到第三个残差模块的稀疏缩放算子λ3=0时,则将残差网络中第3个残差模块.)删除。[0100]如图9所示,假设神经网络包含N个模块,每个模块包含M个模组,每个模组包含多个级联的网络层,每个模组对应一个稀疏缩放算子。[0101]如图10所示,假设神经网络包含L个网络层,第1网络层包含k神经元,则该k个神经元分别对应一个稀疏缩放算子。[0102]优选地,前述步骤101中,自动筛选神经网络处理失败的输入数据,可以是通过人工判断;也可以是通过预先设置的自动审核机制审核神经网络处理失败的输入数据;也可以通过精度特别高且与所述神经网络实现相同功能的教师网络对所述神经网络的相同输入数据进行处理,将教师网络的处理结果与所述神经网络的处理结果进行比对,筛选出所述神经网络处理失败的输入数据。[0103]优选地,在一个应用场景中,本发明实施例中的神经网络为目标检测模型,输入给该目标检测模型为一个包含多个视频帧序列的视频,前述步骤101中,自动筛选神经网络处理失败的输入数据,具体可通过但不仅限于以下方式实现,该方式包括以下步骤:[0104]步骤EU将视频输入到目标检测模型中,得到每一帧图像的检测结果;[0105]步骤E2、将所述视频的所有帧图像的检测结果输入到目标跟踪模型,得到每一帧图像的跟踪结果;[0106]步骤E3、针对所述视频的每一帧图像执行以下步骤:匹配一帧图像的检测结果与跟踪结果;若匹配不一致,则确定所述一帧图像为所述目标检测模型处理失败的输入数据,并将该输入数据确定为待标注数据。[0107]在一个示例中,前述步骤E3中,匹配一帧图像的检测结果与跟踪结果,具体包括:采用二分图匹配算法匹配一帧图像的检测结果与跟踪结果。二分图匹配算法可以为匈牙利匹配算法。[0108]针对前述步骤E3中匹配一帧图像的检测结果与跟踪结果也可以按照以下方式实现:针对一帧图像,采用遍历方式一一匹配每一个检测目标和跟踪目标。例如,某一帧图像的检测结果包括Al、A2这两个检测目标,该一帧图像的跟踪结果包括BI、B2这两个跟踪目标,则分别匹配Al与BUAl与B1、A2与BI、A2与B2这四组;若检测目标与跟踪目标——对应匹配,则确定该一帧图像不是目标检测模型处理失败的输入数据,否则确定该一帧图像为目标检测模型处理失败的输入数据。[0109]优选地,步骤E3中确定出的样本图像中可能会存在相邻多帧图像,而该相邻多帧图像基本是一样的,为避免冗余,降低标注工作量,本发明实施例中,在前述所有实施例中,前述步骤103匹配完所述视频中的所有帧图像之后,还包括步骤E4:[0110]步骤E4、通过时序非极大值抑制算法对步骤E3确定出的样本图像进行采样。[0111]当然,本领域技术人员,针对步骤E4也可以采用其他的方式对样本图像进行采用,例如采用简单的间隔采样算法。[0112]实施例二[0113]基于前述实施例一提供的一种神经网络训练方法的相同构思,本发明实施例二提供一种神经网络训练装置,该装置的结构如图11所示,包括控制单元1、筛选单元2、标注单元3、获取单元4和训练单元5,其中:[01M]控制单元1,用于按照预置的时间周期触发筛选单元2、标注单元3、获取单元4和训练单元5;[0115]筛选单元2,用于自动筛选神经网络处理失败的输入数据,得到待标注数据集;[0116]标注单元3,用于对所述待标注数据集进行标注,得到新的标注数据集;[0117]获取单元4,用于获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;[0118]训练单元5,用于基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。[0119]优选地,本发明实施例中,标注单元3具体实现可如下:将所述待标注数据集发送给标注平台,通过所述标注平台对所述待标注数据集的数据进行标注以得到新的标注数据集对应前述方式Al,在此不再赘述)。或者,通过人工对所述待标注数据集进行标注,以得到新的标注数据集对应前述方式A2[0120]优选地,所述获取单元4获取包含所述新的标注数据集的新增标注数据集,具体包括:从标注平台接收所述新增标注数据集与实施例一中的方式Bl对应,技术细节在此不再赘述);或者,从标注数据库中获取所述新增标注数据集与实施例一中的方式B2对应,技术细节在此不再赘述)。[0121]本发明实施例中,神经网络所采用的基础神经网络模型(即第一周期开始时使用的神经网络),可以是从预置的神经网络模型集中选取一个与期望训练得到的神经网络所实现的功能(如图像分割、物体检测、人脸识别、自然语言处理等)对应的基础神经网络模型,也可以根据期望训练得到的神经网络所实现的功能构建一个基础神经网络模型。本申请对神经网络的具体结构不做严格的限定。[0122]本申请对前述训练单元5基于本周期的训练样本数据集对所述神经网络进行迭代训练的方式不做严格限定,可以采用现有的迭代训练方式进行训练。[0123]优选地,为进一步提高训练单元5训练得到的神经网络的运行速率,一种方式是对每个周期训练得到的神经网络进行剪枝;另一种方式是在每个周期对神经网络进行迭代训练时进行剪枝。下面针对该两种方式进行详细的描述:[0124]第一种方式,在前述图11所述的装置还可进一步包括剪枝单元6,如图12所示:[0125]剪枝单元6,用于对本周期训练得到的神经网络进行剪枝.[0126]第二种方式,所述训练单元5,具体用于:基于本周期的训练样本数据集对所述神经网络进行迭代训练并剪枝,得到本周期训练得到的神经网络。[0127]本领域技术人员可以根据实际需求选择第一种方式或第二种方式,本申请不作严格限定。[0128]优选地,基于前述第二种方式,为提高神经网络训练的效率和降低训练得到的神经网络的结构复杂度,本发明实施例中,设计人员可构建基础神经网络模型的结构,在构建基础神经网络模型时,为该基础神经网络模型中的每个特定结构设置对应的一个稀疏缩放算子,该稀疏缩放算子用于对相应特定结构的输出进行缩放。在每个周期中,当对设置有稀疏缩放算子的神经网络进行训练的过程中,通过本周期的训练样本数据集对神经网络中的权重和稀疏缩放算子一起训练,在训练结束后,将训练得到的神经网络中的稀疏缩放算子为零的特定结构删除,以得到本周期训练得到的神经网络。该种神经网络训练方式,一方面,引入稀疏缩放算子来缩放不同特定结构的输出,不需要在权重上加入新的约束,权重和稀疏缩放算子可进行独立优化,后续的优化过程更加简单,易于实现;另一方面,稀疏缩放算子为零的特定结构对神经网络的输出结果没有贡献,将稀疏缩放算子为零的特定结构删除,并不影响神经网络的精度,而且还能够精简神经网络以提高神经网络运行速度。[0129]本发明实施例中,各特定结构的稀疏缩放算子的取值大于等于0。优选地,初始稀疏缩放算子的取值接近1,例如可以直接取值为1。[0130]优选地,所述神经网络的多个特定结构分别设置有对应的稀疏缩放算子,其中稀疏缩放算子用于对相应特定结构的输出进行缩放;所述训练单元5具体包括:[0131]训练子单元,用于基于本周期的训练样本数据集对所述神经网络的权重和特定结构的稀疏缩放算子进行迭代训练,在迭代训练结束时触发删除子单元;[0132]删除子单元,用于将训练子单元训练得到的神经网络中稀疏缩放算子为零的特定结构删除,得到本周期训练得到的神经网络。[0133]优选地,所述训练子单元具体用于:采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练;当迭代训练次数达到阈值或者所述神经网络对应的目标函数满足预置的收敛条件时,确定训练结束,其中,所述目标函数包含损失函数和稀疏正则函数。[0134]所述训练子单元采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练,具体包括:[0135]对所述神经网络进行多次以下迭代训练:[0136]将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。[0137]首次迭代训练过程如下:将初始稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行第二次迭代训练。[0138]尾次迭代训练过程如下:将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;将包含本次迭代训练得到的稀疏缩放算子和权重的神经网络作为中间神经网络。[0139]优选地,本发明实施例中,所述第一优化算法可以为但不仅限于为以下任意一种算法:随机梯度下降算法、引入动量的变种算法。[0140]优选地,本发明实施例中,所述第二优化算法可以为但不仅限于为以下任意一种算法:加速近端梯度下降算法、近端梯度下降算法、交替方向乘子算法。[0141]优选地,所述目标函数可以设置为如实施例一中的式1,在此不再赘述。[0142]在实际情况中,神经网络中不同的特定结构其运算复杂度不同,若对所有的特定结构加入相同权重的稀疏约束,则可能会导致在后续进行特定结构的删除操作时,将运算复杂度较小的特定结构删除,而保留了运算复杂度较大的特定结构。因此,为降低训练得到的神经网络的运算复杂度,本发明实施例中为不同特定结构设置不同权重的稀疏约束,即对不同特定结构对应的稀疏缩放算子设置不同的稀疏惩罚权重。在一种实现方式中:预先设置一个基础稀疏惩罚权重;计算每个特定结构的运算复杂度;将每个特定结构的运算复杂度与基础稀疏惩罚权重的乘积作为该特定结构的稀疏惩罚权重。具体可参见实施例一中的相关内容,在此不再赘述。[0143]优选地,本发明实施例中,筛选单元2具体实现可参见实施例一中关于步骤101的相关内容,在此不再赘述。[0144]实施例三[0145]本发明实施例三还提供一种计算机服务器,如图13所示,该计算机服务器包括存储器,以及与所述存储器通信连接的一个或多个处理器;[0146]所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现前述实施例一中任意一种神经网络训练方法。[0147]本发明实施例三中,该计算机服务器可以为PC机、笔记本、平板电脑、FPGAField-ProgrammableGateArray,即现场可编程门阵列)、工业电脑或者智能手机等硬件设备。[0148]以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件可以在任何计算装置包括处理器、存储介质等或者计算装置的网络中,以硬件固件、软件或者他们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用它们的基本编程技能就能实现的。[0149]本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。[0150]另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。[0151]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。[0152]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。[0153]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。[0154]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。[0155]尽管已描述了本发明的上述实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括上述实施例以及落入本发明范围的所有变更和修改。[0156]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

权利要求:1.一种神经网络训练方法,其特征在于,该方法按照预置的时间周期执行以下步骤,包括:自动筛选神经网络处理失败的输入数据,得到待标注数据集;对所述待标注数据集进行标注,得到新的标注数据集;获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。2.根据权利要求1所述的方法,其特征在于,所述获取包含所述新的标注数据集的新增标注数据集,具体包括:从标注平台接收所述新增标注数据集;或者,从标注数据库中获取所述新增标注数据集。3.根据权利要求1所述的方法,其特征在于,在得到本周期训练得到的神经网络之后,还包括:对本周期训练得到的神经网络进行剪枝。4.根据权利要求1所述的方法,其特征在于,基于本周期的训练样本数据集对所述神经网络进行迭代训练,具体包括:基于本周期的训练样本数据集对所述神经网络进行迭代训练并剪枝。5.根据权利要求4所述的方法,其特征在于,所述神经网络中的多个特定结构分别设置有对应的稀疏缩放算子,其中稀疏缩放算子用于对相应特定结构的输出进行缩放;基于本周期的训练样本数据集对所述神经网络进行迭代训练并剪枝,具体包括:基于本周期的训练样本数据集对所述神经网络的权重和特定结构的稀疏缩放算子进行迭代训练,将训练得到的神经网络中稀疏缩放算子为零的特定结构删除。6.根据权利要求5所述的方法,其特征在于,基于本周期的训练样本数据集对所述神经网络的权重和特定结构的稀疏缩放算子进行迭代训练,具体包括:采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练;当迭代训练次数达到阈值或者所述神经网络对应的目标函数满足预置的收敛条件时,确定训练结束,其中,所述目标函数包含损失函数和稀疏正则函数。7.根据权利要求6所述的方法,其特征在于,采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练,具体包括:对所述神经网络进行多次以下迭代训练:将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。8.根据权利要求7所述的方法,其特征在于,所述目标函数为:其中,所述W为所述神经网络的权重,λ为所述神经网络的稀疏缩放算子向量,N为本周期的训练样本数据集中样本数据的数量,I为神经网络在样本数据^上的损失,为权重正则函数为稀疏正则函数,K为神经网络中特定结构的数量,λ」为第j个特定结构的稀疏缩放算子,γ』为第j个特定结构对应的稀疏惩罚权重,γ』根据第j个特定结构的运算复杂度计算得到。9.一种神经网络训练装置,其特征在于,所述装置包括:控制单元,用于按照预置的时间周期触发筛选单元、标注单元、获取单元和训练单元;筛选单元,用于自动筛选神经网络处理失败的输入数据,得到待标注数据集;标注单元,用于对所述待标注数据集进行标注,得到新的标注数据集;获取单元,用于获取包含所述新的标注数据集的新增标注数据集,并将该新增标注数据集与前一周期用于训练所述神经网络的训练样本数据集的并集确定为本周期的训练样本数据集;训练单元,用于基于本周期的训练样本数据集对所述神经网络进行迭代训练,得到本周期训练得到的神经网络。10.根据权利要求9所述的装置,其特征在于,所述获取单元获取包含所述新的标注数据集的新增标注数据集,具体包括:从标注平台接收所述新增标注数据集;或者,从标注数据库中获取所述新增标注数据集。11.根据权利要求9所述的装置,其特征在于,所述装置还包括:剪枝单元,用于对本周期训练得到的神经网络进行剪枝。12.根据权利要求9所述的装置,其特征在于,所述训练单元,具体用于:基于本周期的训练样本数据集对所述神经网络进行迭代训练并剪枝,得到本周期训练得到的神经网络。13.根据权利要求9〜10任一项所述的装置,其特征在于,所述神经网络中的多个特定结构分别设置有对应的稀疏缩放算子,其中稀疏缩放算子用于对相应特定结构的输出进行缩放;所述训练单元具体包括:训练子单元,用于基于本周期的训练样本数据集对所述神经网络的权重和特定结构的稀疏缩放算子进行迭代训练,在迭代训练结束时触发删除子单元;删除子单元,用于将训练子单元训练得到的神经网络中稀疏缩放算子为零的特定结构删除,得到本周期训练得到的神经网络。14.根据权利要求13所述的装置,其特征在于,所述训练子单元具体用于:采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练;当迭代训练次数达到阈值或者所述神经网络对应的目标函数满足预置的收敛条件时,确定训练结束,其中,所述目标函数包含损失函数和稀疏正则函数。15.根据权利要求14所述的装置,其特征在于,所述训练子单元采用本周期的训练样本数据集中的样本数据对所述神经网络进行迭代训练,具体包括:对所述神经网络进行多次以下迭代训练:将前一次迭代训练得到的稀疏缩放算子作为所述目标函数的常量,将所述权重作为所述目标函数的变量,采用第一优化算法对所述目标函数进行优化,得到本次迭代训练的权重;将本次迭代训练的权重作为所述目标函数的常量,将稀疏缩放算子作为所述目标函数的变量,采用第二优化算法对所述目标函数进行优化,得到本次迭代训练的稀疏缩放算子;基于本次迭代训练的权重和稀疏缩放算子进行下一次迭代训练。16.根据权利要求15所述的装置,其特征在于,所述目标函数为:其中,所述W为所述神经网络的权重,λ为所述神经网络的稀疏缩放算子向量,N为本周期的训练样本数据集中样本数据的数量为神经网络在样本数据^上的损失,为权重正则函数:为稀疏正则函数,K为神经网络中特定结构的数量,\为第j个特定结构的稀疏缩放算子,γ』为第j个特定结构对应的稀疏惩罚权重,γ』根据第j个特定结构的运算复杂度计算得到。17.—种计算机服务器,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求1〜8中任一项所述神经网络训练方法。

百度查询: 北京图森智途科技有限公司 一种神经网络训练方法及其装置、计算机服务器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。