CN113610232A - 网络模型量化方法、装置、计算机设备以及存储介质 - Google Patents

网络模型量化方法、装置、计算机设备以及存储介质 Download PDF

Info

Publication number
CN113610232A
CN113610232A CN202111139349.XA CN202111139349A CN113610232A CN 113610232 A CN113610232 A CN 113610232A CN 202111139349 A CN202111139349 A CN 202111139349A CN 113610232 A CN113610232 A CN 113610232A
Authority
CN
China
Prior art keywords
network model
initial
model
quantization
result
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
CN202111139349.XA
Other languages
English (en)
Other versions
CN113610232B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111139349.XA priority Critical patent/CN113610232B/zh
Publication of CN113610232A publication Critical patent/CN113610232A/zh
Application granted granted Critical
Publication of CN113610232B publication Critical patent/CN113610232B/zh
Priority to PCT/CN2022/078256 priority patent/WO2023050707A1/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/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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本发明公开了一种网络模型量化方法、装置、计算机设备以及存储介质,适用于人工智能技术领域,该网络模型量化方法,包括:获取待处理网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,构建初始网络模型;获取第一校准网络模型,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型;获取第二校准网络模型,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。采用该方法可以解决通过量化、裁剪等模型压缩的方式缩小大型深度神经网络模型,深度神经网络模型的精度降低的问题。

Description

