CN115983365A - 模型训练方法、装置、计算机设备及存储介质 - Google Patents
模型训练方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115983365A CN115983365A CN202310080662.3A CN202310080662A CN115983365A CN 115983365 A CN115983365 A CN 115983365A CN 202310080662 A CN202310080662 A CN 202310080662A CN 115983365 A CN115983365 A CN 115983365A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- training sample
- sample set
- target
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种模型训练方法、装置、计算机设备及存储介质,涉及人工智能技术领域。该方法包括:获取第一训练样本集;对第一训练样本集中的部分训练样本添加噪声,得到第二训练样本集;根据第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,初始模型中伪量化节点用于根据目标参数精度对特征处理层的输出进行量化操作以及反量化操作,目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。如此,在量化训练过程中,为输入的部分训练样本添加了噪声,可以提高模型的鲁棒性和泛化能力,提高了量化训练的量化精度,同时也提高了电子设备端的部署精度。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种模型训练方法、装置、计算机设备及存储介质。
背景技术
随着深度学习技术的发展,神经网络的应用也日益走向成熟。目前神经网络模型已经被广泛应用于工业界和人们日常生活的各个业务场景中。而其中一些领域(如工业领域)通常对神经网络模型的精度与延时有着十分严格的要求,需要部署在终端上的模型能够保持高精度的同时,具有较低的延迟,以充分满足业务需求。为达成这一目标,诸多神经网络压缩及优化技术被深入研究,其中就包括模型量化这种经典的模型优化方法。
由于在对模型的网络参数进行量化(即将高精度的网络参数压缩为低精度的网络参数,如将浮点精度的网络参数压缩为整数精度的网络参数)的过程中会产生一定的误差,即先将高精度的网络参数压缩为带有一定量化误差的低精度的网络参数,再将该带有量化误差的低精度的网络参数还原为高精度的网络参数,但此时的高精度网络参数带有量化误差,而后再对这一次训练完成后的模型中对应的网络参数进行量化处理。但是这样的优化过程,会降低模型端侧部署的精度,对于一些精度要求较为严格的端侧业务来说无法满足其业务需求。因此,如何在保证模型精度的前提下,对模型进行优化已成为一个亟待解决的问题。
发明内容
本申请提出了一种模型训练方法、装置、计算机设备及存储介质,以提高模型的量化精度。
第一方面,本申请实施例提供了一种模型训练方法,应用于计算机设备,所述方法包括:获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息;对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集;根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作,所述目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。
第二方面,本申请实施例提供了一种模型训练装置,应用于计算机设备,所述装置包括:样本集获取模块、噪声添加模块和模型训练模块。样本集获取模块,用于获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息;噪声添加模块,用于对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集;模型训练模块,用于根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作,所述目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。
第三方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述的方法。
本申请提供的方案中,计算机设备获取第一训练样本集,其中,第一训练样本集中的每个训练样本携带有标签信息;对第一训练样本集中的部分训练样本添加噪声,得到对部分训练样本添加噪声后的第一训练样本集,作为第二训练样本集;根据第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,初始模型中包括特征处理层以及与特征处理层相连的伪量化节点,伪量化节点用于根据目标参数精度对特征处理层的输出进行量化操作以及反量化操作,目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。如此,在量化训练过程中,为输入的部分训练样本添加了噪声,可以是提高模型的鲁棒性和泛化能力,进而使得电子设备端与计算机设备的数值有差异,也能使得模型可以容忍这种差异,在存在差异的情况下产生争取而结果,提高了量化训练的量化精度,同时也提高了电子设备端的部署精度,并减少了计算机设备端的量化训练的理论量化精度与电子设备端的部署精度之间的差异。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的模型训练方法的流程示意图。
图2示出了图1中步骤S120在一种实施方式中的子步骤的流程示意图。
图3示出了图1中步骤S130在一种实施方式中的子步骤的流程示意图。
图4示出了本申请另一实施例提供的模型训练方法的流程示意图。
图5是根据本申请一实施例提供的一种模型训练装置的框图。
图6是本申请实施例的用于执行根据本申请实施例的模型训练方法的计算机设备的框图。
图7是本申请实施例的用于保存或者携带实现根据本申请实施例的模型训练方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如S110、S120等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。以及,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或子模块的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或子模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或子模块。
发明人提出一种模型训练方法、装置、计算机设备及存储介质,。下面对本申请实施例提供的模型训练方法进行详细描述。
请参照图1,图1为本申请一实施例提供的一种模型训练方法的流程示意图。下面将结合图1对本申请实施例提供的模型训练方法进行详细阐述。该模型训练方法可以包括以下步骤:
步骤S110:获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息。
在本实施例中,第一训练样本集可以是从开源的数据样本集中获取得到,也可以是基于爬取到的大量网络数据集自行构建得到,本实施例对此不作限制。具体地,可以根据实际所需的训练任务,获取与训练任务对应的第一训练样本集;可选地,若训练任务为针对待检测图像进行目标检测,则可以获取样本图像集作为第一训练样本集,此时,第一训练样本集中每个训练样本携带的标签,可以是每张样本图像中包含的目标物体的标签信息;可选地,若训练任务为根据用户音频数据确定用户身份信息,则可以获取样本音频集作为第一训练样本集,此时,第一训练样本集中每个训练样本携带的标签,可以是发出每个样本音频的样本用户的身份信息标签。可以理解的,获取的第一训练样本集是由模型具体的应用场景确定的,其他类型的训练样本集也在本申请的保护范围内,在此不再赘述。
步骤S120:对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集。
为提高模型的鲁棒性和泛化能力,可以通过对第一训练样本集中的部分训练样本添加噪声的方式,来进行对输入模型的训练样本进行处理。可以理解地,针对不同类型的第一训练样本集,可以使用与训练样本类型对应的噪声添加方式进行噪声添加,以保证噪声添加后的第一训练样本集中的训练样本的质量,避免因噪声添加方式与训练样本类型不匹配,影响模型的训练效果。
在一些实施方式中,所述第一训练样本集为样本图像集,所述样本图像集用于第一训练任务的模型训练,请参阅图2,步骤S120可以包括以下步骤S121至步骤S124中的内容:
步骤S121:获取与所述第一训练任务对应的目标高斯核。
在本实施例中,若第一训练样本集为样本图像集,可以对样本图像进行高斯噪声的添加。具体地,可以预先针对不同类型的训练任务设置其对应的预设高斯核,因此,若确定样本图像集是用于第一训练任务的模型训练,则可以获取与第一训练任务对应的预设高斯核,作为与第一训练任务对应的目标高斯核。
例如,目标高斯核可以的大小可以为5*5,即高斯核的宽和高都为5,以及,其高斯核标准差可以为1。
步骤S122:获取与所述第一训练任务对应的噪声添加概率。
同理,针对不同类型的训练任务,其所需的噪声添加概率也可以不同,因此,可以预先针对不同类型的训练任务设置其对应的预设噪声添加概率。基于此,若确定样本图像集是用于第一训练任务的模型训练,则可以进一步获取与第一训练任务对应的预设噪声添加概率,作为第一训练任务对应的噪声添加概率,例如,0.5。如此,基于第一训练任务对应的噪声添加概率,对第一训练样本集进行噪声添加,可以使得第一训练样本集更加符合第一训练任务的训练需求,提高模型的训练效果。同时,避免了噪声添加概率过低,导致对模型量化精度的提高不明显,以及噪声添加概率过高,导致模型训练效果差,无法实现第一训练任务对应的功能等问题的发生。
步骤S123:获取所述样本图像集中的样本图像的总图像数量与所述噪声添加概率的乘积,作为目标数量。
进一步地,在获取到第一训练任务对应的噪声添加概率之后,获取样本图像集中的样本图像的总图像数量与噪声添加概率的乘积,作为目标数量,该目标数量可以理解为样本图像集中需要添加高斯噪声的图像数量。
例如,样本图像集中的样本图像的总图像数量为50万张,噪声添加概率为50%,进而可以计算出目标数量为25万张,即此时需要对25万张样本图像进行高斯噪声的添加。
步骤S124:利用所述目标高斯核,对所述样本图像集中的目标数量的样本图像进行卷积处理,得到卷积处理后的所述样本图像集,作为所述第二训练样本集。
最后,可以利用目标高斯核,对样本图像集中的目标数量的样本图像进行卷积处理,得到卷积处理后的样本图像集,作为第二训练样本集。其中,进行卷积处理的样本图像可以是从样本图像集中随机筛选的目标数量的样本图像。
示例性的,以大小为5*5、标准差为1.0的目标高斯和,噪声添加概率为50%为例,通过以下代码实现对样本图像集中的目标数量的样本图像进行高斯噪声的添加:
可选地,还可以对目标数量的样本图像添加椒盐噪声、乘法噪声以及泊松噪声中的至少一种噪声,本实施例对此不作限制。
在该方式下,还可以获取与第一训练任务相匹配的目标噪声类型,进而对样本图像集中的目标数量的样本图像添加目标噪声类型对应的噪声,使得添加噪声后得到的第二训练样本集更加符合第一训练任务的训练需求,提升模型的训练效果。
在一些实施方式中,在步骤S120之前,可以对第一训练样本集中的每个训练样本进行预处理,进而再对进行所述预处理后的所述第一训练样本集中的部分训练样本添加噪声,得到所述部分训练样本添加噪声后的所述第一训练样本集,作为所述第二训练样本集。其中,所述第一训练样本集为样本图像集,预处理至少包括图像归一化、图像缩放、图像裁剪、图像翻转中的一种。
示例性的,可以通过以下代码对样本图像实现图像检测、图像缩放、图像翻转以及图像归一化:
步骤S130:根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作,所述目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。
在一些实施方式中,请参阅图3,步骤S130可以包括以下步骤S131至步骤S134中的内容:
步骤S131:将所述第二训练样本集中的每个训练样本输入至所述初始模型中的特征处理层,得到每个所述训练样本对应的特征处理结果。
在本实施例中,特征处理层可以用于提取每个训练样本的特征信息,因此,可以将每个训练样本输入至初始模型的特征处理层后,可以得到每个训练样本对应的特征信息,即每个训练样本对应的特征处理结果。当然,初始模型中一般包括有多个特征处理层,此时,可以得到每个特征处理层输出的每个训练样本对应的特征信息。
步骤S132:将每个所述训练样本对应的特征处理结果输入至所述初始模型中的所述伪量化节点,得到每个所述训练样本对应的节点输出结果,所述节点输出结果为所述伪量化节点按照所述电子设备对应的所述目标参数精度对所述特征处理结果进行所述量化操作以及所述反量化操作得到的。
可以理解地,在对初始模型进行训练时,通常会在诸如服务器等具体较高的处理能力以及内存资源的大型计算机设备(例如云端数据中心)中进行,从而即使面对较为复杂的神经网络模型,也能够在保证其精度的同时顺利完成训练。而对模型训练完成后,服务器通常需要将其安装在诸如手机、笔记本电脑、平板电脑、台式电脑等终端上的客户端中,以完成对模型的部署。
但是,在实际应用的过程中,由于一些设备自身配置(如处理器、内存)等条件的限制,导致终端设备的处理能力和内存资源与服务器具有较大的差异,如果将训练好的模型直接部署在该终端设备上,该终端设备较低的处理能力往往会使模型运行缓慢,甚至无法正常启动,而且还会占用该终端设备较大的内存。以手机为例,通常情况下,手机的处理能力以及内存资源是远低于服务器的,如果将在服务器中训练好的模型直接部署在安装在手机上的客户端中,以手机自身的配置根本无法使该模型在客户端中流畅的运行,甚至造成客户端的崩溃,而且,通过服务器训练完成后的模型通常会占用较大的内存资源,如果直接将其部署在手机上,势必会影响到用户的使用体验。例如,在大型计算机设备上进行模型训练时,模型中的模型参数及权重一般是浮点型数据类型,而将训练完成后的模型部署于电子设备上时,由于电子设备的算力不如大型计算机设备的算力强,若直接将训练完成的模型部署在电子设备上进行应用,会导致模型运行缓慢或者失败。
因此,就需要对训练完成后的模型先进行优化,以简化其逻辑结构,以及缩小占用的内存资源,而后再将优化后的模型进行部署。因此,一般会将训练完成的模型的模型参数进行全量化的方式,对模型进行优化,再将优化后的模型部署于电子设备中。因此,可以在计算机设备对初始模型进行训练时,在初始模型中插入伪量化节点,对模型进行量化训练,即通过量化感知训练(Quantization Aware Training,QAT),以减小计算机设备端的模型精度与电子设备断的模型精度之间的差异。
具体地,初始模型中一般包括有多个特征处理层,可以在每个特征处理层的输出连接伪量化节点,且排在第一位的特征处理层之前也会连接有伪量化节点,这样每个特征处理层的前后都连接有伪量化节点,也就是说,通过伪量化节点可以对输入输出数据均进行处理。其中,特征处理层用于对特征信息进行一定操作,比如卷积操作或池化操作等;伪量化节点的伪量化操作主要包括量化操作和反量化操作,模拟出量化损失的过程,让模型能够感知到,量化操作是将输入的浮点特征值进行量化得到量化值,反量化操作是量化操作的逆过程,主要是对输入的量化值进行计算得到对应的浮点特征值。
可以理解地,目标参数精度可以理解为电子设备所能所支持模型运行的适配的精度,例如,整数类型(integer,Int)8;当然,也可以是Int16、Int32或Int64,本实施例对此不作限制。例如,若计算机设备中训练的初始模型的精度为浮点型数据类型,例如,float 32,当然,也可以是双精度浮点类型数据,本实施例对此不作限制。也就是说,伪量化节点可以对特征处理结果进行量化操作,即将特征处理结果浮点特征值进行量化得到整数类型特征值,然后再对整数类型特征值进行反量化操作,即将整数类型特征值反量化为浮点特征值。该过程相当于模拟了将模型进行量化后,部署于电子设备中,因量化了模型参数导致的特征值存在差异的过程,即使得初始模型可以感知到因量化操作带来的特征值之间的差异。
步骤S133:基于每个所述训练样本对应的节点输出结果以及每个所述训练样本携带的标签信息,确定目标损失值。
进一步地,可以根据将训练样本对应的节点输出结果输入至初始模型中的业务操作层,其中,业务操作层可以用于根据提取到的特征值执行具体的业务操作,例如,图像中的目标检测、图像分类、音频身份识别等业务操作;进一步地,业务操作层可以输出每个训练样本对应的目标标签信息,然后再根据每个训练样本对应的目标标签信息与每个训练样本携带的标签信息之间的差异,确定目标损失值。
步骤S134:基于所述目标损失值,对所述初始模型进行迭代训练,直至满足目标训练条件,得到训练后的所述初始模型,作为所述目标模型。
由于模型训练的过程就是需要尽量减少上述目标损失值,该训练过程是通过反向传播求导以及梯度下降等一系列数学优化手段不断的优化前述初始模型中待学习的模型参数的参数值,并使得上述目标损失值降至符合目标训练条件。
可以理解地,由于目标标签信息是业务操作成基于伪量化节点输出的节点输出结果操作得到的,因此,相当于计算目标标签信息的过程中,也包含了量化损失带来的精度损失,进而目标损失值也变相包含了模拟量化过程中带来的精度损失的损失值。也就是说,量化的误差当作了一种模型训练中的噪声,当在QAT的同时,已经让初始模型在学习适应这种噪声了,换句话说,在训练量化模型的同时,float32模型的模型参数同时也在学习如何去减小量化模型后带来的误差,并且由于给输入至初始模型输入的训练样本中添加了噪声,可以提高量化训练后的模型的鲁棒性和泛化能力,进而使得电子设备端与计算机设备的数值有差异,也能使得模型可以容忍这种差异,在存在差异的情况下产生正确的结果;并且,经过多轮模型的训练实验结果,可知极大程度提高了量化训练的量化精度,同时也提高了电子设备端的部署精度,并减少了计算机设备端的量化训练的理论量化精度与电子设备端的部署精度之间的差异。
其中,目标训练条件可以为:目标损失值小于预设值、目标损失值不再变化、或者训练次数达到预设次数等。可以理解的,在根据第二训练样本集对初始模型进行多个训练周期的迭代训练后,其中,每个训练周期包括多次的迭代训练,不断对初始模型中参数进行优化,使得上述目标损失值越来越小,最后变小为一个固定值,或者小于以上预设值,此时,则表示初始模型已收敛;当然也可以是在训练次数达到预设次数后,确定初始模型已经收敛,此时,则可以将收敛的初始模型作为上述目标模型。其中,预设值以及预设次数均为预先设置的,也可以根据不同的应用场景对其数值进行调整,本实施例对此不作限制。
在本实施例中,在量化训练过程中,为输入的部分训练样本添加了噪声,可以是提高模型的鲁棒性和泛化能力,进而使得电子设备端与计算机设备的数值有差异,也能使得模型可以容忍这种差异,在存在差异的情况下产生正确的结果,提高了量化训练的量化精度,同时也提高了电子设备端的部署精度,并减少了计算机设备端的量化训练的理论量化精度与电子设备端的部署精度之间的差异。
请参照图4,图4为本申请一实施例提供的一种模型训练方法的流程示意图。下面将结合图4对本申请实施例提供的模型训练方法进行详细阐述。该模型训练方法可以包括以下步骤:
步骤S210:获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息。
步骤S220:对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集。
步骤S230:根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作。
在本实施例中,步骤S210至步骤S230中的具体实施方式可以参阅前述实施例中的内容,在此不再赘述。
步骤S240:根据所述电子设备对应的所述目标参数精度,对所述目标模型的模型参数进行精度量化。
在本实施例中,计算机设备在完成对初始模型的训练,得到目标模型后。可以在接收到电子设备的模型下载请求的情况下,根据电子设备的设备标识,获取与该电子设备对应的目标参数精度;进而,对目标模型的模型参数进行精度量化。如此,计算机设备可以快速根据电子设备所需的目标参数精度,对目标模型的模型参数进行精度量化操作,提高了模型量化的效率。
步骤S250:将精度量化后的所述目标模型发送至所述电子设备。
进一步地,将精度量化后的目标模型发送至电子设备,对应地,电子设备在接收到该精度量化后的目标模型之后,则可以直接对该精度量化后的目标模型进行部署并应用,极大地提高了模型部署的效率。
在另一些实施方式中,在计算机设备接收到电子设备的模型下载请求的情况下,也可以直接将该目标模型发送至电子设备;进一步地,电子设备接收该目标模型,并根据自身对应的目标参数精度,对目标模型进行精度量化后,再进行模型部署及应用。
在本实施例中,在量化训练过程中,为输入的部分训练样本添加了噪声,可以是提高模型的鲁棒性和泛化能力,进而使得电子设备端与计算机设备的数值有差异,也能使得模型可以容忍这种差异,在存在差异的情况下产生正确的结果,提高了量化训练的量化精度,同时也提高了电子设备端的部署精度,并减少了计算机设备端的量化训练的理论量化精度与电子设备端的部署精度之间的差异,进而提高部署于电子设备中的目标模型的模型处理效果。
请参照图5,其中示出了本申请一实施例提供的一种模型训练装置300的结构框图。该装置300可以包括:样本集获取模块310、噪声添加模块320和模型训练模块330。
样本集获取模块310用于获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息。
噪声添加模块320用于对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集。
模型训练模块330用于根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作,所述目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。
在一些实施方式中,所述第一训练样本集为样本图像集,所述样本图像集用于第一训练任务的模型训练,噪声添加模块320可以包括:高斯核获取单元以及噪声添加单元。其中,高斯核获取单元可以用于获取与所述第一训练任务对应的目标高斯核。噪声添加单元可以用于利用所述目标高斯核,对所述样本图像集中的目标数量的样本图像进行卷积处理,得到卷积处理后的所述样本图像集,作为所述第二训练样本集。
在该方式下,噪声添加模块320还可以包括:概率获取单元以及数量获取单元。其中,概率获取单元可以用于在所述利用所述目标高斯核,对所述样本图像集中的目标数量的样本图像进行卷积处理,得到卷积处理后的所述样本图像集,作为所述第二训练样本集之前,获取与所述第一训练任务对应的噪声添加概率。数量获取单元可以用于获取所述样本图像集中的样本图像的总图像数量与所述噪声添加概率的乘积,作为所述目标数量。
在一些实施方式中,模型训练模块330可以具体用于:将所述第二训练样本集中的每个训练样本输入至所述初始模型中的特征处理层,得到每个所述训练样本对应的特征处理结果;将每个所述训练样本对应的特征处理结果输入至所述初始模型中的所述伪量化节点,得到每个所述训练样本对应的节点输出结果,所述节点输出结果为所述伪量化节点按照所述电子设备对应的所述目标参数精度对所述特征处理结果进行所述量化操作以及所述反量化操作得到的;基于每个所述训练样本对应的节点输出结果以及每个所述训练样本携带的标签信息,确定目标损失值;基于所述目标损失值,对所述初始模型进行迭代训练,直至满足目标训练条件,得到训练后的所述初始模型,作为所述目标模型。
在一些实施方式中,模型训练装置300还可以包括:预处理模块。其中,预处理模块可以用于在所述获取第一训练样本集之后,对所述第一训练样本集中的每个训练样本进行预处理。
在该方式下,噪声添加模块320可以具体用于对进行所述预处理后的所述第一训练样本集中的部分训练样本添加噪声,得到所述部分训练样本添加噪声后的所述第一训练样本集,作为所述第二训练样本集。
在该方式下,所述第一训练样本集为样本图像集,所述预处理至少包括图像归一化、图像缩放、图像裁剪、图像翻转中的一种。
在一些实施方式中,模型训练装置300还可以包括:模型量化模块以及模型发送模块。其中,模型量化模块可以具体用于在所述根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型之后,根据所述电子设备对应的所述目标参数精度,对所述目标模型的模型参数进行精度量化。模型发送模块可以用于将精度量化后的所述目标模型发送至所述电子设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,计算机设备获取第一训练样本集,其中,第一训练样本集中的每个训练样本携带有标签信息;对第一训练样本集中的部分训练样本添加噪声,得到对部分训练样本添加噪声后的第一训练样本集,作为第二训练样本集;根据第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,初始模型中包括特征处理层以及与特征处理层相连的伪量化节点,伪量化节点用于根据目标参数精度对特征处理层的输出进行量化操作以及反量化操作,目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。如此,在量化训练过程中,为输入的部分训练样本添加了噪声,可以是提高模型的鲁棒性和泛化能力,进而使得电子设备端与计算机设备的数值有差异,也能使得模型可以容忍这种差异,在存在差异的情况下产生争取而结果,提高了量化训练的量化精度,同时也提高了电子设备端的部署精度,并减少了计算机设备端的量化训练的理论量化精度与电子设备端的部署精度之间的差异。
下面将结合图6对本申请提供的一种计算机设备进行说明。
参照图6,图6示出了本申请实施例提供的一种计算机设备400的结构框图,本申请实施例提供的上述方法可以由该计算机设备400执行。该计算机设备可以是具有数据处理功能的电子终端,该电子终端包括但不限于智能手机、平板电脑、笔记本电脑、台式电脑、智能手表、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器以及智能家居设备等;当然,该计算机设备也可以是服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中的计算机设备400可以包括一个或多个如下部件:处理器401、存储器402、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器402中并被配置为由一个或多个处理器401执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器401可以包括一个或者多个处理核。处理器401利用各种接口和线路连接整个计算机设备400内的各个部分,通过运行或执行存储在存储器402内的指令、程序、代码集或指令集,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据。可选地,处理器701可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器401可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以集成到处理器401中,单独通过一块通信芯片进行实现。
存储器402可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器402可用于存储指令、程序、代码、代码集或指令集。存储器402可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储计算机设备400在使用中所创建的数据(比如上述的各种对应关系)等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质500中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质500可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质500包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质500具有执行上述方法中的任何方法步骤的程序代码510的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以例如以适当形式进行压缩。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述各方法实施例中的步骤。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种模型训练方法,其特征在于,应用于计算机设备,所述方法包括:
获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息;
对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集;
根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作,所述目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。
2.根据权利要求1所述的方法,其特征在于,所述第一训练样本集为样本图像集,所述样本图像集用于第一训练任务的模型训练,所述对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集,包括:
获取与所述第一训练任务对应的目标高斯核;
利用所述目标高斯核,对所述样本图像集中的目标数量的样本图像进行卷积处理,得到卷积处理后的所述样本图像集,作为所述第二训练样本集。
3.根据权利要求2所述的方法,其特征在于,在所述利用所述目标高斯核,对所述样本图像集中的目标数量的样本图像进行卷积处理,得到卷积处理后的所述样本图像集,作为所述第二训练样本集之前,所述方法还包括:
获取与所述第一训练任务对应的噪声添加概率;
获取所述样本图像集中的样本图像的总图像数量与所述噪声添加概率的乘积,作为所述目标数量。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,包括:
将所述第二训练样本集中的每个训练样本输入至所述初始模型中的特征处理层,得到每个所述训练样本对应的特征处理结果;
将每个所述训练样本对应的特征处理结果输入至所述初始模型中的所述伪量化节点,得到每个所述训练样本对应的节点输出结果,所述节点输出结果为所述伪量化节点按照所述电子设备对应的所述目标参数精度对所述特征处理结果进行所述量化操作以及所述反量化操作得到的;
基于每个所述训练样本对应的节点输出结果以及每个所述训练样本携带的标签信息,确定目标损失值;
基于所述目标损失值,对所述初始模型进行迭代训练,直至满足目标训练条件,得到训练后的所述初始模型,作为所述目标模型。
5.根据权利要求1-4任一项所述方法,其特征在于,在所述获取第一训练样本集之后,所述方法还包括:
对所述第一训练样本集中的每个训练样本进行预处理;
所述对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集,包括:
对进行所述预处理后的所述第一训练样本集中的部分训练样本添加噪声,得到所述部分训练样本添加噪声后的所述第一训练样本集,作为所述第二训练样本集。
6.根据权利要求5所述的方法,其特征在于,所述第一训练样本集为样本图像集,所述预处理至少包括图像归一化、图像缩放、图像裁剪、图像翻转中的一种。
7.根据权利要求1-4任一项所述的方法,其特征在于,在所述根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型之后,所述方法还包括:
根据所述电子设备对应的所述目标参数精度,对所述目标模型的模型参数进行精度量化;
将精度量化后的所述目标模型发送至所述电子设备。
8.一种模型训练装置,其特征在于,应用于计算机设备,所述装置包括:
样本集获取模块,用于获取第一训练样本集,所述第一训练样本集中的每个训练样本携带有标签信息;
噪声添加模块,用于对所述第一训练样本集中的部分训练样本添加噪声,得到对所述部分训练样本添加噪声后的所述第一训练样本集,作为第二训练样本集;
模型训练模块,用于根据所述第二训练样本集,对初始模型进行迭代训练,得到训练后的所述初始模型,作为目标模型,所述初始模型中包括特征处理层以及与所述特征处理层相连的伪量化节点,所述伪量化节点用于根据目标参数精度对所述特征处理层的输出进行量化操作以及反量化操作,所述目标模型用于根据目标参数精度对模型参数进行精度量化后,部署于电子设备中。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310080662.3A CN115983365A (zh) | 2023-01-16 | 2023-01-16 | 模型训练方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310080662.3A CN115983365A (zh) | 2023-01-16 | 2023-01-16 | 模型训练方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115983365A true CN115983365A (zh) | 2023-04-18 |
Family
ID=85957969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310080662.3A Pending CN115983365A (zh) | 2023-01-16 | 2023-01-16 | 模型训练方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115983365A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579400A (zh) * | 2023-05-19 | 2023-08-11 | 北京百度网讯科技有限公司 | 深度学习模型的量化方法、数据处理方法和装置 |
CN117788983A (zh) * | 2024-02-28 | 2024-03-29 | 青岛海尔科技有限公司 | 基于大模型的图像数据处理方法及装置、存储介质 |
-
2023
- 2023-01-16 CN CN202310080662.3A patent/CN115983365A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579400A (zh) * | 2023-05-19 | 2023-08-11 | 北京百度网讯科技有限公司 | 深度学习模型的量化方法、数据处理方法和装置 |
CN116579400B (zh) * | 2023-05-19 | 2024-02-23 | 北京百度网讯科技有限公司 | 深度学习模型的量化方法、数据处理方法和装置 |
CN117788983A (zh) * | 2024-02-28 | 2024-03-29 | 青岛海尔科技有限公司 | 基于大模型的图像数据处理方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115983365A (zh) | 模型训练方法、装置、计算机设备及存储介质 | |
CN112396115B (zh) | 基于注意力机制的目标检测方法、装置及计算机设备 | |
CN112132279B (zh) | 卷积神经网络模型压缩方法、装置、设备及存储介质 | |
CN111260220A (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN114662006B (zh) | 端云协同推荐系统、方法以及电子设备 | |
WO2022161387A1 (zh) | 一种神经网络的训练方法及相关设备 | |
US9424484B2 (en) | Feature interpolation | |
CN113592593A (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
CN111967478A (zh) | 一种基于权重翻转的特征图重构方法、系统、存储介质及终端 | |
CN116737373A (zh) | 负载均衡方法、装置、计算机设备、存储介质 | |
EP3591608A1 (en) | Method and system for image reconstruction using deep dictionary learning (ddl) | |
CN111353577A (zh) | 基于多任务的级联组合模型的优化方法、装置及终端设备 | |
CN114329093B (zh) | 数据的处理方法、装置及设备 | |
CN113095356B (zh) | 一种轻量型神经网络系统及图像处理方法及装置 | |
CN110929767B (zh) | 一种字形处理方法、系统、设备和介质 | |
CN116266394A (zh) | 多模态的情绪识别方法、设备及存储介质 | |
CN113157987A (zh) | 用于机器学习算法的数据预处理方法及相关设备 | |
CN113780239A (zh) | 虹膜识别方法、装置、电子设备和计算机可读介质 | |
CN110929118A (zh) | 网络数据处理方法、设备、装置、介质 | |
US11138562B2 (en) | Automatic processing of device damage claims using artificial intelligence | |
CN115309969A (zh) | 搜索意图识别方法、装置、介质、程序产品及电子设备 | |
CN115906651A (zh) | 二值神经网络的更新方法、装置及电子设备 | |
CN116704263A (zh) | 一种软件分类方法、系统、电子设备及存储介质 | |
CN117493680A (zh) | 应用点击预测方法、装置、电子设备及存储介质 | |
CN115661465A (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 |