CN111523640A - 神经网络模型的训练方法和装置 - Google Patents

神经网络模型的训练方法和装置 Download PDF

Info

Publication number
CN111523640A
CN111523640A CN202010275546.3A CN202010275546A CN111523640A CN 111523640 A CN111523640 A CN 111523640A CN 202010275546 A CN202010275546 A CN 202010275546A CN 111523640 A CN111523640 A CN 111523640A
Authority
CN
China
Prior art keywords
neural network
network model
feature
training
features
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
CN202010275546.3A
Other languages
English (en)
Other versions
CN111523640B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010275546.3A priority Critical patent/CN111523640B/zh
Publication of CN111523640A publication Critical patent/CN111523640A/zh
Application granted granted Critical
Publication of CN111523640B publication Critical patent/CN111523640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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

Abstract

本公开涉及人工智能领域。本公开的实施例公开了神经网络模型的训练方法和装置。该方法包括迭代执行多次训练操作;训练操作包括:对第一神经网络模型进行剪枝得到第二神经网络模型;采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;获取第一神经网络模型对媒体数据的处理结果;基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数;监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。该方法可以训练出剪枝后模型性能较好的神经网络模型。

Description

神经网络模型的训练方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及人工智能技术领域,尤其涉及神经网络模型的训练方法和装置。
背景技术
神经网络的剪枝是将其中冗余的参数删除以提升神经网络的运算速度的技术。目前的剪枝方法是在神经网络训练完成之后,按照一定的规则对模型的通道进行裁剪。然而,参数之间的关系对模型的性能有直接的影响,即使对于权重非常小的参数,裁剪掉之后可能会对模型的精度造成极大的影响。因此,为了确保剪枝后的神经网络的性能,剪枝的效率非常低。
发明内容
本公开的实施例提出了神经网络模型的训练方法和装置、电子设备和计算机可读介质。
第一方面,本公开的实施例提供了一种神经网络模型的训练方法,包括迭代执行多次训练操作;训练操作包括:对第一神经网络模型进行剪枝得到第二神经网络模型;采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;获取第一神经网络模型基于第一特征对媒体数据的处理结果;基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数;其中,监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。
在一些实施例中,上述第一神经网络模型包括第一特征提取层和第一分类器,第一特征包括由第一特征提取层中与第一分类器连接的最后一个网络层输出的特征;上述第二神经网络模型包括第二特征提取层和第二分类器,第二特征包括由第二特征提取层中与第二分类器连接的最优一个网络层输出的特征。
在一些实施例中,上述第一特征还包括由第一特征提取层中的第一中间层输出的特征;上述第二特征还包括由第二特征提取层中的第二中间层输出的特征;第一特征和第二特征之间的差异包括:第一中间层输出的特征与第二神经网络模型中与第一中间层对应的第二中间层输出的特征之间的差异,以及第一分类器连接的最后一个网络层输出的特征与第二分类器连接的最后一个网络层输出的特征之间的差异。
在一些实施例中,上述训练操作还包括:响应于确定训练操作达到预设的收敛条件,确定第一神经网络模型完成训练;以及上述方法还包括:对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
在一些实施例中,上述方法还包括:采用剪枝后的神经网络模型对待处理媒体数据进行处理。
第二方面,本公开的实施例提供了一种用于训练神经网络模型的装置,包括训练单元,被配置为迭代执行多次训练操作。训练单元包括:第一剪枝单元,被配置为在每次训练操作中对第一神经网络模型进行剪枝得到第二神经网络模型;提取单元,被配置为在每次训练操作中采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;获取单元,被配置为在每次训练操作中获取第一神经网络模型基于第一特征对媒体数据的处理结果;以及更新单元,被配置为在每次训练操作中基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数;其中,监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。
在一些实施例中,上述第一神经网络模型包括第一特征提取层和第一分类器,第一特征包括由第一特征提取层中与第一分类器连接的最后一个网络层输出的特征;第二神经网络模型包括第二特征提取层和第二分类器,第二特征包括由第二特征提取层中与第二分类器连接的最优一个网络层输出的特征。
在一些实施例中,上述第一特征还包括由第一特征提取层中的第一中间层输出的特征;上述第二特征还包括由第二特征提取层中的第二中间层输出的特征;上述第一特征和第二特征之间的差异包括:第一中间层输出的特征与第二神经网络模型中与第一中间层对应的第二中间层输出的特征之间的差异,以及第一分类器连接的最后一个网络层输出的特征与第二分类器连接的最后一个网络层输出的特征之间的差异。
在一些实施例中,上述训练单元还包括:确定单元,被配置为在每次训练操作中响应于确定训练操作达到预设的收敛条件,确定第一神经网络模型完成训练;以及上述装置还包括:第二剪枝单元,被配置为对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
在一些实施例中,上述装置还包括:处理单元,被配置为采用剪枝后的神经网络模型对待处理媒体数据进行处理。
第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的神经网络模型的训练方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的神经网络模型的训练方法。
本公开的上述实施例的神经网络模型的训练方法和装置,包括迭代执行多次训练操作;训练操作包括:对第一神经网络模型进行剪枝得到第二神经网络模型;采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;获取第一神经网络模型基于第一特征对媒体数据的处理结果;基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数;其中,监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。该方法和装置通过在神经网络模型的训练中利用剪枝后的神经网络模型的性能进行监督,最小化剪枝过程中保留的参数对被裁剪掉的参数的依赖性,能够训练出可快速剪枝且剪枝后模型性能较好的神经网络模型。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的神经网络模型的训练方法的一个实施例的流程图;
图3是根据本公开的神经网络模型的训练方法的另一个实施例的流程图;
图4是本公开的神经网络模型的训练装置的一个实施例的结构示意图;
图5是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的神经网络模型的训练方法或神经网络模型的训练装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是用户110端的设备,其上可以安装有各种客户端应用。例如,图像处理类应用、信息分析类应用、语音助手类应用、购物类应用、金融类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是运行各种服务的服务器,例如运行基于图像、视频、语音、文本、数字信号等数据的目标检测与识别、文本或语音识别、信号转换等服务的服务器。服务器105可以从终端设备101、102、103获取深度学习任务数据、或者从数据库获取深度学习任务数据来构建训练样本,对用于执行深度学习任务的神经网络模型进行训练。服务器105还可以对训练完成的神经网络模型进行剪枝,以降低神经网络模型的复杂度,从而使得剪枝后的神经网络模型可以被部署在终端设备101、102、103上以向用户110实时地提供基于神经网络模型的服务。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
经过训练的神经网络模型可以被部署并运行在终端设备101、102、103上。通常终端设备101、102、103期望模型结构较为简单,计算量较少,以满足与用户交互的实时性要求。在本公开的实施例的场景中,服务器105可以根据终端设备101、102、103的硬件或软件约束条件(诸如处理器的延时、功耗、应用程序运行环境下的运算效率等),在神经网络模型训练过程中对神经网络模型进行剪枝,利用剪枝结果监督神经网络模型的训练。
或者,在一些场景中,终端设备101、102、103也可以执行神经网络模型的训练操作,并且基于神经网络模型的剪枝结果监督神经网络模型的训练。
本公开的实施例所提供的神经网络模型的训练方法可以由终端设备101、102、103或服务器105执行,相应地,神经网络模型的训练装置可以设置于终端设备101、102、103或服务器105中。
在一些场景中,终端设备101、102、103或服务器105可以在本地读取或从数据库等获取模型训练所需的源数据,例如在本地读取待训练的神经网络模型及训练用的媒体数据。这时,示例性系统架构100可以不包括网络104和服务器105,或者不包括终端设备101、102、103和网络104。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本公开的神经网络模型的训练方法的一个实施例的流程200。该神经网络模型的训练方法,包括迭代执行多次训练操作。其中,训练操作包括以下步骤201至步骤204:
步骤201,对第一神经网络模型进行剪枝得到第二神经网络模型。
在本实施例中,神经网络模型的训练方法的执行主体可以首先获取第一神经网络模型。第一神经网络模型是待训练的模型,其参数可以是随机初始化的。或者,在一些可选的实现方式中,第一神经网络模型可以是经过预训练的模型,其参数是经过预训练后得到的参数。
可以对第一神经网络模型进行剪枝,裁剪其中的一些通道(channel),得到简化后的网络模型,作为第二神经网络模型。具体可以通过反向传播的方式,裁剪第一神经网络模型中重要性较低的通道,例如裁剪一些对模型性能影响较小的神经元结构或权重参数。在一种具体的实现方式中,可以从神经网络模型的所有权重参数中选择一个最优组合,该最优组合中的参数被保留,其余参数被裁剪后得到的被剪枝模型的代价函数损失最小。
在每一次训练操作中,第一神经网络模型被更新后都执行剪枝操作得到对应的第二神经网络模型。由于第一神经网络模型的参数在每一次的迭代操作中被更新,剪枝后得到的第二神经网络也随之更新。
步骤202,采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征。
在本实施例中,第一神经网络模型用于处理媒体数据。媒体数据可以是图像、视频、音频、文本等用于传播内容的数据。第一神经网络模型执行的深度学习任务可以是分类任务或回归任务。在执行深度学习任务时,第一神经网络模型可以首先对媒体数据进行特征提取,得到媒体数据的第一特征。之后,第一神经网络模型可以基于提取出的媒体数据的第一特征来完成分类或回归任务。
第一神经网络模型可以是卷积神经网络、循环神经网络等。作为示例,卷积神经网络包括多个卷积层,或者在一些卷积神经网络中包括多个残差模块,每个残差模块可以包括若干个由卷积层、批量归一化层组成的重复单元。各卷积层或残差模块可以分别对媒体数据提取不同尺度的特征。在本实施例中,可以将各卷积层分别提取出的媒体数据的特征作为第一特征,或者将最后一个卷积层或最后一个包含卷积层的残差模块输出的特征作为第一特征。
相应地,可以采用第二神经网络模型对媒体数据进行特征提取。作为示例,当第一神经网络模型是卷积神经网络模型时,剪枝后得到的第二神经网络模型也是卷积神经网络。可以将第二神经网络模型中与第一神经网络模型中的对应卷积层或残差模块输出的特征作为媒体数据的第二特征。
在这里,媒体数据是训练数据。可以预先构建用于训练第一神经网络模型的媒体数据集合,该媒体数据集合中的媒体数据可以包含标注信息。例如图像数据、视频数据包含图像中的对象类型或对象位置的标注信息,语音数据包含对应的文本标注信息,一段文本数据包含对应的另一种语言的翻译文本的标注信息。
步骤203,获取第一神经网络模型基于第一特征对媒体数据的处理结果。
第一神经网络模型对媒体数据的处理结果可以是对媒体数据的分类结果或回归结果。在本实施例中,第一神经网络模型对媒体数据进行特征提取之后,可以根据提取出的第一特征对媒体数据执行分类或回归任务。上述执行主体可以获取第一神经网络模型输出的媒体数据的处理结果。
步骤204,基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数。
其中,监督函数表征第一特征和第二特征之间的差异。
可以基于第一特征和第二特征的差异构建监督函数,例如可以计算第一特征和第二特征的二范数作为监督函数。该监督函数用于监督第一神经网络模型的参数迭代。由于第一特征和第二特征是随第一神经网络模型的参数变化的,所以监督函数的值也随第一神经网络模型的参数变化,也即监督函数是关于第一神经网络模型的参数的函数。
任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。在这里,第一神经网络模型对媒体数据的处理结果的误差可以是第一神经网络模型对媒体数据的处理结果与媒体数据的标注信息的差异。任务损失函数也用于监督第一神经网络模型的参数迭代。任务损失函数也是关于第一神经网络模型的参数的函数。
在本实施例中,可以基于上述监督函数和任务损失函数联合监督第一神经网络模型的参数迭代。具体地,可以基于监督函数和任务损失函数构建联合损失函数,例如可以将二者的加权和作为联合代价函数。然后,基于联合代价函数,采用反向传播方法,计算联合代价函数关于第一神经网络模型的参数的梯度,从而更新第一神经网络模型的参数。
在第一神经网络模型的参数被更新之后,可以返回至步骤201,执行下一次训练操作。这样,在执行多次训练操作之后,第一神经网络模型的参数在监督函数和任务损失函数的监督下进行了多次迭代更新。
上述实施例的神经网络模型的训练方法通过在神经网络模型的训练过程中利用剪枝前后的神经网络模型提取出的特征之间的差异进行监督,从而被裁减掉的参数对神经网络模型的性能的影响较小,裁剪后的模型中保留的参数对被裁减掉的参数的依赖性较弱,由此可以训练得出剪枝后可保持良好性能的神经网络模型,可以在训练完成后快速完成神经网络模型的剪枝。
可选地,上述第一神经网络模型包括第一特征提取层和第一分类器,上述第一特征包括由第一特征提取层中与第一分类器连接的最后一个网络层输出的特征。例如,上述第一神经网络模型为卷积神经网络模型,其中第一特征提取层包含多个卷积层或多个残差模块,第一分类器可以包含全连接层、非线性层。则可以将于第一分类器连接的最后一个卷积层或最后一个残差模块输出的特征作为提取出的第一特征。
上述第二神经网络模型包括第二特征提取层和第二分类器,第二特征包括由第二特征提取层中与第二分类器连接的最优一个网络层输出的特征。例如,第二神经网络模型是卷积神经网络,第二特征是卷积神经网络中与第二分类器连接的最后一个卷积层或最后一个残差模块输出的特征。
通过将第一神经网络模型和第二神经网络模型中最后一个特征提取层输出的特征分别作为第一特征和第二特征,构建的监督函数可以更准确地表征第一神经网络模型和第二神经网络模型的性能差异,从而有利于第一神经网络模型在迭代调整参数时弱化剪枝操作中被裁剪掉的参数对被保留的参数的影响,进一步降低训练得到的第一神经网络模型对剪枝操作的敏感性,从而训练得到更适合剪枝的第一神经网络模型。
可选地,上述第一特征还可以包括由第一特征提取层中的第一中间层输出的特征;上述第二特征还包括由第二特征提取层中的第二中间层输出的特征。这时,上述第一特征和第二特征之间的差异包括:第一中间层输出的特征与第二神经网络模型中与第一中间层对应的第二中间层输出的特征之间的差异,以及第一分类器连接的最后一个网络层输出的特征与第二分类器连接的最后一个网络层输出的特征之间的差异。
第一神经网络模型中的第一特征提取层和第二神经网络模型中的第二特征提取层均包括多个中间层,例如卷积神经网络包括多个卷积层,各卷积层分别提取不同尺度的特征。可以将第一神经网络模型和第二神经网络模型中对应层提取出的特征进行比对,然后将各个对应层提取出的特征之间的差异求和,或者加权求和,得到第一特征与第二特征的总差异。
这样,可以基于第一特征和第二特征在多个尺度的差异构建监督函数,从而第一神经网络模型和第二神经网络的多个中间层的性能差异均用于监督第一神经网络模型的参数更新,由此训练得到的第一神经网络模型在剪枝后的准确性更高。
继续参考图3,其示出了本公开的用于训练神经网络模型的方法的另一个实施例的流程图。如图3所示,本实施例的用于训练神经网络模型的方法的流程300,包括以下步骤:
步骤301,迭代执行多次训练操作。
其中,训练操作包括以下步骤3011至步骤3015。
在步骤3011中,对第一神经网络模型进行剪枝得到第二神经网络模型。
在步骤3012中,采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征。
在步骤3013中,获取第一神经网络模型基于第一特征对媒体数据的处理结果;
在步骤3014中,基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数。
其中,监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。
上述步骤3011至步骤3014与前述实施例的步骤201至步骤2044一一对应,步骤3011至步骤3014的具体实现方式可分贝参考前述实施例中步骤201至步骤204的对应描述,此处不再赘述。
在本实施例中,训练操作还包括:
步骤3015,响应于确定训练操作达到预设的收敛条件,确定第一神经网络模型完成训练。
上述预设的收敛条件可以是预先设置的训练停止条件,可以包括但不限于以下中的至少一项:训练操作的次数达到预设的次数阈值,当前训练操作中第一神经网络模型的误差小于预设的阈值,第一神经网络模型在最近的若干次训练操作中的参数更新率小于预设的更新率阈值,由监督函数和任务损失函数构建的联合代价函数的值小于预设的损失值。
在每一次训练操作中,对第一神经网络模型的参数更新之后,可以判断训练操作是否满足上述预设的收敛条件。若是,则可以停止执行训练操作,当前的第一神经网络模型即为训练完成的第一神经网络模型。
在本实施例中,用于训练神经网络模型的方法还包括:
步骤302,对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
在本实施例中,可以根据运行剪枝后的神经网络模型的设备的硬件或软件约束,对完成训练的第一神经网络模型进行剪枝。在执行剪枝操作时,可以根据上述设备的硬件或软件约束构建剪枝代价函数,或者,可以基于剪枝后模型性能的损失构建剪枝代价函数,通过最小化剪枝代价函数来搜索最优的剪枝策略,基于搜索出的最优剪枝策略对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
现有的神经网络模型剪枝方法中,对神经网络模型剪枝后,为了确保剪枝后的模型的性能,需要对剪枝后的模型进行再训练。本实施例的方法获得的剪枝后的神经网络模型具有良好的性能,有效缩减了剪枝后的模型再训练所消耗的计算资源,能够提升模型的剪枝效率,从而可以高效、低成本地完成神经网络模型的压缩。
可选地,上述方法流程300还可以包括:
步骤303,采用剪枝后的神经网络模型对待分类的媒体数据进行分类。
上述剪枝后的神经网络模型可以被部署在上述执行主体中,或者部署在与上述执行主体通信连接的终端设备中。在获取到待处理媒体数据时,可以将待处理媒体数据输入至该剪枝后的神经网络模型进行处理,得到处理结果。其中,待处理媒体数据是未知处理结果的数据,例如待分类的图像、待识别的音频、待翻译的文本,等等。
由于剪枝后的神经网络模型的运算量较小,其对待处理媒体数据进行处理所消耗的计算资源较少,因此可以快速地提供处理结果,能够应用于对实时性要求较高的场景中。
请参考图4,作为对上述神经网络模型的训练方法的实现,本公开提供了一种神经网络模型的训练装置的一个实施例,该装置实施例与图2和图3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的神经网络模型的训练装置400包括训练单元401。训练单元401被配置为迭代执行多次训练操作。训练单元401包括:第一剪枝单元4011,被配置为在每次训练操作中对第一神经网络模型进行剪枝得到第二神经网络模型;提取单元4012,被配置为在每次训练操作中采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;获取单元4013,被配置为在每次训练操作中获取第一神经网络模型基于第一特征对媒体数据的处理结果;以及更新单元4014,被配置为在每次训练操作中基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数;其中,监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。
在一些实施例中,上述第一神经网络模型包括第一特征提取层和第一分类器,第一特征包括由第一特征提取层中与第一分类器连接的最后一个网络层输出的特征;第二神经网络模型包括第二特征提取层和第二分类器,第二特征包括由第二特征提取层中与第二分类器连接的最优一个网络层输出的特征。
在一些实施例中,上述第一特征还包括由第一特征提取层中的第一中间层输出的特征;上述第二特征还包括由第二特征提取层中的第二中间层输出的特征;上述第一特征和第二特征之间的差异包括:第一中间层输出的特征与第二神经网络模型中与第一中间层对应的第二中间层输出的特征之间的差异,以及第一分类器连接的最后一个网络层输出的特征与第二分类器连接的最后一个网络层输出的特征之间的差异。
在一些实施例中,上述训练单元还包括:确定单元,被配置为在每次训练操作中响应于确定训练操作达到预设的收敛条件,确定第一神经网络模型完成训练;以及上述装置还包括:第二剪枝单元,被配置为对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
在一些实施例中,上述装置还包括:处理单元,被配置为采用剪枝后的神经网络模型对待处理媒体数据进行处理。
上述装置400中的各单元与参考图2和图3描述的方法中的步骤相对应。由此,上文针对神经网络模型的训练方法描述的操作、特征及所能达到的技术效果同样适用于装置400及其中包含的单元,在此不再赘述。
下面参考图5,其示出了适于用来实现本公开的实施例的电子设备(例如图1所示的服务器)500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:迭代执行多次训练操作;训练操作包括:对第一神经网络模型进行剪枝得到第二神经网络模型;采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;获取第一神经网络模型基于第一特征对媒体数据的处理结果;基于预先构建的监督函数和任务损失函数,确定第一神经网络模型的误差,通过反向传播误差迭代调整第一神经网络模型的参数;其中,监督函数表征第一特征和第二特征之间的差异,任务损失函数表征第一神经网络模型对媒体数据的处理结果的误差。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括训练单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“迭代执行多次训练操作的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种神经网络模型的训练方法,包括迭代执行多次训练操作;所述训练操作包括:
对第一神经网络模型进行剪枝得到第二神经网络模型;
采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;
获取所述第一神经网络模型基于所述第一特征对所述媒体数据的处理结果;
基于预先构建的监督函数和任务损失函数,确定所述第一神经网络模型的误差,通过反向传播所述误差迭代调整所述第一神经网络模型的参数;
其中,所述监督函数表征所述第一特征和所述第二特征之间的差异,所述任务损失函数表征所述第一神经网络模型对所述媒体数据的处理结果的误差。
2.根据权利要求1所述的方法,其中,所述第一神经网络模型包括第一特征提取层和第一分类器,所述第一特征包括由所述第一特征提取层中与所述第一分类器连接的最后一个网络层输出的特征;
所述第二神经网络模型包括第二特征提取层和第二分类器,所述第二特征包括由所述第二特征提取层中与所述第二分类器连接的最优一个网络层输出的特征。
3.根据权利要求2所述的方法,其中,所述第一特征还包括由所述第一特征提取层中的第一中间层输出的特征;
所述第二特征还包括由所述第二特征提取层中的第二中间层输出的特征;
所述第一特征和所述第二特征之间的差异包括:所述第一中间层输出的特征与所述第二神经网络模型中与所述第一中间层对应的所述第二中间层输出的特征之间的差异,以及所述第一分类器连接的最后一个网络层输出的特征与所述第二分类器连接的最后一个网络层输出的特征之间的差异。
4.根据权利要求1-3任一项所述的方法,其中,所述训练操作还包括:
响应于确定训练操作达到预设的收敛条件,确定所述第一神经网络模型完成训练;以及
所述方法还包括:
对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
5.根据权利要求4所述的方法,其中,所述方法还包括:
采用剪枝后的神经网络模型对待处理媒体数据进行处理。
6.一种神经网络模型的训练装置,包括训练单元,被配置为迭代执行多次训练操作;
所述训练单元包括:
第一剪枝单元,被配置为在每次训练操作中对第一神经网络模型进行剪枝得到第二神经网络模型;
提取单元,被配置为在每次训练操作中采用第一神经网络模型对媒体数据进行特征提取得到第一特征,采用第二神经网络模型对媒体数据进行特征提取得到第二特征;
获取单元,被配置为在每次训练操作中获取所述第一神经网络模型基于所述第一特征对所述媒体数据的处理结果;
更新单元,被配置为在每次训练操作中基于预先构建的监督函数和任务损失函数,确定所述第一神经网络模型的误差,通过反向传播所述误差迭代调整所述第一神经网络模型的参数;
其中,所述监督函数表征所述第一特征和所述第二特征之间的差异,所述任务损失函数表征所述第一神经网络模型对所述媒体数据的处理结果的误差。
7.根据权利要求6所述的装置,其中,所述第一神经网络模型包括第一特征提取层和第一分类器,所述第一特征包括由所述第一特征提取层中与所述第一分类器连接的最后一个网络层输出的特征;
所述第二神经网络模型包括第二特征提取层和第二分类器,所述第二特征包括由所述第二特征提取层中与所述第二分类器连接的最优一个网络层输出的特征。
8.根据权利要求7所述的装置,其中,所述第一特征还包括由所述第一特征提取层中的第一中间层输出的特征;
所述第二特征还包括由所述第二特征提取层中的第二中间层输出的特征;
所述第一特征和所述第二特征之间的差异包括:所述第一中间层输出的特征与所述第二神经网络模型中与所述第一中间层对应的所述第二中间层输出的特征之间的差异,以及所述第一分类器连接的最后一个网络层输出的特征与所述第二分类器连接的最后一个网络层输出的特征之间的差异。
9.根据权利要求6-8任一项所述的装置,其中,所述训练单元还包括:
确定单元,被配置为在每次训练操作中响应于确定训练操作达到预设的收敛条件,确定所述第一神经网络模型完成训练;以及
所述装置还包括:
第二剪枝单元,被配置为对完成训练的第一神经网络模型进行剪枝,得到剪枝后的神经网络模型。
10.根据权利要求9所述的装置,其中,所述装置还包括:
处理单元,被配置为采用剪枝后的神经网络模型对待处理媒体数据进行处理。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202010275546.3A 2020-04-09 2020-04-09 神经网络模型的训练方法和装置 Active CN111523640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010275546.3A CN111523640B (zh) 2020-04-09 2020-04-09 神经网络模型的训练方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010275546.3A CN111523640B (zh) 2020-04-09 2020-04-09 神经网络模型的训练方法和装置