网络模型量化方法、装置、计算机设备以及存储介质
技术领域
本发明涉及人工智能领域,具体涉及一种网络模型量化方法、装置、计算机设备以及存储介质。
背景技术
随着人工智能技术的不断发展,人工智能技术的应用日益广泛。在人工智能技术领域,深度学习是较典型的技术之一。深度学习的本质就是人工神经网络,层数多的神经网络被称为深度神经网络。目前虽然深度神经网络模型在图像分类、检测等方面的能力已接近或超越人类,但在实际部署中,仍然存在模型大、计算复杂度高等问题,对硬件成本要求较高。在实际应用中,为了降低硬件成本,通常会将神经网络模型部署于一些终端设备或者边缘设备上,这些设备一般只有较低的计算能力,而且内存和电量消耗也都受限。因此,如何在保证模型精度不变的情况下,将大型的深度神经网络模型变小,并实现深度神经网络模型在终端的真正部署,成为了亟待解决的问题。
现有技术中,通常采用量化、裁剪等模型压缩的方式,降低深度神经网络模型的尺寸,从而实现将大型的深度神经网络模型缩小。
然而,上述现有技术中,在通过量化、裁剪等模型压缩的方式缩小大型深度神经网络模型的过程中,严重降低了深度神经网络模型的精度,使得缩小后的深度神经网络模型精度较低,从而影响了缩小后的深度神经网络模型的应用。
发明内容
有鉴于此,本发明实施例提供了一种网络模型量化方法、装置、计算机设备以及存储介质,以解决通过量化、裁剪等模型压缩的方式缩小大型深度神经网络模型,深度神经网络模型的精度较低的问题。
根据第一方面,本发明实施例提供了一种网络模型量化方法,该方法包括:获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型;获取第一校准网络模型,第一校准网络模型的精度高于初始网络模型的精度,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型;获取第二校准网络模型,第二校准网络模型的精度高于初始网络模型的精度,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。
在本实施例中,首先获取预训练好的全精度网络模型,并将其作为待处理网络模型,然后根据量化需求对待处理网络模型权重和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型。由于对待处理网络模型的权重和激活输出的初始量化参数进行了量化,因此,使得基于初始权重参数和激活输出的初始量化参数构建的初始网络模型的尺寸要远小于待处理网络模型,从而保证初始网络模型可以在一些终端设备和边缘设备上运行。此外,由于经过量化处理后得到的初始网络模型的精度较低,因此,可以基于模型精度高于初始网络模型的第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型,从而可以保证第一预处理模型的权重参数的准确性,进而提高第一预处理模型的精度。此外,还可以基于模型精度高于第一预处理模型的第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。从而使得目标网络模型不仅尺寸较小,而且目标网络模型的权重参数和激活输出范围均较准确,进一步提高了目标网络模型的精度,解决了通过量化、裁剪等模型压缩的方式缩小大型深度神经网络模型,使得缩小后的深度神经网络模型的精度较低的问题。
结合第一方面,在第一方面第一实施方式中,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型,包括:基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。
在本实施例中,由于第一校准网络模型的精度高于初始网路模型,因此,基于知识蒸馏的学习方法,采用第一校准网络模型作为大的教师网络模型对小的量化后的初始网络模型进行指导学习获得更优的模型参数,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。从而可以保证得到的第一预处理模型的权重参数的准确性,提高第一预处理模型的精度。
结合第一方面第一实施方式,在第一方面第二实施方式中,基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型,包括:获取第一训练图像集,第一训练图像集带有硬标签;将第一训练图像集输入至初始网络模型,输出第一结果;将第一训练图像集输入至第一校准网络模型,输出第二结果;基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
在本实施例中,利用分别将带有硬标签的第一训练图像集输入至初始网络模型和第一校准网络模型,分别输出第一结果和第二结果,利用第一结果和第二结果以及第一结果和硬标签之间的关系,调整初始网络模型的初始权重参数,从而可以使得初始网络模型输出的第一结果更加接近第二结果以及硬标签,从而保证权重参数调整后得到的第一预处理模型的精度提高了。
结合第一方面第二实施方式,在第一方面第三实施方式中,基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型,包括:基于第一结果和硬标签生成第一损失函数;基于第一结果和第二结果生成第二损失函数;利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
在本实施例中,基于初始网络模型输出的第一结果和第一训练图像集的硬标签生成第一损失函数,基于初始网络模型输出的第一结果和第一校准网络模型输出的第二结果生成第二损失函数。其中,第一损失函数可以用来表征第一结果和硬标签之间的差距,第二损失函数可以用来表征第一结果和第二结果之间的差距。因此,利用第一损失函数和第二损失函数,生成的第一目标损失函数可以表征第一结果和硬标签以及第一结果和第二结果之间的差距。基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。从而提高了第一预处理模型的精度。
结合第一方面,在第一方面第四实施方式中,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型,包括:基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值;根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
在本实施中,由于第二校准网络模型的精度高于第一预处理模型,因此,基于知识蒸馏的学习方法,采用第二校准网络模型作为大的教师网络模型对小的量化后的第一预处理模型进行指导学习获得更优的模型参数。根据第二校准网络模型调整第一预处理模型的激活量化阈值,可以保证调整后的激活量化阈值的准确性。进一步地,根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型,可以进一步保证调整后的第一预处理模型的激活输出的初始量化参数的准确性,从而提高得到的目标网络模型的精度。
结合第一方面第四实施例,在第一方面第五实施方式中,基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值,包括:获取第二训练图像集;将第二训练图像集输入至第一预处理模型,输出第三结果;将第二训练图像集输入至第二校准网络模型,输出第四结果;基于第三结果和第四结果,调整第一预处理模型的激活量化阈值。
在本实施例中,将第二训练图像集分别输入至第一预处理模型和第二校准网络模型,输出第三结果和第四结果,并基于第三结果和第四结果,对第一预处理模型的激活量化阈值进行调整,从而可以保证的调整后的激活量化阈值的准确性,进一步保证第一预处理模型的精度。
结合第一方面第五实施例,在第一方面第六实施方式中,基于第三结果和第四结果,调整第一预处理模型的激活量化阈值,包括:基于第三结果和第四结果,生成第二目标损失函数;基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
在本实施例中,基于第三结果和第四结果,生成第二目标损失函数,第二目标损失函数的值越小证明第三结果和第四结果之间的差距越小。因此,基于第二目标损失函数,调整第一预处理模型的激活量化阈值,可以保证调节后的激活量化阈值的准确性,进一步保证基于调节后的激活量化阈值计算得到的激活输出的量化参数的准确性,从而提高了目标网络模型的精度。
根据第二方面,本发明实施例提供了一种网络模型量化装置,装置包括:
量化处理模块,用于获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型;
第一调整模块,用于获取第一校准网络模型,第一校准网络模型的精度高于初始网络模型的精度,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型;
第二调整模块,用于获取第二校准网络模型,第二校准网络模型的精度高于初始网络模型的精度,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。
结合第二方面,在第二方面第一实施方式中,上述第一调整模块,具体用于基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。
结合第二方面第一实施方式,在第二方面第二实施方式中,上述第一调整模块,具体用于获取第一训练图像集,第一训练图像集带有硬标签;将第一训练图像集输入至初始网络模型,输出第一结果;将第一训练图像集输入至第一校准网络模型,输出第二结果;基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
结合第二方面第二实施方式,在第一方面第三实施方式中,上述第一调整模块,具体用于基于第一结果和硬标签生成第一损失函数;基于第一结果和第二结果生成第二损失函数;利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
结合第二方面,在第二方面第四实施方式中,上述第二调整模块,包括:
第一调整单元,用于基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值;
第二调整单元,用于根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
结合第二方面第四实施例,在第二方面第五实施方式中,上述第一调整单元,具体用于:获取第二训练图像集;将第二训练图像集输入至第一预处理模型,输出第三结果;将第二训练图像集输入至第二校准网络模型,输出第四结果;基于第三结果和第四结果,调整第一预处理模型的激活量化阈值。
结合第二方面第五实施例,在第二方面第六实施方式中,上述第一调整单元,具体用于:用于基于第三结果和第四结果,生成第二目标损失函数;基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
根据第三方面,本发明实施例提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中的网络模型量化方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行第一方面或者第一方面的任意一种实施方式中的网络模型量化方法。
根据第五方面,本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行第一方面或者第一方面的任意一种实施方式中的网络模型量化方法。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了一个实施例中网络模型量化方法的步骤流程图;
图2a示出了一个实施例中网络模型量化方法中PTQ模型量化中的不饱和映射示意图;
图2b示出了一个实施例中网络模型量化方法中PTQ模型量化中的饱和映射示意图;
图3示出了另一个实施例中网络模型量化方法的步骤流程图;
图4示出了一个实施例中网络模型量化方法中调节初始网络模型权重参数过程的示意图;
图5示出了另一个实施例中网络模型量化方法的步骤流程图;
图6示出了另一个实施例中网络模型量化方法的步骤流程图;
图7示出了另一个实施例中网络模型量化方法的步骤流程图;
图8示出了另一个实施例中网络模型量化方法中调节第一预处理模型激活输出阈值过程的示意图;
图9示出了另一个实施例中网络模型量化方法的步骤流程图;
图10示出了另一个实施例中网络模型量化方法的步骤流程图;
图11示出了另一个实施例中网络模型量化方法的流程示意图;
图12示出了一个实施例中网络模型量化装置的结构框图;
图13示出了一个实施例中网络模型量化装置的结构框图;
图14示出了一个实施例计算机设备为服务器时的内部结构图;
图15示出了一个实施例计算机设备为终端时的内部结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例提供的网络模型量化的方法,其执行主体可以是网络模型量化的装置,该网络模型量化的装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是服务器或者终端,其中,本申请实施例中的服务器可以为一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
在本申请一个实施例中,如图1所示,提供了一种网络模型量化方法,以该方法应用于计算机设备为例进行说明,包括以下步骤:
步骤101,获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型。
具体地,计算机设备可以利用第一目标图像训练集对神经网络模型进行训练,训练得到的待处理网络模型。其中,待处理网络模型为预训练好的全精度网络模型。待处理网络模型可以用来进行图像识别、图像检测以及图像分类等任务处理。本申请实施例对待处理网络模型的应用场景不做具体限定。
可选的,计算机设备还可以接收其他设备发送的待处理网络模型或者接收用户输入的待处理网络模型,本申请实施例对计算机设备获取待处理网络模型的方式不做具体限定。
在本申请实施例中,计算机设备根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型。其中,量化需求可以是用户基于计算机设备的输入组件输入至计算机设备的。量化需求可以根据实际情况进行改变。其中,量化需求可以表征权重参数和激活输出的位宽要求。示例性的,量化需求可以是将待处理网络模型的尺寸缩小4倍,将待处理网络模型的权重参数和激活输出由float32转int8。本申请实施例对量化需求不做具体限定。其中,初始网络模型的精度远小于待处理网络模型,初始网络模型的尺寸也远小于待处理网络模型的尺寸。
在本申请实施例中,计算机设备可以利用训练后量化方法(Post-TrainingQuantization,PTQ)或者训练感知量化方法(Training-Aware Quantization,TAQ)对待处理网络模型的权重参数和激活输出分别进行量化处理。本申请实施例对待处理网络模型的权重参数和激活输出分别进行量化处理的方法不做具体限定。
为了更好地理解本申请实施例的网络模型量化方法,下面以利用PTQ方法对待处理网络模型的权重参数和激活输出分别进行量化处理进行举例讲解。
采用PTQ量化方法的中心思想就是计算量化阈值T,根据量化阈值T确定待处理网络模型的权重与初始网络模型权重之间的映射关系以及待处理网络模型的激活输出与初始网络模型激活输出之间的映射关系。
以将待处理网络模型的权重和激活输出由float32转int8为例,其中,待处理网络模型的权重参数与初始网络模型权重参数之间的映射关系以及待处理网络模型的激活输出与初始网络模型的激活输出之间的映射关系中包括饱和映射和不饱和映射两种,一般进行权重的量化时,采用如图2a所示的不饱和映射,这时量化阈值T就等于最大值。对激活输出进行量化时,一般采用饱和映射,如图2b所示。而饱和映射时的量化阈值T可以采用相对熵散度或者均方差方法查找。查找量化阈值T的标准是,找到这样一个阈值,基于这个阈值对原有值进行了裁剪操作,仍然能与原始值差异最小。
在饱和量化过程中,超过阈值T的部分,需要进行裁剪如公式(1)的第二项所示,所谓裁剪就是比如T=5,如果原始值中有6,那么它大于5,此时6也会强制转换为5。
Figure 176312DEST_PATH_IMAGE001
(1)
其中,s为量化映射尺度因子,x为原始值,q(x,T)表示x经量化-反量化后的数值,n为需要量化的位宽数,T为量化阈值,
例如,x为原始float32数,转换后int8的数为q_x;q_x = x/s ,n为需要量化的位 宽数,如8-bit,4-bit,2-bit,1-bit等 ,当n=8-bit时,其中s = T/127 即公式1中的第一项 所示。
Figure 562294DEST_PATH_IMAGE002
表示取整,可以是四舍五入,也可以是向上或向下取整。
步骤102,获取第一校准网络模型,第一校准网络模型的精度高于初始网络模型的精度,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型。
其中,第一校准网络模型的精度高于初始网络模型的精度可以表征第一校准网络模型的性能精度高于初始网络模型的性能精度以及第一校准网络模型的参数的带宽精度高于初始网络模型的参数的带宽精度中的至少一项。
具体地,计算机设备可以利用第二目标图像训练集对神经网络模型进行训练,训练得到的第一校准网络模型。其中,第一校准网络模型的精度高于初始网络模型的精度。第一校准网络模型可以用来进行图像识别、图像检测以及图像分类任务处理。本申请实施例对第一校准网络模型的应用场景不做具体限定。
作为可选的实施方式,计算机设备还可以接收其他设备发送的第一校准网络模型或者接收用户输入的第一校准网络模型,本申请实施例对计算机设备获取第一校准网络模型的方式不做具体限定。
进一步,计算机设备可以根据第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型。
作为可选的实施方式,计算机设备还可以将第一校准网络模型的输出结果与初始网络模型的输出结果进行对比,根据对比结果调整初始网络模型的初始权重参数,得到第一预处理模型。在步骤101中,将全精度网络转换为低精度的初始网络模型后,模型性能精度降低的主要原因一般来自于两部分:权重参数的改变和激活阈值的选取。在训练后量化过程中,所有的权重参数通常采用同一种近似方法进行截取,但同一种近似方法可能并不适应于所有的权重参数,因此这将无形中引入噪声而影响网络模型的特征提取能力。在本步骤中,通过将第一校准网络模型的输出结果与初始网络模型的输出结果进行对比,利用第一校准网络模型对初始网络模型的初始权重参数进行校正,降低上述过程中产生的误差。
步骤103,获取第二校准网络模型,第二校准网络模型的精度高于第一预处理模型的精度,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。
其中,第二校准网络模型的精度高于第一预处理模型的精度可以表征第二校准网络模型的性能精度高于第一预处理模型的性能精度以及第二校准网络模型的参数的带宽精度高于第一预处理模型的参数的带宽精度中的至少一项。
具体地,计算机设备可以利用第三目标图像训练集对神经网络模型进行训练,训练得到的第二校准网络模型。其中,第二校准网络模型的精度高于第一预处理模型的精度。第二校准网络模型可以用来进行图像识别、图像检测以及图像分类任务处理。本申请实施例对第二校准网络模型的应用场景不做具体限定。
作为可选的实施方式,计算机设备还可以接收其他设备发送的第二校准网络模型或者接收用户输入的第二校准网络模型,本申请实施例对计算机设备获取第二校准网络模型的方式不做具体限定。第二校准网络模型可以和待处理网络模型为同一预训练好的全精度网络模型,也可以为不同的预训练好的全精度网络模型。
作为一种实施方式,计算机设备可以根据第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。为提高低精度的初始网络模型的精度,除采用步骤102对初始权重参数进行调整外,在本步骤103中,进一步对初始的激活阈值进行调整, 计算机设备还可以将第二校准网络模型的输出结果与第一预处理模型的输出结果进行对比,根据对比结果对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型,从而进一步降低全精度模型转化为低精度模型后的损失,提高了模型的精度。
在本实施例中,首先获取预训练好的全精度网络模型,并将其作为待处理网络模型,然后根据量化需求对待处理网络模型权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型。由于对待处理网络模型的权重参数和激活输出的初始量化参数进行了量化,因此,使得基于初始权重参数和激活输出的初始量化参数构建的初始网络模型的尺寸要远小于待处理网络模型,从而保证初始网络模型可以在一些终端设备和边缘设备上运行。此外,由于经过量化处理后得到的初始网络模型的精度较低,因此,可以基于精度高于初始网络模型的第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型,从而可以保证第一预处理模型的权重参数的准确性,从而提高第一预处理模型的精度。此外,还可以基于精度高于第一预处理模型的第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。从而使得目标网络模型不仅尺寸较小,而且目标网络模型的权重参数和激活输出均较准确,进一步提高了目标网络模型的精度,解决了通过量化、裁剪等模型压缩的方式缩小大型深度神经网络模型,严重降低了深度神经网络模型的精度的问题。
在本申请一个可选的实施例中,上述步骤102中的“基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型”,可以包括以下内容:
基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。
其中,知识蒸馏指的是模型压缩的思想,通过一步一步地使用一个较大的已经训练好的网络去教导一个较小的网络确切地去做什么。然后,通过尝试复制大网络在每一层的输出(不仅仅是最终的损失),小网络被训练以学习大网络的准确行为。
具体地,计算机设备可以利用知识蒸馏的学习方法,将第一校准网络模型中每层网络输出的特征向量与初始网络模型中每层网络输出的特征向量进行对比,然后根据对比结果,以及第一校准网络模型中每层网络对应的权重参数,对初始网络模型中的初始权重参数进行调整。
与图1所示的实施例相比,在本实施例中,由于第一校准网络模型的精度高于初始网路模型,因此,基于知识蒸馏的学习方法,采用第一校准网络模型作为大的教师网络模型对小的量化后的初始网络模型进行指导学习获得更优的权重参数,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。从而可以保证得到的第一预处理模型的权重参数的准确性,提高第一预处理模型的精度。
在本申请一个可选的实施例中,如图3所示,上述“基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型”,可以包括以下步骤:
步骤301,获取第一训练图像集。
其中,第一训练图像集带有硬标签。硬标签是第一训练图像集中各图像对应的标签。示例性的,假设初始网络模型以及第一校准网络模型的作用均为从第一训练图像集中的各图像中识别出目标物体,那么该硬标签就可以表示对第一训练图像集中各图像中的目标物体进行了标注。
具体地,计算机设备可以接收其他设备发送的第一训练图像集,与可以接收用户输入的第一训练图像集。其中,第一训练图像集带有的硬标签可以是人为标注的,还可以是计算机设备基于神经网络模型进行标注的。本申请实施例对第一训练图像集的硬标签的标注方式不做具体限定。其中,第一训练图像集中包括多张第一训练图像。
步骤302,将第一训练图像集输入至初始网络模型,输出第一结果。
具体地,计算机设备将第一训练图像集输入至初始网络模型中,初始网络模型对第一训练图像集进行特征提取,基于提取后的特征输出第一结果。
步骤303,将第一训练图像集输入至第一校准网络模型,输出第二结果。
具体地,计算机设备将第一训练图像集输入至第一校准网络模型中,第一校准网络模型对第一训练图像集进行特征提取,基于提取后的特征输出第二结果。
步骤304,基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
具体地,计算机设备将初始网络模型输出的第一结果和第一训练图像集带有的硬标签进行对比,并将初始网络模型输出的第一结果和第一校准网络模型输出的第二结果进行对比。计算机设备根据对比结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
示例性地,如图4所示。其中,图像X可以为第一训练图像集中的图像,教师网络为第一校准网络模型,W_T为教师网络的权重参数。学生网络为初始网络模型,W_S为学生网络的初始权重参数。将图像X输入至教师网络,教师网络输出第二结果,即P_T。将图像X输入至学生网络,学生网络输出第一结果,即P_S。计算机设备基于P_T、P_S以及标签Y,调整初始网络模型的初始权重参数,得到第一预处理模型。
与上述实施例相比,在本实施例中,利用分别将带有硬标签的第一训练图像集输入至初始网络模型和第一校准网络模型,分别输出第一结果和第二结果,利用第一结果和第二结果以及第一结果和硬标签之间的关系,调整初始网络模型的初始权重参数,从而可以使得初始网络模型输出的第一结果更加接近第二结果以及硬标签,从而保证权重参数调整后得到的第一预处理模型的精度提高了。
在本申请一个可选的实施例中,如图5所示,上述步骤304中的“基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型”可以包括以下步骤:
步骤501,基于第一结果和硬标签生成第一损失函数。
具体地,计算机设备基于初始网络模型输出的第一结果和第一训练图像集对应的 硬标签生成第一损失函数。其中,第一损失函数表示初始网络模型在训练过程中的损失函 数。可选的,第一损失函数可以用
Figure 810872DEST_PATH_IMAGE003
来表示,其中,Y表示第一训练图像集对应 的硬标签,P_S表示初始网络模型输出的第一结果。
步骤502,基于第一结果和第二结果生成第二损失函数。
具体地,计算机设备基于初始网络模型输出的第一结果和第一校准网络模型输出 的第二结果,生成第二损失函数。其中,第二损失函数表示初始网络模型作为学生网络在模 仿第一校准网络模型过程中的损失函数。可选的,第二损失函数可以用
Figure 658612DEST_PATH_IMAGE004
来表示,其中,P_T表示第一校准网络模型输出的第二结果,P_S表示 初始网络模型输出的第一结果。
步骤503,利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
可选的,计算机设备可以将第一损失函数和第二损失函数进行相加,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
示例性的,第一目标损失函数可以为
Figure 941825DEST_PATH_IMAGE005
;其中,P_T表示第一校准网络模型 输出的第二结果,P_S表示初始网络模型输出的第一结果,Y表示第一训练图像集对应的硬 标签,W_S为初始网络模型的初始权重参数,X可以为第一训练图像集中的图像。
可选的,计算机设备还可以将第一损失函数乘以第一权重参数,将第二损失函数乘以第二权重参数,并将乘以相应权重后的第一损失函数和第二损失函数进行相加,得到第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
示例性的,第一目标损失函数可以为
Figure 967550DEST_PATH_IMAGE006
,其中,P_T表示第一校准网 络模型输出的第二结果,P_S表示初始网络模型输出的第一结果,Y表示第一训练图像集对 应的硬标签,W_S为初始网络模型的初始权重参数,X可以为第一训练图像集中的图像;α为 第一权重参数,β为第二权重参数。计算机设备可以通过调整α和β的值,调整各损失函数在 训练过程中的占比。本申请实施例对α和β的值不做具体限定。
如图3的实施例相比,在本实施例中,基于初始网络模型输出的第一结果和第一训练图像集的硬标签生成第一损失函数,基于初始网络模型输出的第一结果和第一校准网络模型输出的第二结果生成第二损失函数。其中,第一损失函数可以用来表征第一结果和硬标签之间的差距,第二损失函数可以用来表征第一结果和第二结果之间的差距。因此,利用第一损失函数和第二损失函数,生成的第一目标损失函数可以表征第一结果和硬标签以及第一结果和第二结果之间的差距。基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。从而提高了第一预处理模型的精度。
在本申请一个可选的实施例中,如图6所示,上述步骤103中的“基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型”,可以包括以下步骤:
步骤601,基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值。
其中,知识蒸馏指的是模型压缩的思想,通过一步一步地使用一个较大的已经训练好的网络去教导一个较小的网络确切地去做什么。然后,通过尝试复制大网络在每一层的输出(不仅仅是最终的损失),小网络被训练以学习大网络的准确行为。
具体地,计算机设备可以利用知识蒸馏的学习方法,将第二校准网络模型中每层网络输出的特征向量与第一预处理模型中每层网络输出的特征向量进行对比,然后根据对比结果,以及第一校准网络模型中每层网络对应的激活量化阈值,对第一预处理模型中的激活量化阈值进行调整。
步骤602,根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
具体地,计算机设备在对激活量化阈值进行调整完毕之后,计算机设备可以根据调整后的激活量化阈值与激活输出的初始量化参数之间的对应的关系,调整第一预处理模型的激活输出的初始量化参数,根据调整后的激活输出的量化参数,得到目标网络模型。
在本实施中,由于第二校准网络模型的精度高于第一预处理模型,因此,基于知识蒸馏的学习方法,采用第二校准网络模型作为大的教师网络模型对小的量化后的第一预处理模型进行指导学习获得更优的模型参数。根据第二校准网络模型调整第一预处理模型的激活量化阈值,可以保证调整后的激活量化阈值的准确性。进一步地,根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型,可以进一步保证调整后的第一预处理模型的激活输出的初始量化参数的准确性,从而提高得到的目标网络模型的精度。
在本申请一个可选的实施例中,如图7所示,上述步骤601中的“基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值”,可以包括以下步骤:
步骤701,获取第二训练图像集。
具体地,计算机设备可以接收其他设备发送的第二训练图像集,与可以接收用户输入的第二训练图像集。其中,第二训练图像集可以是无标签图像,也可以是带有标签的图像,本申请实施对第二训练图像集不做具体限定。此外,第二训练图像集可以与第一训练图像集相同,也可以与第一训练图像集不同。其中,第二训练图像集可以包括多张第二训练图像。
步骤702,将第二训练图像集输入至第一预处理模型,输出第三结果。
具体地,计算机设备将第二训练图像集输入至第一预处理模型中,第一预处理模型对第二训练图像集进行特征提取,基于提取后的特征输出第三结果。
步骤703,将第二训练图像集输入至第二校准网络模型,输出第四结果。
具体地,计算机设备将第二训练图像集输入至第二校准网络模型中,第二校准网络模型对第二训练图像集进行特征提取,基于提取后的特征输出第四结果。
步骤704,基于第三结果和第四结果,调整第一预处理模型的激活量化阈值。
具体地,计算机设备将第一预处理模型输出的第三结果和第二校准网络模型输出的第四结果进行对比。计算机设备根据对比结果,调整第一预处理模型的激活量化阈值。
示例性的,如图8所示,其中,图像X可以为第二训练图像集中的图像,全精教师网络为第二校准网络模型,低精学生网络为第一预处理模型。计算机设备将图像X输入至全精教师网络,全精教师网络输出第四结果,即图8中的P_T。计算机设备将图像X输入至低精学生网络,低精学生网络输出第三结果,即图8中的P_S。计算机设备基于P_T、P_S,调整第一预处理模型的激活量化阈值。
在本实施例中,将第二训练图像集分别输入至第一预处理模型和第二校准网络模型,输出第三结果和第四结果,并基于第三结果和第四结果,对第一预处理模型的激活量化阈值进行调整,从而可以保证的调整后的激活量化阈值的准确性,进一步保证第一预处理模型的精度。
在本申请一个可选的实施例中,如图9所示,上述步骤704中的“基于第三结果和第四结果,调整第一预处理模型的激活量化阈值”,可以包括如下步骤:
步骤901,基于第三结果和第四结果,生成第二目标损失函数。
具体地,计算机设备基于第一预处理模型输出的第三结果和第二校准网络模型输出的第四结果,生成第二目标损失函数。其中,第二目标损失函数可以表示在相同网络结构下,第一预处理模型采用阈值T量化后,仍然用于同第二校准网络模型相近的预测能力。
示例性的,第二损失函数可以为
Figure 188578DEST_PATH_IMAGE007
,其中,P_T表 示第二校准网络模型输出的第四结果,P_S第一预处理模型输出的第三结果,T表示第一预 处理模型的激活量化阈值,X表示第二训练图像集中的图像。
步骤902,基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
具体地,计算机设备基于第二目标损失函数计算得到的函数值,调整第一预处理模型的激活量化阈值,
其中,在本申请实施例中采用对称的均匀量化模型。
在本实施例中,基于第三结果和第四结果,生成第二目标损失函数,第二目标损失函数的值越小证明第三结果和第四结果之间的差距越小。因此,基于第二目标损失函数,调整第一预处理模型的激活量化阈值,可以保证调节后的激活量化阈值的准确性,进一步保证基于调节后的激活量化阈值计算得到的激活输出的量化参数的准确性,从而提高了目标网络模型的精度。
基于上述实施例的内容,在本申请一个可选的实施例中,计算机设备还可以将初始网络模型和第一预处理网络模型可以是同一个模型,在本申请实施例中统称为初始网络模型。初始网络模型的训练过程可以包括以下内容:
计算机设备首先根据第一目标损失函数调整初始网络模型的初始权重参数,然后基于调整后的初始权重参数,并根据第二目标损失函数调整初始网络模型的激活量化阈值,经过一次调整后初始网络模型的权重参数和激活量化阈值均不理想, 计算机设备继续第一目标损失函数调整初始网络模型的初始权重参数,然后基于调整后的初始权重参数,并根据第二目标损失函数调整初始网络模型的激活量化阈值。计算机设备如此循环调整初始网络模型的初始权重参数和激活量化阈值,经过多次迭代训练之后,最终完成对初始网络模型的训练,生成目标网络模型。从而保证了目标网络模型的精度。
为了更好地说明本申请实施例提供地网络模型量化方法,本申请实施例提供了一种网络模型量化方法的整体流程,如图10所示,该方法包括:
步骤1001,获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型。
步骤1002,获取第一训练图像集。
步骤1003,将第一训练图像集输入至初始网络模型,输出第一结果。
步骤1004,获取第一校准网络模型,将第一训练图像集输入至第一校准网络模型,输出第二结果。
步骤1005,基于第一结果和硬标签生成第一损失函数。
步骤1006,基于第一结果和第二结果生成第二损失函数。
步骤1007,利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
步骤1008,获取第二训练图像集。
步骤1009,将第二训练图像集输入至第一预处理模型,输出第三结果。
步骤1010,获取第二校准网络模型,将第二训练图像集输入至第二校准网络模型,输出第四结果。
步骤1011,基于第三结果和第四结果,生成第二目标损失函数。
步骤1012,基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
步骤1013,根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
在本申请一个可选的实施例中,上述网络模型量化方法,可以如图11所示,包括以下步骤:
(1)低精度网络的参数初始化:基于预训练好的全精度学生网络,采用训练后的量化方法(PTQ)对学生网络进行低精度初始化,初步确定需要量化的学生网络的低精度权重值和激活量化范围值。
(2)在全精度教师网络1的指导下,对学生网络的低精度权重参数进行学习调整。
(3)在全精度教师网络2的指导下,固定学生网络的低精度权重参数,对学生网络的激活量化阈值进行学习调整。
(4)网络结构部署。基于量化得到的网络模型参数,将该模型结构部署于实际的硬件平台上,进行相应的任务处理,如图像分类/检测/识别任务,或自然语言处理任务。
应该理解的是,虽然图1、图3、图5-7、以及图9-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图3、图5-7、以及图9-10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
相应地,请参考图12,本发明实施例提供一种网络模型量化装置1200,网络模型量化装置1200,包括:量化处理模块1210、第一调整模块1220以及第二调整模块1230,其中:
量化处理模块1210,用于获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型。
第一调整模块1220,用于获取第一校准网络模型,第一校准网络模型的精度高于初始网络模型的精度,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型。
第二调整模块1230,用于获取第二校准网络模型,第二校准网络模型的精度高于初始网络模型的精度,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。
在本申请一个实施例中,上述第一调整模块1220,具体用于基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,上述第一调整模块1220,具体用于获取第一训练图像集,第一训练图像集带有硬标签;将第一训练图像集输入至初始网络模型,输出第一结果;将第一训练图像集输入至第一校准网络模型,输出第二结果;基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,上述第一调整模块1220,具体用于基于第一结果和硬标签生成第一损失函数;基于第一结果和第二结果生成第二损失函数;利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
相应地,请参考图13,在本申请一个实施例中,上述第二调整模块1230,包括:第一调整单元1231以及第二调整单元1232,其中:
第一调整单元1231,用于基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值;
第二调整单元1232,用于根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
在本申请一个实施例中,上述第一调整单元1231,具体用于:获取第二训练图像集;将第二训练图像集输入至第一预处理模型,输出第三结果;将第二训练图像集输入至第二校准网络模型,输出第四结果;基于第三结果和第四结果,调整第一预处理模型的激活量化阈值。
在本申请一个实施例中,上述第一调整单元1231,具体用于:用于基于第三结果和第四结果,生成第二目标损失函数;基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
关于网络模型量化装置的具体限定以及有益效果可以参见上文中对于网络模型量化方法的限定,在此不再赘述。上述网络模型量化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网络模型量化方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络模型量化数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络模型量化方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型;获取第一校准网络模型,第一校准网络模型的精度高于初始网络模型的精度,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型; 获取第二校准网络模型,第二校准网络模型的精度高于第一预处理模型的精度,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。
在本申请一个实施例中,处理器执行计算机程序时还实现以下步骤:基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第一训练图像集,第一训练图像集带有硬标签;将第一训练图像集输入至初始网络模型,输出第一结果;将第一训练图像集输入至第一校准网络模型,输出第二结果;基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,处理器执行计算机程序时还实现以下步骤:基于第一结果和硬标签生成第一损失函数;基于第一结果和第二结果生成第二损失函数;利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,处理器执行计算机程序时还实现以下步骤:基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值;根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
在本申请一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二训练图像集;将第二训练图像集输入至第一预处理模型,输出第三结果;将第二训练图像集输入至第二校准网络模型,输出第四结果;基于第三结果和第四结果,调整第一预处理模型的激活量化阈值。
在本申请一个实施例中,处理器执行计算机程序时还实现以下步骤:基于第三结果和第四结果,生成第二目标损失函数;基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
在本申请一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待处理网络模型,待处理网络模型为预训练好的全精度网络模型,根据量化需求对待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于初始权重参数以及激活输出的初始量化参数,构建初始网络模型;获取第一校准网络模型,第一校准网络模型的精度高于初始网络模型的精度,基于第一校准网络模型对初始网络模型的初始权重参数进行调整,得到第一预处理模型; 获取第二校准网络模型,第二校准网络模型的精度高于第一预处理模型的精度,基于第二校准网络模型对第一预处理模型的激活输出的初始量化参数进行调整,得到目标网络模型。
在本申请一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于知识蒸馏的学习方法,根据第一校准网络模型调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第一训练图像集,第一训练图像集带有硬标签;将第一训练图像集输入至初始网络模型,输出第一结果;将第一训练图像集输入至第一校准网络模型,输出第二结果;基于硬标签、第一结果和第二结果,调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于第一结果和硬标签生成第一损失函数;基于第一结果和第二结果生成第二损失函数;利用第一损失函数和第二损失函数,生成第一目标损失函数,并基于第一目标损失函数调整初始网络模型的初始权重参数,得到第一预处理模型。
在本申请一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于知识蒸馏的学习方法,根据第二校准网络模型调整第一预处理模型的激活量化阈值;根据调整后的激活量化阈值,调整第一预处理模型的激活输出的初始量化参数,得到目标网络模型。
在本申请一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第二训练图像集;将第二训练图像集输入至第一预处理模型,输出第三结果;将第二训练图像集输入至第二校准网络模型,输出第四结果;基于第三结果和第四结果,调整第一预处理模型的激活量化阈值。
在本申请一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于第三结果和第四结果,生成第二目标损失函数;基于第二目标损失函数,调整第一预处理模型的激活量化阈值。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种网络模型量化方法,其特征在于,所述方法包括:
获取待处理网络模型,所述待处理网络模型为预训练好的全精度网络模型,根据量化需求对所述待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于所述初始权重参数以及所述激活输出的初始量化参数,构建初始网络模型;
获取第一校准网络模型,所述第一校准网络模型的精度高于所述初始网络模型的精度,基于所述第一校准网络模型对所述初始网络模型的所述初始权重参数进行调整,得到第一预处理模型;
获取第二校准网络模型,所述第二校准网络模型的精度高于所述第一预处理模型的精度,基于所述第二校准网络模型对所述第一预处理模型的所述激活输出的初始量化参数进行调整,得到目标网络模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一校准网络模型对所述初始网络模型的所述初始权重参数进行调整,得到第一预处理模型,包括:
基于知识蒸馏的学习方法,根据所述第一校准网络模型调整所述初始网络模型的所述初始权重参数,得到所述第一预处理模型。
3.根据权利要求2所述的方法,其特征在于,所述基于知识蒸馏的学习方法,根据所述第一校准网络模型调整所述初始网络模型的所述初始权重参数,得到所述第一预处理模型,包括:
获取第一训练图像集,所述第一训练图像集带有硬标签;
将所述第一训练图像集输入至所述初始网络模型,输出第一结果;
将所述第一训练图像集输入至所述第一校准网络模型,输出第二结果;
基于所述硬标签、所述第一结果和所述第二结果,调整所述初始网络模型的所述初始权重参数,得到所述第一预处理模型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述硬标签、所述第一结果和所述第二结果,调整所述初始网络模型的所述初始权重参数,得到所述第一预处理模型,包括:
基于所述第一结果和所述硬标签生成第一损失函数;
基于所述第一结果和所述第二结果生成第二损失函数;
利用所述第一损失函数和所述第二损失函数,生成第一目标损失函数,并基于所述第一目标损失函数调整所述初始网络模型的所述初始权重参数,得到所述第一预处理模型。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第二校准网络模型对所述第一预处理模型的所述激活输出的初始量化参数进行调整,得到目标网络模型,包括:
基于知识蒸馏的学习方法,根据所述第二校准网络模型调整所述第一预处理模型的激活量化阈值;
根据调整后的所述激活量化阈值,调整所述第一预处理模型的所述激活输出的初始量化参数,得到所述目标网络。
6.根据权利要求5所述的方法,其特征在于,所述基于知识蒸馏的学习方法,根据所述第二校准网络模型调整所述第一预处理模型的激活量化阈值,包括:
获取第二训练图像集;
将所述第二训练图像集输入至所述第一预处理模型,输出第三结果;
将所述第二训练图像集输入至所述第二校准网络模型,输出第四结果;
基于所述第三结果和所述第四结果,调整所述第一预处理模型的所述激活量化阈值。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第三结果和所述第四结果,调整所述第一预处理模型的所述激活量化阈值,包括:
基于所述第三结果和所述第四结果,生成第二目标损失函数;
基于所述第二目标损失函数,调整所述第一预处理模型的所述激活量化阈值。
8.一种网络模型量化装置,其特征在于,所述装置包括:
量化处理模块,用于获取待处理网络模型,所述待处理网络模型为预训练好的全精度网络模型,根据量化需求对所述待处理网络模型的权重参数和激活输出分别进行量化处理,得到初始权重参数和激活输出的初始量化参数,基于所述初始权重参数以及所述激活输出的初始量化参数,构建初始网络模型;
第一调整模块,用于获取第一校准网络模型,所述第一校准网络模型的精度高于所述初始网络模型的精度,基于所述第一校准网络模型对所述初始网络模型的所述初始权重参数进行调整,得到第一预处理模型;
第二调整模块,用于获取第二校准网络模型,所述第二校准网络模型的精度高于所述初始网络模型的精度,基于所述第二校准网络模型对所述第一预处理模型的所述激活输出的初始量化参数进行调整,得到目标网络模型。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的网络模型量化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的网络模型量化方法。
CN202111139349.XA 2021-09-28 2021-09-28 网络模型量化方法、装置、计算机设备以及存储介质 Active CN113610232B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111139349.XA CN113610232B (zh) 2021-09-28 2021-09-28 网络模型量化方法、装置、计算机设备以及存储介质
PCT/CN2022/078256 WO2023050707A1 (zh) 2021-09-28 2022-02-28 网络模型量化方法、装置、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111139349.XA CN113610232B (zh) 2021-09-28 2021-09-28 网络模型量化方法、装置、计算机设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113610232A true CN113610232A (zh) 2021-11-05
CN113610232B CN113610232B (zh) 2022-02-22

