一种模型的训练方法、装置、存储介质及电子设备
文献发布时间:2024-04-18 19:57:50
技术领域
本申请涉及计算机技术领域,尤其涉及一种模型的训练方法、装置、存储介质及电子设备。
背景技术
随着科技的发展,人工智能技术飞速发展。目前深度学习技术被广泛应用于各业务领域,如图像识别、视觉定位等,基于深度学习技术训练得到的神经网络模型也越来越多。其中,卷积神经网络在目标检测与识别、图像分类、语义分割等任务上展示出了其强大的能力。
然而,训练完成的模型往往复杂度较高、数据量较大,尤其是基于深度学习技术训练得到的模型,尽管复杂的模型能够带来更好的性能,但是高额存储空间的占据以及大量计算资源的消耗,致使训练完成的模型难以有效应用于各硬件平台中,因此在模型训练的过程中,在保证模型性能的同时,如何对模型进行压缩处理即减少模型的参数数量以及降低模型大小,使得训练完成的模型可以应用至各硬件平台中是至关重要的问题。
基于此,本申请说明书提供了一种模型的训练方法。
发明内容
本说明书提供一种模型的训练方法、装置、存储介质及电子设备,以至少部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种模型的训练方法,所述方法包括:
获取待训练的图像处理模型中网络层的各连接权重;
根据所述连接权重,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重;
获取样本图像以及所述样本图像对应的标注;
根据所述样本图像以及所述样本图像对应的标注,分别调整所述成熟连接权重以及所述非成熟连接权重,得到训练完成的图像处理模型;
根据得到的训练完成的图像处理模型中的各连接权重,确定所述训练完成的图像处理模型中的非成熟连接权重并剪枝,得到最终的图像处理模型。
可选地,根据所述连接权重,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重,具体包括:
针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;
根据确定出的该网络层对应的权重矩阵以及所述待训练的图像处理模型的网络层总数量,确定该网络层对应的权重阈值;
根据确定出的所述待训练的图像处理模型中的各网络层对应的权重阈值,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重。
可选地,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重,具体包括:
针对该网络层中的每个连接权重,若该连接权重大于该网络层对应的权重阈值,则确定该连接权重为成熟连接权重;
若该连接权重对应的连接权重不大于该网络层对应的权重阈值,则确定该连接权重为非成熟连接权重。
可选地,根据所述样本图像以及所述样本图像对应的标注,调整所述非成熟连接权重,具体包括:
将所述样本图像输入所述待训练的图像处理模型,得到所述待训练的图像处理模型输出的第一处理结果;
以所述第一处理结果与所述标注之间的差异最小为目标,调整所述待训练的图像处理模型中的所述非成熟连接权重。
可选地,根据所述样本图像以及所述样本图像对应的标注,调整所述成熟连接权重以及所述非成熟连接权重,具体包括:
根据所述样本图像以及所述样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练中分别调整所述成熟连接权重以及所述非成熟连接权重;
在得到所述待训练的图像处理模型输出的第一处理结果之前,所述方法还包括:
恢复上一轮迭代训练过程中剪枝或者冻结的非成熟连接权重;
在调整所述待训练的图像处理模型中的所述非成熟连接权重之前,所述方法还包括:
对本轮迭代训练过程中的所述成熟连接权重进行剪枝或者冻结。
可选地,在调整所述非成熟连接权重之后,所述方法还包括:
针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;
以该网络层对应的权重矩阵与调整后的该网络层中的非成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的非成熟连接权重进行微调。
可选地,根据所述样本图像以及所述样本图像对应的标注,调整所述成熟连接权重,具体包括:
将所述样本图像输入所述待训练的图像处理模型,得到所述待训练的图像处理模型输出的第二处理结果;
以所述第二处理结果与所述标注之间的差异最小为目标,调整所述待训练的图像处理模型中的所述成熟连接权重。
可选地,根据所述样本图像以及所述样本图像对应的标注,分别调整所述成熟连接权重以及所述非成熟连接权重,具体包括:
根据所述样本图像以及所述样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练中分别调整所述成熟连接权重以及所述非成熟连接权重;
在得到所述待训练的图像处理模型输出的第二处理结果之前,所述方法还包括:
恢复上一轮迭代训练过程中剪枝或者冻结的成熟连接权重;
在调整所述待训练的图像处理模型中的所述成熟连接权重之前,所述方法还包括:
对本轮迭代训练过程中的所述非成熟连接权重进行剪枝或者冻结。
可选地,在调整所述成熟连接权重之后,所述方法还包括:
针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;
以该网络层对应的权重矩阵与调整后的该网络层中的成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的成熟连接权重进行微调。
可选地,在分别调整所述成熟连接权重以及所述非成熟连接权重之后,在确定所述训练完成的图像处理模型中的非成熟连接权重并剪枝之前,所述方法还包括:
根据调整后的成熟连接权重以及非成熟连接权重,确定调整后的图像处理模型中的成熟连接权重以及非成熟连接权重对应的第一权重矩阵;以及确定所述待训练的图像处理模型中的连接权重对应的第二权重矩阵;
以所述第一权重矩阵与所述第二权重矩阵之间的差异最小为目标,对所述调整后的成熟连接权重和非成熟连接权重进行微调。
本说明书提供了一种模型的训练装置,包括:
第一获取模块,用于获取待训练的图像处理模型中网络层的连接权重;
确定模块,用于根据所述连接权重,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重;
第二获取模块,用于获取样本图像以及所述样本图像对应的标注;
训练模块,用于根据所述样本图像以及所述样本图像对应的标注,分别调整所述成熟连接权重以及所述非成熟连接权重,得到训练完成的图像处理模型;
剪枝模块,用于根据得到的训练完成的图像处理模型中的各连接权重,确定所述训练完成的图像处理模型中的非成熟连接权重并剪枝,得到最终的图像处理模型。
可选地,所述确定模块具体用于,针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;根据确定出的该网络层对应的权重矩阵以及所述待训练的图像处理模型的网络层总数量,确定该网络层对应的权重阈值;根据确定出的所述待训练的图像处理模型中的各网络层对应的权重阈值,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重。
可选地,所述确定模块具体用于,针对该网络层中的每个连接权重,若该连接权重大于该网络层对应的权重阈值,则确定该连接权重为成熟连接权重;若该连接权重对应的连接权重不大于该网络层对应的权重阈值,则确定该连接权重为非成熟连接权重。
可选地,所述训练模块具体用于,将所述样本图像输入所述待训练的图像处理模型,得到所述待训练的图像处理模型输出的第一处理结果;以所述第一处理结果与所述标注之间的差异最小为目标,调整所述待训练的图像处理模型中的所述非成熟连接权重。
可选地,所述训练模块具体用于,根据所述样本图像以及所述样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练中分别调整所述成熟连接权重以及所述非成熟连接权重;
所述训练模块还用于,恢复上一轮迭代训练过程中剪枝或者冻结的非成熟连接权重;
所述训练模块还用于,对本轮迭代训练过程中的所述成熟连接权重进行剪枝或者冻结。
可选地,所述训练模块还用于,针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;以该网络层对应的权重矩阵与调整后的该网络层中的非成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的非成熟连接权重进行微调。
可选地,所述训练模块具体用于,将所述样本图像输入所述待训练的图像处理模型,得到所述待训练的图像处理模型输出的第二处理结果;以所述第二处理结果与所述标注之间的差异最小为目标,调整所述待训练的图像处理模型中的所述成熟连接权重。
可选地,所述训练模块具体用于,根据所述样本图像以及所述样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练中分别调整所述成熟连接权重以及所述非成熟连接权重;
所述训练模块还用于,恢复上一轮迭代训练过程中剪枝或者冻结的成熟连接权重;
所述训练模块还用于,对本轮迭代训练过程中的所述非成熟连接权重进行剪枝或者冻结。
可选地,所述训练模块还用于,针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;以该网络层对应的权重矩阵与调整后的该网络层中的成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的成熟连接权重进行微调。
可选地,所述训练模块还用于,根据调整后的成熟连接权重以及非成熟连接权重,确定调整后的图像处理模型中的成熟连接权重以及非成熟连接权重对应的第一权重矩阵;以及确定所述待训练的图像处理模型中的连接权重对应的第二权重矩阵;以所述第一权重矩阵与所述第二权重矩阵之间的差异最小为目标,对所述调整后的成熟连接权重和非成熟连接权重进行微调。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述模型的训练方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模型的训练方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的模型的训练方法中可以看出,通过确定待训练的图像处理模型的各连接权重中的成熟连接权重以及非成熟连接权重,并基于样本图像以及样本图像对应的标注,分别对成熟连接权重以及非成熟连接权重进行调整,以得到训练完成的图像处理模型,并对训练完成的图像处理模型中的非成熟连接权重剪枝,得到最终的图像处理模型。在该方法的模型训练过程中,由于模型中网络层对应的各连接权重会随着模型的迭代训练而发生变化,那么非成熟连接权重随着模型的迭代训练可能转变为成熟连接权重,也即对模型的预测性能贡献变大,因此在对模型进行压缩时,区别于目前模型训练时直接对非成熟连接权重进行剪枝的方法,本方法对模型中的非成熟连接权重以及成熟连接权重分别进行调整,直至得到训练完成的模型,并基于训练完成的模型中的各连接权重,确定非成熟连接权重并剪枝,以得到完成压缩的最终模型。显然,该方法在实现模型压缩的同时,兼顾了非成熟连接权重对模型性能造成的影响,进一步提高了模型的性能。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种模型的训练方法的流程示意图;
图2为本说明书提供的一种模型结构示意图;
图3为本说明书提供的一种模型的训练方法的框架示意图;
图4为本说明书提供的一种模型的训练装置示意图;
图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
模型压缩算法可以将复杂度高、数据量大的模型转化为相对精简、复杂度低的模型,以减少模型对硬件设备的存储需求、带宽需求以及计算需求,实现终端中的模型部署以及加速模型推理的目标。其中,模型剪枝(也即模型稀疏化)是模型压缩方法中的一种,且被广泛应用,模型剪枝可以直接减少模型中的参数量。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种模型的训练方法的流程示意图,具体可包括以下步骤:
S100:获取待训练的图像处理模型中网络层的连接权重。
S102:根据所述连接权重,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重。
目前由于基于深度学习技术得到的图像处理模型的复杂度较高,往往难以直接部署至各终端平台中,且由于在不同场景下对图像处理模型的精确性以及实时性要求不同,例如:在海关、机场以及车站等地点的通关进站安检中,要对行李物品等进行严格的检查,以确保站内外流动的行李物品符合规定要求,然而海量的行李物品以及对行李物品的即时查验放行的目标,要求对行李物品的图像进行检测处理的图像处理模型具备极高的精确性以及实时性,在本说明书的一个或多个实施例中,该图像处理模型可为基于卷积神经网络的目标检测模型、图像分类模型等等。因此,本申请说明书提供了一种模型的训练方法,使得训练完成的模型既得到了压缩又兼顾了模型的性能,使得模型可以实时地运行在移动设备、嵌入式平台上。
执行本说明书技术方案的执行主体可为任意具备计算能力的计算设备(如:服务器、终端)。
在本说明书中,该计算设备首先可获取待训练的图像处理模型中网络层的连接权重。如图2所示,圆圈表示图像处理模型中的神经元,连接权重为神经元之间传递特征向量时的传播权重,如图2中的实线箭头。并根据获取到的网络层的连接权重,确定待训练的图像处理模型中的成熟连接权重以及非成熟连接权重。在本说明书中的一个或多个实施例中,该图像处理模型可为卷积神经网络模型,对于该待训练的图像处理模型而言,可获取该待训练的图像处理模型中网络层的神经元的连接权重,进而将该待训练的图像处理模型中的连接权重划分为成熟连接权重以及非成熟连接权重,其中,成熟连接权重大于非成熟连接权重。
需要说明的是,该待训练的图像处理模型可以为预训练的图像处理模型,也即可为根据通用样本数据集,训练得到的预训练的图像处理模型,则待训练的图像处理模型中网络层的连接权重可为该预训练的图像处理模型中网络层的连接权重,该待训练的图像处理模型也可以为未经过训练的图像处理模型,则可初始化该未训练的图像处理模型中的参数,则待训练的图像处理模型中网络层的连接权重可为初始化的该未训练的图像处理模型中网络层的连接权重。
具体的,该计算设备在确定待训练的图像处理模型中的成熟连接权重以及非成熟连接权重时,可先针对待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵,然后根据确定出的该网络层对应的权重矩阵以及待训练的图像处理模型的网络层总数量,确定该网络层对应的权重阈值,最后根据确定出的待训练的图像处理模型中的各网络层对应的权重阈值,确定待训练的图像处理模型中的成熟连接权重以及非成熟连接权重,也即针对该网络层中的每个连接权重,若该连接权重大于该网络层对应的权重阈值,则确定该连接权重为成熟连接权重,若该连接权重对应的连接权重不大于该网络层对应的权重阈值,则确定该连接权重为非成熟连接权重。
在本说明书的一个或多个实施例中,为了将待训练的图像处理模型中的连接权重划分为成熟连接权重以及非成熟连接权,可使用下述公式确定各网络层对应的权重阈值:
。
其中,k表示待训练的图像处理模型中网络层的第k层,且1<=k<=N,N表示待训练的图像处理模型中网络层总数量,
S104:获取样本图像以及所述样本图像对应的标注。
S106:根据所述样本图像以及所述样本图像对应的标注,分别调整所述成熟连接权重以及所述非成熟连接权重,得到训练完成的图像处理模型。
进而,该计算设备可获取样本图像以及样本图像对应的标注,并根据样本图像以及样本图像对应的标注,分别调整成熟连接权重以及非成熟连接权重,得到训练完成的图像处理模型。在本说明书中,根据样本图像以及样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练过程中分别调整成熟连接权重以及非成熟连接权重。也就是说,待训练的图像处理模型的每轮训练至少包括:调整成熟连接权重以及调整非成熟连接权重。
需要说明的是,对成熟连接权重以及非成熟连接权重进行调整时,顺序不分先后,也即在每轮迭代训练过程中,可先调整该轮的成熟连接权重,再调整该轮的非成熟连接权重,或者,可先调整该轮的非成熟连接权重,再调整该轮的成熟连接权重,具体不做限制。并且,针对每轮训练,在调整该轮的成熟连接权重时,恢复上一轮迭代训练过程中剪枝或者冻结的成熟连接权重,并对该轮的非成熟连接权重进行剪枝或者固定,在调整非成熟连接权重时,恢复上一轮迭代训练过程中剪枝或者冻结的非成熟连接权重,并对该轮的成熟连接权重进行剪枝或者固定。
下面以先调整成熟连接权重,再调整非成熟连接权重为例进行说明。
具体的,在对非成熟连接权重进行剪枝以调整确定出的成熟连接权重时,该计算设备可将样本图像输入待训练的图像处理模型,得到待训练的图像处理模型输出的第二处理结果,并以第二处理结果与样本图像对应的标注之间的差异最小为目标,调整待训练的图像处理模型中的成熟连接权重。
在本说明书中,在调整成熟连接权重时,该计算设备可先针对待训练的图像处理模型中的每个网络层,设置该网络层对应的矩阵P,矩阵P可采用下述公式表示:
。
其中,
并且,该计算设备可使用下述公式对待训练的图像处理模型中的连接权重进行稀疏,以对非成熟连接权重进行剪枝,以实现对成熟连接权重的调整。
。
其中,
需要说明的是,由于在本说明书中待训练的图像处理模型的每轮训练至少包括:调整成熟连接权重以及调整非成熟连接权重,因此在得到所述待训练的图像处理模型输出的第二处理结果之前,该计算设备需要恢复上一轮迭代训练过程中剪枝或者冻结的成熟连接权重,并且在调整待训练的图像处理模型中的成熟连接权重之前,该计算设备要对本轮迭代训练过程中的非成熟连接权重进行剪枝或者冻结。
相对应的,在对成熟连接权重进行剪枝以调整确定出的非成熟连接权重时,该计算设备同样可将样本图像输入待训练的图像处理模型,得到待训练的图像处理模型输出的第一处理结果,并以第一处理结果与样本图像对应的标注之间的差异最小为目标,调整待训练的图像处理模型中的非成熟连接权重。
具体可使用下述公式对成熟连接权重以及非成熟连接权重的标识符(即0与1)进行置换,以实现对待训练的图像处理模型中的成熟连接权重进行剪枝,并对剩余的非成熟连接权重进行调整:
。
。
其中,
需要说明的是,由于在本说明书中待训练的图像处理模型的每轮训练至少包括:调整成熟连接权重以及调整非成熟连接权重,因此在得到所述待训练的图像处理模型输出的第一处理结果之前,该计算设备需要恢复上一轮迭代训练过程中剪枝或者冻结的非成熟连接权重,并且在调整待训练的图像处理模型中的非成熟连接权重之前,该计算设备要对本轮迭代训练过程中的成熟连接权重进行剪枝或者冻结。
如图3所示,为本说明书提供的一种模型的训练方法的框架示意图。在图3中,圆圈代表模型中的神经元,位于一列的神经元为一个网络层,向前传播时神经元之间的箭头连线对应连接权重,其中,虚线箭头表示待训练的图像处理模型中的非成熟连接权重,实线箭头表示待训练的图像处理模型中的成熟连接权重,加粗虚线箭头表示调整后的非成熟连接权重,实线箭头表示调整后的成熟连接权重,对连接权重进行剪枝或者固定用符号叉表示。
也就是说,在本申请说明书提供的模型训练的方法中,先获取待训练的图像处理模型中网络层的连接权重,以及获取样本图像以及所述样本图像对应的标注,并根据连接权重,确定待训练的图像处理模型中的成熟连接权重以及非成熟连接权重。
然后,对待训练的图像处理模型中的非成熟连接权重进行剪枝或者冻结,得到第一图像处理模型,并将样本图像输入第一图像处理模型,得到第一处理结果,以第一处理结果与标注之间的差异最小为目标,调整第一图像处理模型中的成熟连接权重,得到调整后的第一图像处理模型。
进而,在调整后的第一图像处理模型中恢复非成熟连接权重,并对调整后的第一图像处理模型中的成熟连接权重进行剪枝或者冻结,得到第二图像处理模型。将样本图像输入第二图像处理模型,得到第二处理结果,并以第二处理结果与标注之间的差异最小为目标,调整第二图像处理模型中的成熟连接权重,得到调整后的第二图像处理模型。并且在调整后的第二图像处理模型中恢复调整后的第一图像处理模型中的非成熟连接权重,得到调整后的图像处理模型。
最后,将调整后的图像处理模型重新作为待训练的图像处理模型,并继续确定重新得到的待训练的图像处理模型中的成熟连接权重以及非成熟连接权重,以及继续调整成熟连接权重以及非成熟连接权重,直至满足预设条件为止,得到训练完成的图像处理模型。根据得到的训练完成的图像处理模型中的各连接权重,确定训练完成的图像处理模型中的非成熟连接权重并剪枝,得到最终的图像处理模型。
其中,预设条件可为训练迭代次数达到预设阈值,或者连接权重达到预设阈值,或者确定出的损失小于预设阈值。
由于待训练的图像处理模型在迭代训练中,该待训练的图像处理模型中的神经元之间的连接权重会动态发生变化,即连接权重对模型的重要性会动态改变,如:在对待训练的图像处理模型进行训练之前,某连接权重被判断为非成熟连接权重并剪枝,而经过后续迭代训练后,该非成熟连接权重对于该待训练的图像处理模型的预测性能有较大贡献,因此在后续迭代训练之前对该非成熟连接权重进行剪枝,再对剪枝后的该待训练的图像处理模型进行训练会带来一定的信息丢失,从而导致预测结果不准确,影响该模型的预测性能,因此本说明书中对待训练的图像处理模型的连接权重进行恢复的操作,能降低错误剪枝操作发生的概率,提高剪枝后的模型的准确性。
S108:根据得到的训练完成的图像处理模型中的各连接权重,确定所述训练完成的图像处理模型中的非成熟连接权重并剪枝,得到最终的图像处理模型。
最后,该计算设备可根据得到的训练完成的图像处理模型中的各连接权重,确定训练完成的图像处理模型中的非成熟连接权重并剪枝,得到最终的图像处理模型。其中,确定训练完成的图像处理模型中的非成熟连接权重的方法与上述步骤S106中所述的确定待训练的图像处理模型中的成熟连接权重以及非成熟连接权重的方法一致,可针对训练完成的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵,并根据确定出的该网络层对应的权重矩阵以及训练完成的图像处理模型的网络层总数量,确定该网络层对应的权重阈值,进而根据训练完成的图像处理模型中的各网络层对应的权重阈值,确定训练完成的图像处理模型中的非成熟连接权重。并可对确定出的非成熟连接权重进行剪枝,得到最终的图像处理模型。
基于图1所示本说明书提供的上述模型的训练方法中,区别于目前模型训练时直接对非成熟连接权重进行剪枝的方法,该方法通过确定待训练的图像处理模型的各连接权重中的成熟连接权重以及非成熟连接权重,并基于样本图像以及样本图像对应的标注,分别对成熟连接权重以及非成熟连接权重进行调整,以得到训练完成的图像处理模型,并对训练完成的图像处理模型中的非成熟连接权重剪枝,得到最终的图像处理模型。在该方法的模型训练过程中,由于模型中网络层对应的各连接权重会随着模型的迭代训练而发生变化,那么非成熟连接权重随着模型的迭代训练可能转变为成熟连接权重,也即对模型的预测性能贡献变大,因此该方法在实现模型压缩的同时,兼顾了非成熟连接权重对模型性能造成的影响,进一步提高了模型的性能。
由于目前的模型权重剪枝方法是根据设置的标准评估连接权重的重要性,对被评估的“不重要连接权重”即非成熟连接权重直接进行剪枝,在实际应用中只训练“重要的连接”即成熟连接权重,而忽略对“不重要的连接”即非成熟连接权重的训练。且由于在模型的训练过程中,通过迭代训练“不重要的连接”即非成熟连接权重,其可能发生变化,从而导致其对训练完成的模型的重要性发生改变,因此本方法进行模型权重剪枝时,针对模型的每轮训练,分别对由成熟连接权重构成的模型进行训练,以及对由非成熟连接权重构成的模型进行训练,且为了提高训练完成的模型的性能,在训练过程中可对模型进行微调,最终经过多轮训练后,得到训练完成的模型,并评估训练完成的模型中的非成熟连接权重并剪枝,以得到剪枝后最终的模型。经实验证明,该方法对模型的压缩尤其是对卷积神经网络模型的压缩,或者说对卷积神经网络模型的权重的稀疏表示展示出高效地性能。
进一步的,为了提高模型的性能,在上述步骤S106中,在调整所述非成熟连接权重以及在调整成熟连接权重之后,该计算设备还可分别对调整后的成熟连接权重以及非成熟连接权重进行微调。具体的,在对非成熟连接权重进行微调时,可针对待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵,并以该网络层对应的权重矩阵与调整后的该网络层中的非成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的非成熟连接权重进行微调。同样的,在对成熟连接权重进行微调时,可针对待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵,并以该网络层对应的权重矩阵与调整后的该网络层中的成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的成熟连接权重进行微调。
此外,在分别调整成熟连接权重以及非成熟连接权重之后,在确定训练完成的图像处理模型中的非成熟连接权重并剪枝之前,可根据调整后的成熟连接权重以及非成熟连接权重,确定调整后的图像处理模型中的成熟连接权重以及非成熟连接权重对应的第一权重矩阵,以及确定待训练的图像处理模型中的连接权重对应的第二权重矩阵,并以第一权重矩阵与第二权重矩阵之间的差异最小为目标,对调整后的成熟连接权重和非成熟连接权重进行微调。
简单的来说,在本说明书中,对模型进行训练时,可对模型中的连接权重进行微调,微调包括三部分:对成熟连接权重的微调,对非成熟连接权重的微调,对每次迭代训练后的全部连接权重进行微调。
显然,对全部连接权重进行微调时,由于之前已经分别对成熟连接权重与非成熟连接权重进行微调,模型的损失函数已经达到较为收敛的状态,因此对全部连接权重进行微调时所使用的学习率较小,对模型中的连接权重进行微调,能够提升模型性能。
在本说明书的一个或多个实施例中,对模型中的连接权重进行微调时,可采用下述公式:
。
。
其中,L表示待训练的图像处理模型的损失函数,
因此在微调过程中,可求解
基于上述内容所述的模型的训练方法,本说明书实施例还对应的提供一种用于模型的训练装置示意图,如图4所示。
图4为本说明书实施例提供的一种用于模型的训练装置的示意图,所述装置包括:
第一获取模块400,用于获取待训练的图像处理模型中网络层的连接权重;
确定模块402,用于根据所述连接权重,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重;
第二获取模块404,用于获取样本图像以及所述样本图像对应的标注;
训练模块406,用于根据所述样本图像以及所述样本图像对应的标注,分别调整所述成熟连接权重以及所述非成熟连接权重,得到训练完成的图像处理模型;
剪枝模块408,用于根据得到的训练完成的图像处理模型中的各连接权重,确定所述训练完成的图像处理模型中的非成熟连接权重并剪枝,得到最终的图像处理模型。
可选地,所述确定模块402具体用于,针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;根据确定出的该网络层对应的权重矩阵以及所述待训练的图像处理模型的网络层总数量,确定该网络层对应的权重阈值;根据确定出的所述待训练的图像处理模型中的各网络层对应的权重阈值,确定所述待训练的图像处理模型中的成熟连接权重以及非成熟连接权重。
可选地,所述确定模块402具体用于,针对该网络层中的每个连接权重,若该连接权重大于该网络层对应的权重阈值,则确定该连接权重为成熟连接权重;若该连接权重对应的连接权重不大于该网络层对应的权重阈值,则确定该连接权重为非成熟连接权重。
可选地,所述训练模块406具体用于,将所述样本图像输入所述待训练的图像处理模型,得到所述待训练的图像处理模型输出的第一处理结果;以所述第一处理结果与所述标注之间的差异最小为目标,调整所述待训练的图像处理模型中的所述非成熟连接权重。
可选地,所述训练模块406具体用于,根据所述样本图像以及所述样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练中分别调整所述成熟连接权重以及所述非成熟连接权重;
所述训练模块406还用于,恢复上一轮迭代训练过程中剪枝或者冻结的非成熟连接权重;
所述训练模块406还用于,对本轮迭代训练过程中的所述成熟连接权重进行剪枝或者冻结。
可选地,所述训练模块406还用于,针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;以该网络层对应的权重矩阵与调整后的该网络层中的非成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的非成熟连接权重进行微调。
可选地,所述训练模块406具体用于,将所述样本图像输入所述待训练的图像处理模型,得到所述待训练的图像处理模型输出的第二处理结果;以所述第二处理结果与所述标注之间的差异最小为目标,调整所述待训练的图像处理模型中的所述成熟连接权重。
可选地,所述训练模块406具体用于,根据所述样本图像以及所述样本图像对应的标注,对待训练的图像处理模型进行迭代训练,以在每轮迭代训练中分别调整所述成熟连接权重以及所述非成熟连接权重;
所述训练模块406还用于,恢复上一轮迭代训练过程中剪枝或者冻结的成熟连接权重;
所述训练模块406还用于,对本轮迭代训练过程中的所述非成熟连接权重进行剪枝或者冻结。
可选地,所述训练模块406还用于,针对所述待训练的图像处理模型中的每个网络层,确定该网络层对应的连接权重的权重矩阵;以该网络层对应的权重矩阵与调整后的该网络层中的成熟连接权重对应的权重矩阵之间的差异最小为目标,对该网络层中调整后的成熟连接权重进行微调。
可选地,所述训练模块406还用于,根据调整后的成熟连接权重以及非成熟连接权重,确定调整后的图像处理模型中的成熟连接权重以及非成熟连接权重对应的第一权重矩阵;以及确定所述待训练的图像处理模型中的连接权重对应的第二权重矩阵;以所述第一权重矩阵与所述第二权重矩阵之间的差异最小为目标,对所述调整后的成熟连接权重和非成熟连接权重进行微调。
本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述内容所述的模型的训练方法。
基于上述内容所述的模型的训练方法,本说明书实施例还提出了图5所示的电子设备的示意结构图。如图5,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述内容所述的模型的训练方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
- 一种书法训练方法、装置、电子设备及存储介质
- 一种商品推荐模型训练方法、装置、设备及存储介质
- 工作量评估及模型训练方法、电子设备及存储介质
- 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
- 一种漆面识别方法、装置、存储介质及电子设备
- 模型训练方法、模型训练装置、存储介质和电子设备
- 模型训练方法、模型训练平台、电子设备和存储介质