Publications (2)

Publication Number Publication Date
CN111523640A true CN111523640A (zh) 2020-08-11
CN111523640B CN111523640B (zh) 2023-10-31

Family

ID=71901634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010275546.3A Active CN111523640B (zh) 2020-04-09 2020-04-09 神经网络模型的训练方法和装置

Country Status (1)

Country Link
CN (1) CN111523640B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112241761A (zh) * 2020-10-15 2021-01-19 北京字跳网络技术有限公司 模型训练方法、装置和电子设备
CN112257858A (zh) * 2020-09-21 2021-01-22 华为技术有限公司 一种模型压缩方法及装置
CN112819157A (zh) * 2021-01-29 2021-05-18 商汤集团有限公司 神经网络训练的方法及装置、智能行驶控制的方法及装置
CN112836816A (zh) * 2021-02-04 2021-05-25 南京大学 一种适用于光电存算一体处理单元串扰的训练方法
CN113065635A (zh) * 2021-02-27 2021-07-02 华为技术有限公司 一种模型的训练方法、图像增强方法及设备
CN113610709A (zh) * 2021-07-30 2021-11-05 Oppo广东移动通信有限公司 模型量化方法、装置、电子设备和计算机可读存储介质
CN113720968A (zh) * 2021-07-29 2021-11-30 深圳市天得一环境科技有限公司 气体浓度检测方法、装置、系统及存储介质
CN116644804A (zh) * 2023-07-27 2023-08-25 浪潮电子信息产业股份有限公司 分布式训练系统、神经网络模型训练方法、设备和介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013237728A1 (en) * 2005-11-15 2013-10-24 Bernadette Garner Method for Training Neural Networks
CN107742151A (zh) * 2017-08-30 2018-02-27 电子科技大学 一种中医脉象的神经网络模型训练方法
CN108009638A (zh) * 2017-11-23 2018-05-08 深圳市深网视界科技有限公司 一种神经网络模型的训练方法、电子设备及存储介质
CN108256646A (zh) * 2018-01-22 2018-07-06 百度在线网络技术(北京)有限公司 模型生成方法和装置
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
CN108875934A (zh) * 2018-05-28 2018-11-23 北京旷视科技有限公司 一种神经网络的训练方法、装置、系统及存储介质
US20190294929A1 (en) * 2018-03-20 2019-09-26 The Regents Of The University Of Michigan Automatic Filter Pruning Technique For Convolutional Neural Networks
CN110766142A (zh) * 2019-10-30 2020-02-07 北京百度网讯科技有限公司 模型生成方法和装置
CN110852421A (zh) * 2019-11-11 2020-02-28 北京百度网讯科技有限公司 模型生成方法和装置
WO2020042658A1 (zh) * 2018-08-31 2020-03-05 华为技术有限公司 数据处理方法、装置、设备和系统
CN110929836A (zh) * 2018-09-20 2020-03-27 北京市商汤科技开发有限公司 神经网络训练及图像处理方法和装置、电子设备、介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013237728A1 (en) * 2005-11-15 2013-10-24 Bernadette Garner Method for Training Neural Networks
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
CN107742151A (zh) * 2017-08-30 2018-02-27 电子科技大学 一种中医脉象的神经网络模型训练方法
CN108009638A (zh) * 2017-11-23 2018-05-08 深圳市深网视界科技有限公司 一种神经网络模型的训练方法、电子设备及存储介质
CN108256646A (zh) * 2018-01-22 2018-07-06 百度在线网络技术(北京)有限公司 模型生成方法和装置
US20190294929A1 (en) * 2018-03-20 2019-09-26 The Regents Of The University Of Michigan Automatic Filter Pruning Technique For Convolutional Neural Networks
CN108875934A (zh) * 2018-05-28 2018-11-23 北京旷视科技有限公司 一种神经网络的训练方法、装置、系统及存储介质
WO2020042658A1 (zh) * 2018-08-31 2020-03-05 华为技术有限公司 数据处理方法、装置、设备和系统
CN110874550A (zh) * 2018-08-31 2020-03-10 华为技术有限公司 数据处理方法、装置、设备和系统
CN110929836A (zh) * 2018-09-20 2020-03-27 北京市商汤科技开发有限公司 神经网络训练及图像处理方法和装置、电子设备、介质
CN110766142A (zh) * 2019-10-30 2020-02-07 北京百度网讯科技有限公司 模型生成方法和装置
CN110852421A (zh) * 2019-11-11 2020-02-28 北京百度网讯科技有限公司 模型生成方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙勇义: "Apollo自动驾驶技术与安全设计辆检测算法", 人工智能, pages 102 - 106 *
黄若琳: "基于卷积神经网络的视频行为识别的研究", 哈尔滨工程大学硕士学位论文 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257858A (zh) * 2020-09-21 2021-01-22 华为技术有限公司 一种模型压缩方法及装置
WO2022057776A1 (zh) * 2020-09-21 2022-03-24 华为技术有限公司 一种模型压缩方法及装置
CN112241761A (zh) * 2020-10-15 2021-01-19 北京字跳网络技术有限公司 模型训练方法、装置和电子设备
CN112241761B (zh) * 2020-10-15 2024-03-26 北京字跳网络技术有限公司 模型训练方法、装置和电子设备
CN112819157A (zh) * 2021-01-29 2021-05-18 商汤集团有限公司 神经网络训练的方法及装置、智能行驶控制的方法及装置
CN112819157B (zh) * 2021-01-29 2024-04-16 商汤集团有限公司 神经网络训练的方法及装置、智能行驶控制的方法及装置
CN112836816B (zh) * 2021-02-04 2024-02-09 南京大学 一种适用于光电存算一体处理单元串扰的训练方法
CN112836816A (zh) * 2021-02-04 2021-05-25 南京大学 一种适用于光电存算一体处理单元串扰的训练方法
CN113065635A (zh) * 2021-02-27 2021-07-02 华为技术有限公司 一种模型的训练方法、图像增强方法及设备
CN113720968A (zh) * 2021-07-29 2021-11-30 深圳市天得一环境科技有限公司 气体浓度检测方法、装置、系统及存储介质
CN113720968B (zh) * 2021-07-29 2024-04-05 深圳市天得一环境科技有限公司 气体浓度检测方法、装置、系统及存储介质
CN113610709B (zh) * 2021-07-30 2023-12-05 Oppo广东移动通信有限公司 模型量化方法、装置、电子设备和计算机可读存储介质
CN113610709A (zh) * 2021-07-30 2021-11-05 Oppo广东移动通信有限公司 模型量化方法、装置、电子设备和计算机可读存储介质
CN116644804B (zh) * 2023-07-27 2024-01-12 浪潮电子信息产业股份有限公司 分布式训练系统、神经网络模型训练方法、设备和介质
CN116644804A (zh) * 2023-07-27 2023-08-25 浪潮电子信息产业股份有限公司 分布式训练系统、神经网络模型训练方法、设备和介质