Family

ID=78343259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111139349.XA Active CN113610232B (zh) 2021-09-28 2021-09-28 网络模型量化方法、装置、计算机设备以及存储介质

Country Status (2)

Country Link
CN (1) CN113610232B (zh)
WO (1) WO2023050707A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115570228A (zh) * 2022-11-22 2023-01-06 苏芯物联技术(南京)有限公司 一种焊接管道供气智能反馈控制方法与系统
WO2023050707A1 (zh) * 2021-09-28 2023-04-06 苏州浪潮智能科技有限公司 网络模型量化方法、装置、计算机设备以及存储介质
CN117689044A (zh) * 2024-02-01 2024-03-12 厦门大学 一种适用于视觉自注意力模型的量化方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116579407B (zh) * 2023-05-19 2024-02-13 北京百度网讯科技有限公司 神经网络模型的压缩方法、训练方法、处理方法和装置
CN116542344A (zh) * 2023-07-05 2023-08-04 浙江大华技术股份有限公司 一种模型自动化部署方法、平台和系统
CN116721399B (zh) * 2023-07-26 2023-11-14 之江实验室 一种量化感知训练的点云目标检测方法及装置
CN117077740B (zh) * 2023-09-25 2024-03-12 荣耀终端有限公司 模型量化方法和设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190164057A1 (en) * 2019-01-30 2019-05-30 Intel Corporation Mapping and quantification of influence of neural network features for explainable artificial intelligence
CN110276451A (zh) * 2019-06-28 2019-09-24 南京大学 一种基于权重归一化的深度神经网络压缩方法
CN111753761A (zh) * 2020-06-28 2020-10-09 北京百度网讯科技有限公司 模型生成方法、装置、电子设备及存储介质
CN112200296A (zh) * 2020-07-31 2021-01-08 厦门星宸科技有限公司 网络模型量化方法、装置、存储介质及电子设备
CN112308019A (zh) * 2020-11-19 2021-02-02 中国人民解放军国防科技大学 基于网络剪枝和知识蒸馏的sar舰船目标检测方法
CN112508169A (zh) * 2020-11-13 2021-03-16 华为技术有限公司 知识蒸馏方法和系统
US20210142177A1 (en) * 2019-11-13 2021-05-13 Nvidia Corporation Synthesizing data for training one or more neural networks
CN112988975A (zh) * 2021-04-09 2021-06-18 北京语言大学 一种基于albert和知识蒸馏的观点挖掘方法
CN113011581A (zh) * 2021-02-23 2021-06-22 北京三快在线科技有限公司 神经网络模型压缩方法、装置、电子设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443165B (zh) * 2019-07-23 2022-04-29 北京迈格威科技有限公司 神经网络量化方法、图像识别方法、装置和计算机设备
CN112016674A (zh) * 2020-07-29 2020-12-01 魔门塔(苏州)科技有限公司 一种基于知识蒸馏的卷积神经网络的量化方法
CN113610232B (zh) * 2021-09-28 2022-02-22 苏州浪潮智能科技有限公司 网络模型量化方法、装置、计算机设备以及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190164057A1 (en) * 2019-01-30 2019-05-30 Intel Corporation Mapping and quantification of influence of neural network features for explainable artificial intelligence
CN110276451A (zh) * 2019-06-28 2019-09-24 南京大学 一种基于权重归一化的深度神经网络压缩方法
US20210142177A1 (en) * 2019-11-13 2021-05-13 Nvidia Corporation Synthesizing data for training one or more neural networks
CN111753761A (zh) * 2020-06-28 2020-10-09 北京百度网讯科技有限公司 模型生成方法、装置、电子设备及存储介质
CN112200296A (zh) * 2020-07-31 2021-01-08 厦门星宸科技有限公司 网络模型量化方法、装置、存储介质及电子设备
CN112508169A (zh) * 2020-11-13 2021-03-16 华为技术有限公司 知识蒸馏方法和系统
CN112308019A (zh) * 2020-11-19 2021-02-02 中国人民解放军国防科技大学 基于网络剪枝和知识蒸馏的sar舰船目标检测方法
CN113011581A (zh) * 2021-02-23 2021-06-22 北京三快在线科技有限公司 神经网络模型压缩方法、装置、电子设备及可读存储介质
CN112988975A (zh) * 2021-04-09 2021-06-18 北京语言大学 一种基于albert和知识蒸馏的观点挖掘方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DIMAH DERA等: "Extended Variational Inference for Propagating Uncertainty in Convolutional Neural Networks", 《2019 IEEE 29TH INTERNATIONAL WORKSHOP ON MACHINE LEARNING FOR SIGNAL PROCESSING (MLSP)》 *
WENFENG YIN等: "Coresets Application in Channel Pruning for Fast Neural Network Slimming", 《2021 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN)》 *
孙建辉等: "卷积神经网络的混合精度量化技术研究", 《信息技术 》 *
饶川 等: "一种基于动态量化编码的深度神经网络压缩方法", 《自动化学报》 *
黄锋: "基于径向基函数神经网络的图像识别研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023050707A1 (zh) * 2021-09-28 2023-04-06 苏州浪潮智能科技有限公司 网络模型量化方法、装置、计算机设备以及存储介质
CN115570228A (zh) * 2022-11-22 2023-01-06 苏芯物联技术(南京)有限公司 一种焊接管道供气智能反馈控制方法与系统
CN117689044A (zh) * 2024-02-01 2024-03-12 厦门大学 一种适用于视觉自注意力模型的量化方法

