本申请涉及计算机,尤其涉及一种量化训练方法、装置、设备和计算机可读存储介质。
背景技术:
1、随着越来越多的硬件设备支持低精度的整型计算,模型量化(modelquantization)已成为神经网络轻量化推理加速的主要手段。量化按照是否需要调整参数分为训练后量化(post-training quantization,ptq)和量化感知训练(quantization-aware training,qat)。相比于ptq,qat需要额外的训练资源,通过训练调整模型的权重从而弥补量化精度损失,使模型保持更好的性能。
2、现阶段qat算法在分类、目标检测和语义识别等图像语义理解级别的、且有明确指标的图像处理任务上有较好的效果。
3、然而,在去噪、去模糊及超分辨率等其他像素级的任务上,依然存在明显的缺陷,量化模型与原模型相比,图像的局部区域常有肉眼可区分的明显噪声问题,量化模型的模型性能不高。
技术实现思路
1、本申请实施例提供一种量化训练方法、装置、设备和计算机可读存储介质,提高了量化模型性能。
2、本申请实施例的技术方案是这样实现的:
3、第一方面,本申请实施例提供一种量化训练方法,所述方法包括:基于浮点网络模型中各个子网络的子特征进行通道扩充,确定第一网络模型中各个第一子网络的各个第一子特征;基于所述各个第一子特征和第二网络模型中各个第二子网络的各个初始第二子特征,计算特征相似度,确定蒸馏损失函数;基于所述蒸馏损失函数,对所述第二网络模型的量化感知训练过程进行监督,确定量化参数;所述量化参数用于在使用第二网络模型的过程中,对第二网络模型的网络参数进行量化处理,以确定用于图像处理的量化模型。
4、第二方面,本申请实施例提供一种量化训练装置,所述装置包括:通道扩充模块,用于基于浮点网络模型中各个子网络的子特征进行通道扩充,确定第一网络模型中各个第一子网络的各个第一子特征;损失函数确定模块,用于基于所述各个第一子特征和第二网络模型中各个第二子网络的各个初始第二子特征,计算特征相似度,确定蒸馏损失函数;监督模块,用于基于所述蒸馏损失函数,对所述第二网络模型的量化感知训练过程进行监督,确定量化参数;所述量化参数用于在使用第二网络模型的过程中,对第二网络模型的网络参数进行量化处理,以确定用于图像处理的量化模型。
5、第三方面,本申请实施例提供一种量化训练设备,所述设备包括:存储器,用于存储可执行计算机程序;处理器,用于执行所述存储器中存储的可执行计算机程序时,实现上述第一方面所述的量化训练方法。
6、第四方面,本申请实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时,实现上述第一方面所述的量化训练方法。
7、本申请实施例提供了一种量化训练方法、装置、设备和计算机可读存储介质。根据本申请实施例提供的方案,该方法包括:基于浮点网络模型中各个子网络的子特征进行通道扩充,确定第一网络模型中各个第一子网络的各个第一子特征;通道扩充只是改变了相应卷积层的通道数,并未改变浮点网络的整体模型结构,因此并不影响第一网络模型和第二网络模型之间的相应层(即,各个子网络的各个子特征)的匹配。基于各个第一子特征和第二网络模型中各个第二子网络的各个初始第二子特征,计算特征相似度,确定蒸馏损失函数;子网络的子特征是中间特征,不是网络模型最终的输出特征,通过计算中间特征之间的相似度,确定的蒸馏损失函数,可以用于对学生模型(即第二网络模型)的中间特征进行知识蒸馏,实现中间监督模式。基于蒸馏损失函数,对第二网络模型的量化感知训练过程进行监督,确定量化参数;量化参数用于在使用第二网络模型的过程中,对第二网络模型的网络参数进行量化处理,以确定用于图像处理的量化模型。本方案中量化训练过程中引入了中间监督模式的知识蒸馏,作为训练量化模型的辅助,有利于量化后的模型更加接近于原模型的性能,有效降低量化引起的精度损失。在不改变模型部署的前提下,优化量化训练过程,降低了量化误差引起的模型性能损失,提高了量化模型性能。
1.一种量化训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述各个第一子特征和第二网络模型中各个第二子网络的各个初始第二子特征,计算特征相似度,确定蒸馏损失函数,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述各个第二子特征和所述各个第一子特征之间的相似度进行计算,确定各个子系数,包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于浮点网络模型中各个子网络的子特征进行通道扩充,确定第一网络模型中各个第一子网络的各个第一子特征之前,所述方法还包括:
5.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述蒸馏损失函数,对所述第二网络模型的量化感知训练过程进行监督,确定量化参数,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述蒸馏损失函数和原始损失函数,对所述第二网络模型进行反向传播,确定所述各个第二子网络的目标权重,包括:
7.根据权利要求5所述的方法,其特征在于,所述基于量化参数、所述各个第二子网络的权重,以及所述各个第二子网络的输入特征,对所述各个第二子网络进行量化,确定所述各个第二子网络的量化权重和量化特征,实现前向传递,包括:
8.根据权利要求7所述的方法,其特征在于,所述基于所述量化参数和当前第二子网络的权重进行权重量化,确定所述当前第二子网络的量化权重,包括:
9.根据权利要求7所述的方法,其特征在于,所述基于所述量化参数和所述当前第二子网络的输入特征进行特征量化,确定所述当前第二子网络的量化特征,包括:
10.根据权利要求9所述的方法,其特征在于,所述根据所述量化参数、所述当前第二子网络的输入特征,确定所述当前第二子网络的特征参数,包括:
11.根据权利要求2所述的方法,其特征在于,
12.一种量化训练装置,其特征在于,所述装置包括:
13.一种量化训练设备,其特征在于,所述设备包括:
14.一种计算机可读存储介质,其特征在于,存储有计算机程序,用于被处理器执行时,实现权利要求1-11任一项所述的方法。