CN117058397A - 一种模型量化方法、装置及存储介质 - Google Patents
一种模型量化方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117058397A CN117058397A CN202210492704.XA CN202210492704A CN117058397A CN 117058397 A CN117058397 A CN 117058397A CN 202210492704 A CN202210492704 A CN 202210492704A CN 117058397 A CN117058397 A CN 117058397A
- Authority
- CN
- China
- Prior art keywords
- quantization
- layer
- model
- loss
- trained
- 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
- 238000013139 quantization Methods 0.000 title claims abstract description 501
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 75
- 239000013598 vector Substances 0.000 claims description 66
- 239000011159 matrix material Substances 0.000 claims description 56
- 230000006870 function Effects 0.000 claims description 36
- 238000012549 training Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 230000004580 weight loss Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001953 sensory effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种模型量化方法、装置及存储介质,方法包括:从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失;基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,以利用训练后的量化模型进行图像处理。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种模型量化方法、装置及存储介质。
背景技术
近年来,基于深度学习相关技术的模型应用在边缘端设备的落地已经越来越多,而模型量化(model quantization)为其节省存储和减少计算资源。相比于训练后量化(Post-Training Quantization,PTQ),训练量化(Quantization Aware Training,QAT)能够保证更高的精度。
目前,常用的量化器所采用的量化算法是均匀量化,即对于输入信号的取值域作等间隔分割量化。在对模型权重和特征向量的量化过程中,因截断(clip)和量化取整(Round)引起的损失最终体现在图像质量的表达上,导致额外噪声引入,量化的模型与原模型相比,模型精度较低。
发明内容
本申请实施例提供一种模型量化方法、装置及存储介质,通过对待训练量化模型中的量化层监督,即计算量化损失用于量化训练,可以减小量化误差,提高模型精度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种模型量化方法,包括:
从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;
针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失;
基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,以利用所述训练后的量化模型进行图像处理。
在上述方法中,所述针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失,包括:
利用所述待训练量化模型处理样本图像,得到所述至少一个量化层中每个量化层对应的输出特征;
利用所述原始图像处理模型处理所述样本图像,得到至少一个网络层中每个网络层对应的输出特征;所述至少一个网络层包含于所述原始图像处理模型,且与所述至少一个量化层一一对应;
针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量;
针对所述至少一个网络层中每个网络层,利用网络层对应的输出特征构建对应的第二特征向量;
针对所述至少一个量化层中每个量化层,计算对应的第一特征向量,与所述至少一个网络层中对应的网络层对应的第二特征向量之间的损失函数,确定为对应的量化损失,得到所述至少一个量化损失。
在上述方法中,所述针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量,包括:
针对所述至少一个量化层中每个量化层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第一矩阵;
针对所述至少一个量化层中每个量化层,将对应的第一矩阵确定为对应的第一特征向量;
或者,针对所述至少一个量化层中每个量化层,计算对应的第一矩阵的转置矩阵与对应的第一矩阵之间的内积,确定为对应的第一特征向量。
在上述方法中,所述针对所述至少一个网络层中每个量化层,利用对应的输出特征构建对应的第二特征向量,包括:
针对所述至少一个网络层中每个网络层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第二矩阵;
针对所述至少一个网络层中每个网络层,将对应的第二矩阵确定为对应的第二特征向量;
或者,针对所述至少一个网络层中每个网络层,计算对应的第二矩阵的转置矩阵与对应的第二矩阵之间的内积,得到对应的第二特征向量。
在上述方法中,所述基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,包括:
获取所述至少一个量化层中每个量化层对应的权重,得到至少一个权重;
将所述至少一个量化损失和所述至少一个权重中,对应同一量化层的量化损失和权重相乘,并将每个相乘结果确定为一个加权损失,得到至少一个加权损失;
将所述至少一个加权损失与预设目标函数之和,确定为最优目标函数;
基于所述最优目标函数,对所述待训练量化模型量化训练,得到所述训练后的量化模型。
在上述方法中,所述至少一个量化层为N个量化层,N为不小于1的自然数,所述N个量化层中第k个量化层对应的权重为:
其中,αk为所述第k个量化层对应的权重,Lk为所述第k个量化层对应的量化损失,Li为所述N个量化层中第i个量化层对应的量化损失,k为不小于1且不大于N的自然数。
本申请实施例提供了一种模型量化装置,包括:
选取模块,用于从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;
确定模块,用于针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失;
训练模块,用于基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,以利用所述训练后的量化模型进行图像处理。
在上述装置中,所述确定模块,还用于利用所述待训练量化模型处理样本图像,得到所述至少一个量化层中每个量化层对应的输出特征;利用所述原始图像处理模型处理所述样本图像,得到至少一个网络层中每个网络层对应的输出特征;所述至少一个网络层包含于所述原始图像处理模型,且与所述至少一个量化层一一对应;针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量;针对所述至少一个网络层中每个网络层,利用网络层对应的输出特征构建对应的第二特征向量;针对所述至少一个量化层中每个量化层,计算对应的第一特征向量,与所述至少一个网络层中对应的网络层对应的第二特征向量之间的损失函数,确定为对应的量化损失,得到所述至少一个量化损失。
本申请实施例提供了一种模型量化装置,包括:处理器、存储器和通信总线;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器存储的一个或者多个计算机程序,以实现上述模型量化方法。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述模型量化方法。
本申请实施例提供了一种模型量化方法、装置及存储介质,方法包括:从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失;基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,以利用训练后的量化模型进行图像处理。本申请实施例提供的技术方案,通过对待训练量化模型中的量化层监督,即计算量化损失用于量化训练,可以减小量化误差,提高模型精度。此外,在模型量化训练时,考虑到了量化层的量化损失,可以保证图像的感官质量,并且,整个过程不涉及量化器的修改,因而对整个部署流程的其他环节影响很少。
附图说明
图1为本申请实施例提供的一种模型量化方法的流程示意图;
图2为本申请实施例提供的一种示例性的量化损失的确定示意图;
图3为本申请实施例提供的一种示例性的量化层对应的量化损失示意图;
图4为本申请实施例提供的一种示例性的量化层对应的权重示意图;
图5为本申请实施例提供的一种模型量化装置的结构示意图一;
图6为本申请实施例提供的一种模型量化装置的结构示意图二。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
本申请实施例提供了一种模型量化方法,通过模型量化装置实现。模型量化装置具体可以是各种类型的电子设备,本申请实施例不作限定。
图1为本申请实施例提供的一种模型量化方法的流程示意图。如图1所示,在本申请的实施例中,模型量化方法包括:
S101、从原始图像处理模型对应的待训练量化模型中选取至少一个量化层。
在本申请的实施例中,模型量化装置可以从原始图像处理模型对应的待训练量化模型中选取至少一个量化层。
需要说明的是,在本申请的实施例中,原始图像处理模型具体是具备特定图像处理功能的未经过量化的模型,例如,标准的浮点模型等,原始处理图像模型对应的待训练量化模型,具体是针对原始图像处理模型设定的量化模型,待训练量化模型,实际上就是将原始图像处理模型中部分网络层替换为设定的量化层得到的模型。具体的原始图像处理模型可以根据实际需求和应用场景设定,本申请实施例不作限定。
需要说明的是,在本申请的实施例中,模型量化装置可以采用特定的规则或标准,从待训练量化模型中选取出至少一个量化层,例如,根据模型的结构特点、像素空间深度的需求、量化损失的程度等,选取至少一个量化层。具体的从待训练量化模型中选取量化层的方式,以及选取的量化层的数量,本申请实施例不作限定。
S102、针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失。
在本申请的实施例中,模型量化装置在从待训练量化模型中选取出至少一个量化层的情况下,即可针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失。
可以理解的是,在本申请的实施例中,针对至少一个量化层中每个量化层,原始图像处理模型中其经过量化之前的网络层,即其对应的网络层。模型量化装置可以计算至少一个量化层中每个量化层与其对应的网络层之间的量化损失,从而得到至少一个量化损失。
图2为本申请实施例提供的一种示例性的量化损失的确定示意图。如图2所示,在本申请的实施例中,原始图像处理模型和待训练量化模型中均包括M层,模型量化装置可以从原始图像处理模型对应的待训练量化模型中,选取至少一个量化层,从而计算至少一个量化层中每个量化层与其在原始图像处理模型中对应的网络层之间的量化损失。
具体的,在本申请的实施例中,针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失,包括:利用待训练量化模型处理样本图像,得到至少一个量化层中每个量化层对应的输出特征;利用原始图像处理模型处理样本图像,得到至少一个网络层中每个网络层对应的输出特征;至少一个网络层包含于原始图像处理模型,且与至少一个量化层一一对应;针对至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量;针对至少一个网络层中每个网络层,利用网络层对应的输出特征构建对应的第二特征向量;针对至少一个量化层中每个量化层,计算对应的第一特征向量,与至少一个网络层中对应的网络层对应的第二特征向量之间的损失函数,确定为对应的量化损失,得到至少一个量化损失。
需要说明的是,在本申请的实施例中,样本图像为用于实现待训练量化模型量化训练的任意图像,样本图像具体可以预先存储在模型量化装置中,也可以是模型量化装置从其他装置中获取到的,本申请实施例不作限定。
可以理解的是,在本申请的实施例中,模型量化装置可以将样本图像分别输入至待训练量化模型和原始图像处理模型中进行处理,这样,待训练量化模型中的至少一个量化层中每个量化层均可产生一个特征图并输出,即每个量化层均对应有一个输出特征,并且,原始图像处理模型中与至少一个量化层一一对应的至少一个网络层中,每个网络侧层均可产生一个特征图并输出,即每个网络层均对应有一个输出特征。存在对应关系的量化层与网络层各自对应的输出之间的损失,即可表征量化层与对应的网络层之间的量化损失。
具体的,在本申请的实施例中,模型量化装置针对至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量,包括:针对至少一个量化层中每个量化层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第一矩阵;针对至少一个量化层中每个量化层,将对应的第一矩阵确定为对应的第一特征向量;或者,针对至少一个量化层中每个量化层,计算对应的第一矩阵的转置矩阵与对应的第一矩阵之间的内积,得到对应的第一特征向量。
具体的,在本申请的实施例中,模型量化装置针对至少一个网络层中每个量化层,利用对应的输出特征构建对应的第二特征向量,包括:针对至少一个网络层中每个网络层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第二矩阵;针对至少一个网络层中每个网络层,将对应的第二矩阵确定为对应的第二特征向量;或者,针对至少一个网络层中每个网络层,计算对应的第二矩阵的转置矩阵与对应的第二矩阵之间的内积,得到对应的第二特征向量。
需要说明的是,在本申请的实施例中,模型量化装置针对至少一个量化层中每个量化层,以及至少一个网络层中每个网络层,均可以利用对应的输出特征构建对应的特征向量,具体的,每个量化层对应的为第一特征向量,每个网络层对应的为第二特征向量。
需要说明的是,在本申请的实施例中,模型量化装置具体可以用格拉姆矩阵(GramMatrix)构建量化层对应的第一特征向量,以及网络层对应的第二特征向量。具体的,针对一个网络层,其输出特征记为Fa,该网络层对应的量化层,其输出特征记为Fb,(c,h,w)为输出特征的维度,c表示通道数,h表示高度,w表示宽度。模型量化装置针对Fa和Fb均将h,w维度合并,即输出特征的维度变换为(c,hw),之后再通过矩阵转置和内积得到对应的第一特征向量和第二特征向量,具体如下公式如下:
其中,表示维度为(c,h,w)的实数集,/>表示维度为(c,hw)的实数集,/>表示维度为(c,c)的实数集,FQ表示该量化层对应的第一矩阵,FF表示该网络层对应的第二矩阵,/>表示第一矩阵的转置矩阵,/>表示第二矩阵的转置矩阵,GQ表示第一特征向量,GF表示第二特征向量。
需要说明的是,在本申请的实施例中,考虑到格拉姆矩阵尺寸较大,占用内存较多,因此,也可以直接将量化层对应的第一矩阵确定为对应的第一特征向量,即将FQ作为第一特征向量,将网络层对应的第二矩阵确定为对应的第二特征向量,即将FF作为第二特征向量。
需要说明的是,在本申请的实施例中,模型量化装置针对至少一个量化层中每个量化层,可以计算其对应的第一特征向量,与其对应的网络层对应的第二特征向量之间的损失函数,模型量化装置计算的损失函数的类型可以是均方差损失函数、范数损失函数、正则项损失函数等,本申请实施例不作限定。
具体的,在本申请的实施例中,至少一个量化层为N个量化层,N为不小于1的自然数,针对N个量化层中第k个量化层,k为不小于1且不大于N的自然数,如公式(3)所示,其第一特征向量可以为GQ,其对应的网络层对应的第二特征向量可以为GF,模型量化装置可以采用以下公式(5)计算两者之间的损失函数Lk:
其中,GF(i,j)表示GF中维度c为i且维度hw为j的元素,GQ(i,j)表示GQ中维度c为i且维度hw为j的元素。
或者,模型量化装置也可以采用以下公式(6)用范数的形式表示其对应的第一特征向量GQ,与其对应的网络层对应的第二特征向量GF之间的损失函数Lk:
其中,p表示p-范数。
需要说明的是,在本申请的实施例中,如上述步骤所述,可以直接将量化层对应的第一矩阵确定为其对应的第一特征向量,即第一特征向量为FQ,可以直接将网络层对应的第二矩阵确定为其对应的第二特征向量,即第二特征向量为FF,在此情况下,模型量化装置同样可以采用上述公式(5)或公式(6)计算量化损失,区别仅在于所利用具体的特征矩阵不同,在此不再赘述。
需要说明的是,在本申请的实施例中,模型量化装置在按照上述方法针对至少一个量化层中每个量化层,计算出其对应的第一特征向量,与其对应的网络层对应的第二特征向量之间的损失函数,即可将该损失函数作为对应的量化损失,从而得到与至少一个量化层一一对应的至少一个量化损失。每个量化损失实际上表征一个量化层与其对应的网络层在图像感知层面上的损失。
S103、基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,以利用训练后的量化模型进行图像处理。
在本申请的实施例中,模型量化装置在得到与至少一个量化层一一对应的至少一个量化损失的情况下,即可基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,后续就可以利用训练后的量化模型进行图像处理。
具体的,在本申请的实施例中,模型量化装置基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,包括:获取至少一个量化层中每个量化层对应的权重,得到至少一个权重;将至少一个量化损失和至少一个权重中,对应同一量化层的量化损失和权重相乘,并将每个相乘结果确定为一个加权损失,得到至少一个加权损失;将至少一个加权损失与预设目标函数之和,确定为最优目标函数;基于最优目标函数,对待训练量化模型量化训练,得到训练后的量化模型。
需要说明的是,在本申请的实施例中,模型量化装置可以将至少一个量化层中每个量化层对应的损失和权重相乘,这样,即可得到每个量化层对应的加权损失,之后,再将至少一个量化层对应的至少一个加权损失,与预设目标函数叠加,得到最优目标函数。
具体的,至少一个量化层为N个量化层,N为不小于1的自然数,模型量化装置可以按照以下公式(7)计算最优目标函数L:
其中,L0为预设目标函数,αi为第i个量化层对应的权重,Li为第i个量化层对应的量化损失。
可以理解的是,对于部分图像处理模型,在部分中间的量化层输出时,特征张量经层层降采样后尺度较小,值的变化很敏感且对后续输出影响很大,在本申请的实施例中,通过对这类量化层监督,即计算量化损失,用于量化训练,可以减小量化误差,此外,模型量化装置在量化训练时,考虑到了量化层的量化损失,可以保证图像的感官质量,并且,整个过程不涉及量化器的修改,因而对整个部署流程的其他环节影响很少。
需要说明的是,在本申请的实施例中,模型量化装置可以获取至少一个量化层中每个量化层对应的权重,该权重可以是预先设定的,也可以是采用特定算法计算得到的,本申请实施例不作限定。每个量化层对应的权重,实际上可以表征该量化层参与量化的重要程度。
具体的,在本申请的实施例中,至少一个量化层为N个量化层,N为不小于1的自然数,N个量化层中第k个量化层对应的权重为:
其中,αk为第k个量化层对应的权重,Lk为第k个量化层对应的量化损失,Li为N个量化层中第i个量化层对应的量化损失,k为不小于1且不大于N的自然数。
示例性的,在本申请的实施例中,量化层C1-C15对应的量化损失如图3所示,针对于此,模型量化装置可以采用上述公式(8)分别计算每个量化层对应的权重,从而得到图4所示的结果。
本申请实施例提供了一种模型量化方法,包括:从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失;基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,以利用训练后的量化模型进行图像处理。本申请实施例提供的模型量化方法,通过对待训练量化模型中的量化层监督,即计算量化损失用于量化训练,可以减小量化误差,提高模型精度。此外,在模型量化训练时,考虑到了量化层的量化损失,可以保证图像的感官质量,并且,整个过程不涉及量化器的修改,因而对整个部署流程的其他环节影响很少。
本申请实施例提供了一种模型量化装置。图5为本申请实施例提供的一种模型量化装置的结构示意图一。如图5所示,模型量化装置包括:
选取模块501,用于从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;
确定模块502,用于针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失;
训练模块503,用于基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,以利用所述训练后的量化模型进行图像处理。
在本申请一实施例中,所述确定模块502,还用于利用所述待训练量化模型处理样本图像,得到所述至少一个量化层中每个量化层对应的输出特征;利用所述原始图像处理模型处理所述样本图像,得到至少一个网络层中每个网络层对应的输出特征;所述至少一个网络层包含于所述原始图像处理模型,且与所述至少一个量化层一一对应;针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量;针对所述至少一个网络层中每个网络层,利用网络层对应的输出特征构建对应的第二特征向量;针对所述至少一个量化层中每个量化层,计算对应的第一特征向量,与所述至少一个网络层中对应的网络层对应的第二特征向量之间的损失函数,确定为对应的量化损失,得到所述至少一个量化损失。
在本申请一实施例中,所述确定模块502,还用于针对所述至少一个量化层中每个量化层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第一矩阵;针对所述至少一个量化层中每个量化层,将对应的第一矩阵确定为对应的第一特征向量;或者,针对所述至少一个量化层中每个量化层,计算对应的第一矩阵的转置矩阵与对应的第一矩阵之间的内积,确定为对应的第一特征向量。
在本申请一实施例中,所述确定模块502,还用于针对所述至少一个网络层中每个网络层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第二矩阵;针对所述至少一个网络层中每个网络层,将对应的第二矩阵确定为对应的第二特征向量;或者,针对所述至少一个网络层中每个网络层,计算对应的第二矩阵的转置矩阵与对应的第二矩阵之间的内积,得到对应的第二特征向量。
在本申请一实施例中,所述训练模块503,还用于获取所述至少一个量化层中每个量化层对应的权重,得到至少一个权重;将所述至少一个量化损失和所述至少一个权重中,对应同一量化层的量化损失和权重相乘,并将每个相乘结果确定为一个加权损失,得到至少一个加权损失;将所述至少一个加权损失与预设目标函数之和,确定为最优目标函数;基于所述最优目标函数,对所述待训练量化模型量化训练,得到所述训练后的量化模型。
在本申请一实施例中,所述至少一个量化层为N个量化层,N为不小于1的自然数,所述N个量化层中第k个量化层对应的权重为:
其中,αk为所述第k个量化层对应的权重,Lk为所述第k个量化层对应的量化损失,Li为所述N个量化层中第i个量化层对应的量化损失,k为不小于1且不大于N的自然数。
图6为本申请实施例提供的一种模型量化装置的结构示意图二。如图6所示,模型量化装置包括:处理器601、存储器602和通信总线603;
所述通信总线603,用于实现所述处理器601和所述存储器602之间的通信连接;
所述处理器601,用于执行所述存储器602存储的一个或者多个计算机程序,以实现上述模型量化方法。
本申请实施例提供了一种模型量化装置,从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;针对至少一个量化层中每个量化层,确定与原始图像处理模型中对应的网络层之间的量化损失,得到与至少一个量化层一一对应的至少一个量化损失;基于至少一个量化损失,对待训练量化模型量化训练,得到训练后的量化模型,以利用训练后的量化模型进行图像处理。本申请实施例提供的模型量化装置,通过对待训练量化模型中的量化层监督,即计算量化损失用于量化训练,可以减小量化误差,提高模型精度。此外,模型量化装置在量化训练时,考虑到了量化层的量化损失,可以保证图像的感官质量,并且,整个过程不涉及量化器的修改,因而对整个部署流程的其他环节影响很少。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述模型量化方法。计算机可读存储介质可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种模型量化方法,其特征在于,包括:
从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;
针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失;
基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,以利用所述训练后的量化模型进行图像处理。
2.根据权利要求1所述的方法,其特征在于,所述针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失,包括:
利用所述待训练量化模型处理样本图像,得到所述至少一个量化层中每个量化层对应的输出特征;
利用所述原始图像处理模型处理所述样本图像,得到至少一个网络层中每个网络层对应的输出特征;所述至少一个网络层包含于所述原始图像处理模型,且与所述至少一个量化层一一对应;
针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量;
针对所述至少一个网络层中每个网络层,利用对应的输出特征构建对应的第二特征向量;
针对所述至少一个量化层中每个量化层,计算对应的第一特征向量,与所述至少一个网络层中对应的网络层对应的第二特征向量之间的损失函数,确定为对应的量化损失,得到所述至少一个量化损失。
3.根据权利要求2所述的方法,其特征在于,所述针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量,包括:
针对所述至少一个量化层中每个量化层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第一矩阵;
针对所述至少一个量化层中每个量化层,将对应的第一矩阵确定为对应的第一特征向量;
或者,针对所述至少一个量化层中每个量化层,计算对应的第一矩阵的转置矩阵与对应的第一矩阵之间的内积,确定为对应的第一特征向量。
4.根据权利要求2所述的方法,其特征在于,所述针对所述至少一个网络层中每个量化层,利用对应的输出特征构建对应的第二特征向量,包括:
针对所述至少一个网络层中每个网络层,将对应的输出特征中高度和宽度两个维度的数据合并,得到对应的第二矩阵;
针对所述至少一个网络层中每个网络层,将对应的第二矩阵确定为对应的第二特征向量;
或者,针对所述至少一个网络层中每个网络层,计算对应的第二矩阵的转置矩阵与对应的第二矩阵之间的内积,得到对应的第二特征向量。
5.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,包括:
获取所述至少一个量化层中每个量化层对应的权重,得到至少一个权重;
将所述至少一个量化损失和所述至少一个权重中,对应同一量化层的量化损失和权重相乘,并将每个相乘结果确定为一个加权损失,得到至少一个加权损失;
将所述至少一个加权损失与预设目标函数之和,确定为最优目标函数;
基于所述最优目标函数,对所述待训练量化模型量化训练,得到所述训练后的量化模型。
6.根据权利要求5所述的方法,其特征在于,所述至少一个量化层为N个量化层,N为不小于1的自然数,所述N个量化层中第k个量化层对应的权重为:
其中,αk为所述第k个量化层对应的权重,Lk为所述第k个量化层对应的量化损失,Li为所述N个量化层中第i个量化层对应的量化损失,k为不小于1且不大于N的自然数。
7.一种模型量化装置,其特征在于,包括:
选取模块,用于从原始图像处理模型对应的待训练量化模型中选取至少一个量化层;
确定模块,用于针对所述至少一个量化层中每个量化层,确定与所述原始图像处理模型中对应的网络层之间的量化损失,得到与所述至少一个量化层一一对应的至少一个量化损失;
训练模块,用于基于所述至少一个量化损失,对所述待训练量化模型量化训练,得到训练后的量化模型,以利用所述训练后的量化模型进行图像处理。
8.根据权利要求7所述的装置,其特征在于,
所述确定模块,还用于利用所述待训练量化模型处理样本图像,得到所述至少一个量化层中每个量化层对应的输出特征;利用所述原始图像处理模型处理所述样本图像,得到至少一个网络层中每个网络层对应的输出特征;所述至少一个网络层包含于所述原始图像处理模型,且与所述至少一个量化层一一对应;针对所述至少一个量化层中每个量化层,利用对应的输出特征构建对应的第一特征向量;针对所述至少一个网络层中每个网络层,利用网络层对应的输出特征构建对应的第二特征向量;针对所述至少一个量化层中每个量化层,计算对应的第一特征向量,与所述至少一个网络层中对应的网络层对应的第二特征向量之间的损失函数,确定为对应的量化损失,得到所述至少一个量化损失。
9.一种模型量化装置,其特征在于,包括:处理器、存储器和通信总线;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器存储的一个或者多个计算机程序,以实现权利要求1-6任一项所述的模型量化方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一项所述的模型量化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492704.XA CN117058397A (zh) | 2022-05-07 | 2022-05-07 | 一种模型量化方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210492704.XA CN117058397A (zh) | 2022-05-07 | 2022-05-07 | 一种模型量化方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117058397A true CN117058397A (zh) | 2023-11-14 |
Family
ID=88667982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210492704.XA Pending CN117058397A (zh) | 2022-05-07 | 2022-05-07 | 一种模型量化方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117058397A (zh) |
-
2022
- 2022-05-07 CN CN202210492704.XA patent/CN117058397A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713818B1 (en) | Image compression with recurrent neural networks | |
US11373087B2 (en) | Method and apparatus for generating fixed-point type neural network | |
WO2022006919A1 (zh) | 基于激活定点拟合的卷积神经网络训练后量化方法及*** | |
CN112508125A (zh) | 一种图像检测模型的高效全整数量化方法 | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
CN111126558B (zh) | 一种卷积神经网络计算加速方法及装置、设备、介质 | |
CN112990438B (zh) | 基于移位量化操作的全定点卷积计算方法、***及设备 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
CN114283347B (zh) | 目标检测方法、***、智能终端及计算机可读存储介质 | |
CN114549913A (zh) | 一种语义分割方法、装置、计算机设备和存储介质 | |
CN113780549A (zh) | 溢出感知的量化模型训练方法、装置、介质及终端设备 | |
CN113011425A (zh) | 图像分割方法、装置、电子设备及计算机可读存储介质 | |
CN111476362B (zh) | 确定fl值的方法及装置 | |
CN111783935A (zh) | 卷积神经网络构建方法、装置、设备及介质 | |
CN112381147B (zh) | 动态图片相似度模型建立、相似度计算方法和装置 | |
CN111951373B (zh) | 一种人脸图像的处理方法和设备 | |
CN113469111A (zh) | 图像关键点检测方法及***、电子设备、存储介质 | |
CN114078149A (zh) | 一种图像估计方法、电子设备及存储介质 | |
CN117058397A (zh) | 一种模型量化方法、装置及存储介质 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
US11823043B2 (en) | Machine learning with input data domain transformation | |
CN115170916B (zh) | 一种多尺度特征融合的图像重建方法及*** | |
CN117173552B (zh) | 一种水下目标检测方法、***、电子设备及存储介质 | |
EP4318315A1 (en) | A computer implemented method for transforming a pre-trained neural network and a device therefor | |
CN116186526B (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 |