Also Published As

Publication number Publication date
CN113610232B (zh) 2022-02-22
WO2023050707A1 (zh) 2023-04-06

Similar Documents

Publication Publication Date Title
CN113610232B (zh) 网络模型量化方法、装置、计算机设备以及存储介质
US10991074B2 (en) Transforming source domain images into target domain images
WO2022006919A1 (zh) 基于激活定点拟合的卷积神经网络训练后量化方法及系统
CN110766142A (zh) 模型生成方法和装置
CN107292352B (zh) 基于卷积神经网络的图像分类方法和装置
TW201901532A (zh) 前饋生成神經網路
US11144782B2 (en) Generating video frames using neural networks
CN110929564B (zh) 基于对抗网络的指纹模型生成方法以及相关装置
CN111598213A (zh) 网络训练方法、数据识别方法、装置、设备和介质
US20220051103A1 (en) System and method for compressing convolutional neural networks
CN113435568A (zh) 计算机实施的用于训练神经网络的方法和电子系统
CN113128478A (zh) 模型训练方法、行人分析方法、装置、设备及存储介质
JP2016218513A (ja) ニューラルネットワーク及びそのためのコンピュータプログラム
CN113434699A (zh) Bert模型的预训练方法、计算机装置和存储介质
CN112200296A (zh) 网络模型量化方法、装置、存储介质及电子设备
CN111797220A (zh) 对话生成方法、装置、计算机设备和存储介质
US20230161783A1 (en) Device for accelerating self-attention operation in neural networks
CN112614197A (zh) 图像生成方法、装置、计算机设备和存储介质
CN111402121A (zh) 图像风格的转换方法、装置、计算机设备和存储介质
CN110955530A (zh) 深度学习引擎并行处理数据方法、装置、设备及储存介质
KR20210082993A (ko) 양자화 영상 생성 방법 및 양자화 영상 생성 방법을 수행하는 센서 장치
CN116189667B (zh) 语音处理模型的量化压缩方法、装置、设备和存储介质
KR102502441B1 (ko) 소수의 데이터를 이용하여 트레이닝되지 않은 상황에 적응하는 모바일 센싱장치 및 방법
CN113743448B (zh) 模型训练数据获取方法、模型训练方法和装置
CN112396069B (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