Also Published As

Publication number Publication date
CN111523640B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN111523640B (zh) 神经网络模型的训练方法和装置
CN108520220B (zh) 模型生成方法和装置
CN110807515B (zh) 模型生成方法和装置
US11640528B2 (en) Method, electronic device and computer readable medium for information processing for accelerating neural network training
CN110288049B (zh) 用于生成图像识别模型的方法和装置
CN108427939B (zh) 模型生成方法和装置
CN110766142A (zh) 模型生成方法和装置
CN108197652B (zh) 用于生成信息的方法和装置
CN111061881A (zh) 文本分类方法、设备及存储介质
CN111340220B (zh) 用于训练预测模型的方法和装置
CN111368973B (zh) 用于训练超网络的方法和装置
CN113505848B (zh) 模型训练方法和装置
CN111340221A (zh) 神经网络结构的采样方法和装置
CN111666416A (zh) 用于生成语义匹配模型的方法和装置
CN111353601A (zh) 用于预测模型结构的延时的方法和装置
CN111738010A (zh) 用于生成语义匹配模型的方法和装置
CN116684330A (zh) 基于人工智能的流量预测方法、装置、设备及存储介质
CN113762454A (zh) 轨迹异常检测方法及装置
CN114186681A (zh) 用于生成模型簇的方法、装置及计算机程序产品
CN111090740B (zh) 一种用于对话系统的知识图谱生成方法
CN110689117A (zh) 基于神经网络的信息处理方法和装置
CN111104874A (zh) 人脸年龄预测方法及模型的训练方法、装置及电子设备
CN113255819B (zh) 用于识别信息的方法和装置
CN112149426B (zh) 阅读任务处理方法及相关设备
CN114120416A (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