CN114153998A - 一种数据处理方法及装置、计算机可读存储介质 - Google Patents
一种数据处理方法及装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN114153998A CN114153998A CN202010924171.9A CN202010924171A CN114153998A CN 114153998 A CN114153998 A CN 114153998A CN 202010924171 A CN202010924171 A CN 202010924171A CN 114153998 A CN114153998 A CN 114153998A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- original
- loss
- preset
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种数据处理方法及装置、计算机可读存储介质,能够提高对量化模型进行训练时的收敛速度,并提高训练后的量化模型进行多媒体数据处理的精度。方法包括:获取待处理多媒体数据;使用目标量化模型对待处理多媒体数据进行处理,得到目标处理结果;目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;其中,初始量化模型通过对原始模型进行量化压缩得到,原始模型为对待处理多媒体数据进行处理的第一精度类型的网络模型;初始量化模型为第二精度类型的网络模型。
Description
技术领域
本申请涉及软件工程领域,尤其涉及一种数据处理方法及装置、计算机可读存储介质。
背景技术
目前,为了提高神经网络模型的处理速度,并减少资源占用,通常会将高精度模型进行量化压缩的方式,以得到规模更小的低比特的量化模型。然而,直接压缩得到的量化模型难以保证处理精度,为了提高量化模型的精度,现有技术中通常会以真实值为目标值,对量化模型进行重新训练。然而目前的训练方法仍然难以使得量化模型恢复到原有的精度,并且训练过程长,收敛速度慢,并且降低了使用训练后的量化模型进行多媒体数据处理的精度。
发明内容
本申请实施例期望提供一种数据处理方法及装置、计算机可读存储介质,能够提高对量化模型进行训练时的收敛速度,并提高训练后的量化模型进行多媒体数据处理的精度。
本申请的技术方案是这样实现的:
本申请实施例提供一种数据处理方法,包括:
获取待处理多媒体数据;
使用目标量化模型对所述待处理多媒体数据进行处理,得到目标处理结果;所述目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;所述原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;
其中,所述初始量化模型通过对原始模型进行量化压缩得到;所述原始模型为对所述待处理多媒体数据进行处理的第一精度类型的网络模型;所述初始量化模型为第二精度类型的网络模型,所述第一精度类型的精度高于所述第二精度类型;所述原始模型处理结果通过所述原始模型对预设训练样本集合进行处理得到;所述原始模型权重分布表征原始模型的网络层的权重分布。
本申请实施例提供一种数据处理装置,包括:
获取单元,用于获取待处理多媒体数据;
模型处理单元,用于使用目标量化模型对所述待处理多媒体数据进行处理,得到目标处理结果;所述目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;所述原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;
其中,所述初始量化模型通过对原始模型进行量化压缩得到;所述原始模型为对所述待处理多媒体数据进行处理的第一精度类型的网络模型;所述初始量化模型为第二精度类型的网络模型,所述第一精度类型的精度高于所述第二精度类型;所述原始模型处理结果通过所述原始模型对预设训练样本集合进行处理得到;所述原始模型权重分布表征原始模型的网络层的权重分布。
本申请实施例提供一种数据处理装置,包括:
存储器,用于存储可执行数据指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如上述任一项所述的数据处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现如上述任一项所述的数据处理方法。
本申请实施例提供的数据处理方法及装置、计算机可读存储介质,包括获取待处理多媒体数据;使用目标量化模型对待处理多媒体数据进行处理,得到目标处理结果;目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;其中,原始模型为对待处理多媒体数据进行处理的第一精度类型的网络模型;初始量化模型为第二精度类型的网络模型,第一精度类型的精度高于第二精度类型;初始量化模型通过对原始模型进行量化压缩得到。采用上述技术实现方案,由于目标量化模型是根据预设真实目标值与原始模型示范值共同训练得到的,因此在对初始量化模型进行训练的过程中,可以在预设真实目标值的基础上,将原始模型的处理结果与原始模型权重分布中的至少一项作为初始量化模型的训练目标,实现对初始量化模型每轮训练的网络参数进行更有效率的调整,从而提高了训练初始量化模型的收敛速度,并提高了最终训练得到的目标量化模型进行多媒体数据处理的精度。
附图说明
图1为目前对高精度神经网络模型进行量化压缩和重新训练的方法;
图2为本申请实施例提供的一种数据处理方法的可选的流程示意图;
图3为本申请实施例提供的一种数据处理方法的可选的流程示意图;
图4为本申请实施例提供的一种量化压缩方法示意图;
图5为本申请实施例提供的一种数据处理方法的可选的流程示意图;
图6为本申请实施例提供的一种数据处理方法的可选的流程示意图;
图7为本申请实施例提供的第二损失和第三损失计算方法示意图;
图8为本申请实施例提供的一种数据处理方法的可选的流程示意图;
图9为本申请实施例提供的一种数据处理方法的可选的流程示意图;
图10为本申请实施例提供的一种数据处理装置的可选的结构示意图;
图11为本申请实施例提供的一种数据处理装置的可选的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
目前,神经网络模型被大量应用在语音识别、图像分类、物体检测等领域。在神经网络模型中,每一层网络的神经元权重的数据类型的多少表征了该深度神经网络模型能够表达的数据范围,示例性的,神经元权重可以是32位的浮点型(float),其中1比特(bit)表示符号,8bit表示整数部,23位表示分数部组成。更大的数据范围可以使得神经网络模型进行复杂度和精度更高的运算,但同样增加了神经网络模型的规模和运行时的资源消耗,为了在尽可能不改变神经网络模型运行效果的情况下,减小神经网络模型的规模,使得神经网络模型有更快的运行速度,并可以应用于低功耗、低计算资源的平台,如手机,平板电脑等,通常会采用低比特量化的方式对神经网络模型进行压缩。示例性的,可以将32bitfloat类型的神经网络模型量化到整型(int)8类型,压缩到int8意味着内存的节省,节约了3/4,同时也提升了计算效率,因为在图形处理器(Graphic Processing Unit,GPU)这样的硬件上,低比特位数值计算速度会远远高于高比特位数值的计算速度。但是,用更低位的数据类型意味着更小的数据表示范围和更稀疏的数值,因此在对神经网络模型进行量化的时候会造成数值精度损失。例如将float数值量化到int类型之后,首先小数部分会损失,并且float数值中超过int类型能够表达的范围的值也会被压缩到int能够表达的较大或最小值。
目前,为了提高量化模型的精度,通常会如图1所示,在对高精度神经网络模型进行量化压缩,得到量化模型之后,会对量化模型进行重新训练;在每轮训练过程中,根据量化模型在每轮训练中的输出值与真实值的差异,计算得到该轮训练过程的损失值。当损失值不能满足训练的精度要求时,根据损失值对量化模型的网络参数进行调整,并基于调整后的网络参数进行下一次训练。以上述方法进行迭代训练,一直训练到至损失值满足精度要求时,结束训练,得到训练后的量化模型。后续即可使用训练后的量化模型进行实际的多媒体数据处理。然而,目前的训练方法对量化模型的精度提升有限,难以恢复到高精度的神经网络模型的原有精度。
本申请实施例提供一种数据处理方法,如图2所示,所述方法可以包括S101-S102,如下:
S101、获取待处理多媒体数据。
本申请实施例提供的方法适用于使用压缩后的神经网络模型对语音、图像、视频等多媒体数据进行处理的场景,示例性的,使用压缩后的神经网络模型进行图像分类、图像识别、物体检测、语音识别、图像分割等应用场景;具体的根据实际情况进行选择,本申请实施例不做限定。
本申请实施例中,数据处理装置获取待处理多媒体数据,示例性的,待识别出目标图像的图像,待语音识别的音频,或待智能剪辑的视频等。
S102、使用目标量化模型对待处理多媒体数据进行处理,得到目标处理结果;目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;其中,初始量化模型通过对原始模型进行量化压缩得到;原始模型为对待处理多媒体数据进行处理的第一精度类型的网络模型;初始量化模型为第二精度类型的网络模型,第一精度类型的精度高于第二精度类型;原始模型处理结果通过原始模型对预设训练样本集合进行处理得到;原始模型权重分布表征原始模型的网络层的权重分布。
本申请实施例中,数据处理装置使用目标量化模型对待处理多媒体数据进行处理,示例性地,当目标量化模型为图像分类模型,待处理多媒体数据为图片时,数据处理装置通过目标量化模型对输入的图片进行特征提取和类别概率推测,进而输出图片的分类结果作为目标处理结果。
本申请实施例中,原始模型为对待处理多媒体数据进行处理的第一精度类型的网络模型;初始量化模型为第二精度类型的网络模型,第一精度类型的精度高于第二精度类型。初始量化模型通过对原始模型进行量化压缩得到。在一些实施例中,原始模型可以是float类型或双精度(double)浮点类型,初始量化模型可以是二值化类型、4bit、8bit或16bit的低比特量化模型。
本申请实施例中,目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的。其中,初始量化模型通过对原始模型进行量化压缩得到。为了降低原始模型的网络规模以及减少应用时的资源占用,数据处理装置可以对原始模型进行量化压缩,来得到适合运行在低功耗和低计算资源平台的初始量化模型。
本申请实施例中,原始模型为已经训练完成的网络模型,原始模型的数据处理精度能够满足实际应用的需要,因此可以在初始量化模型的训练过程中起到指导训练的作用。
本申请实施例中,为了保证在实际应用中数据处理的精度,数据处理装置可以将预设真实目标值与原始模型示范值作为目标值,对初始量化模型进行训练,并且在训练过程中根据预设真实目标值与原始模型示范值对初始量化模型的网络参数进行迭代更新,直至达到预设训练目标时,得到目标量化模型。
本申请实施例中,预设真实目标值表征对待处理多媒体数据进行数据处理的预期结果;原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项。其中,原始模型处理结果表征原始模型对待处理多媒体数据进行数据处理的实际结果,可以是最终输出处理结果,也可以是原始模型的中间层所输出的结果;原始模型权重分布表征原始模型每层网络参数的取值分布,由于待处理模型的网络架构与原始模型相同,因此可以通过学习原始模型的权重分布来调整自身的网络参数的取值。
可以理解的是,本申请实施例中,由于目标量化模型是根据预设真实目标值与原始模型示范值共同训练得到的,因此在对初始量化模型进行训练的过程中,可以在预设真实目标值的基础上,将原始模型的处理结果与原始模型权重分布中的至少一项作为初始量化模型的训练目标,实现对初始量化模型每轮训练的网络参数进行更有效率的调整,从而提高了训练初始量化模型的收敛速度,并提高了最终训练得到的目标量化模型进行多媒体数据处理的精度。
本申请实施例中,在S102之前,还可以如图3所示,包括S201-S202,如下:
S201、对原始模型进行量化压缩,得到初始量化模型。
本申请实施例中,为了缩小原始模型的规模和资源占用,数据处理装置可以通过后端量化的方式,对原始模型进行线性量化压缩,得到初始量化模型。具体的,数据处理装置可以将原始模型的原始网络参数按预设比例进行量化处理,得到目标参数类型的初始量化模型;目标参数类型的比特位数低于所述原始网络参数的比特位数。
本申请实施例中,数据处理装置将目标参数类型的网络参数对应的网络模型作为初始量化模型。
在一些实施例中,当原始模型为浮点模型时,可以将原始模型的float类型的原始网络参数通过公式(1)进行线性量化,映射到定点(Quant)数据类型空间,得到Quant类型的网络参数,进而得到Quant类型的初始量化模型,从而实现对float类型的原始网络模型的量化压缩,如图4所示。
quantdata=scale*floatdata (1)
公式(1)中,floatdata为原始网络参数,scale为浮点类型到定点类型的映射比例,quantdata为floatdata映射到定点类型上的网络参数的值。数据处理装置可以通过公式(1),实现将浮点型的原始模型量化压缩为定点型的初始量化模型。
S202、基于预设损失函数,对初始量化模型进行迭代训练,得到目标量化模型;预设损失函数为对训练过程中的至少两种损失与对应的至少两种权重因子进行加权求和的函数;其中,至少两种损失基于将初始量化模型的每次训练结果,与预设真实目标值和原始模型示范值分别进行差异评估得到,至少两种权重因子表征至少两种损失在预设损失函数中的占比。
本申请实施例中,由于数据处理装置将原始模型压缩为初始量化模型的过程中造成了精度损失,因此数据处理装置需要基于预设损失函数,对初始量化模型进行迭代训练,得到目标量化模型,以保证目标量化模型的精度可以满足实际应用的要求。
本申请实施例中,预设损失函数用于基于不同维度的训练目标,计算初始量化模型在每次训练过程中的损失。本申请实施例中,不同维度的训练目标可以是预设真实目标值与原始模型示范值,因此相应地,本申请实施例的预设损失函数中包括至少两种损失,其中,至少两种损失为基于将初始量化模型的每次训练结果,与预设真实目标值和原始模型示范值分别进行差异评估得到的误差。
本申请实施例中,在预设损失函数中,可以将预设真实目标值与原始模型处理结果作为训练目标,也可以将预设真实目标值与原始模型权重分布作为训练目标,还可以将预设真实目标值、原始模型处理结果以及原始模型权重分布三者作为训练目标,还可以在预设损失函数中根据实际训练的需要,引入其他原始模型的相关项作为训练目标,具体的根据实际情况进行选择,本申请实施例不作限定。
本申请实施例中,与上述训练目标相应,预设损失函数中的至少两种损失是可以是初始量化模型每次训练结果在原始模型处理结果与原始模型权重分布维度中的至少一个维度上的误差、以及预设真实目标值维度上的误差。具体地,初始量化模型每次训练结果可以包括初始量化模型每次训练输出的当前次训练结果和初始量化模型在每次训练中的权重分布;至少两种损失可以包括第二损失与第三损失中的至少一项,以及第一损失。其中,第一损失表征每次训练结果在预设真实目标值维度上的误差;第二损失表征每次训练结果在原始模型处理结果维度上的误差;第三损失项表征每次训练结果在原始模型权重分布维度上的误差。
本申请实施例中,相应地,为了综合体现每种损失在预设损失函数的计算结果中的占比,在本申请实施例中,数据处理装置对第一损失、以及第二损失和第三损失中的至少一项设置相应的权重,从而得到至少两种权重因子。其中,至少两种权重因子包括第二权重因子与第三权重因子中的至少一项,以及第一权重因子;第一权重因子为预设损失函数中第一损失对应的权重,第二权重因子为预设损失函数中第二损失对应的权重,第三权重因子为预设损失函数中第三损失对应的权重。
本申请实施例中,预设损失函数可以是将至少两种损失与对应的至少两种权重因子进行加权求和的函数。数据处理装置可以通过预设损失函数,将第一权重因子与第一损失相乘,得到第一乘积;当存在第二损失时,数据处理装置将第二权重因子与第二损失相乘,得到第二乘积;当存在第三损失时,数据处理装置将第三权重因子与第三损失相乘,得到第三乘积。数据处理装置将全部乘积的总和作为预设损失函数的计算结果。
在一些实施例中,当原始模型示范值包括原始模型处理结果与原始模型权重分布时,预设损失函数可以如公式(2)所示,数据处理装置可通过公式(2),使用第一权重因子,以及第二权重因子与第三权重因子中的至少一项,与第一损失、以及第二损失和第三损失中的至少一项对应相乘,得到预设损失函数的计算结果,如下:
Loss=w0*Loss0+w1*Loss1+w2*Loss2 (2)
公式(2)中,Loss为预设损失函数的计算结果,Loss0为第一损失,w0为第一权重因子,Loss1为第二损失,w1为第二权重因子,Loss2为第三损失,w2为第三权重因子,数据处理装置计算Loss0与w0的乘积、Loss1与w1的乘积,以及Loss2与w2的乘积,并将三个乘积相加,得到预设损失函数的计算结果Loss。
需要说明的是,本申请实施例中,预设损失函数的计算形式可以根据实际训练的需要进行定义,可以是加权求和的计算方式,也可以是对原始模型处理结果或原始模型权重分布中的至少一项、以及预设真实目标值进行指数处理后进行求和计算的方式,具体的根据实际情况进行选择,本申请实施例不作限定。
本申请实施例中,数据处理装置可以用在每轮训练中基于预设损失函数得到当前次训练的对应的计算结果,进而即可根据当前次训练的对应的计算结果对初始量化模型进行迭代训练,最终得到目标量化模型。
可以理解的是,本申请实施例中,数据处理装置可以根据预设损失函数,从预设真实目标值和原始模型示范值两个维度分别对初始量化模型的每次训练结果进行损失值的评估,从而可以使得初始量化模型不仅可以在训练过程中学习到预设真实目标值,还可以学习到原始模型处理结果和原始模型权重分布中的至少一项,从而提高了最终训练得到的目标量化模型的精度。
本申请实施例中,S202的具体实现过程可以如图5所示,包括S2021-S2025如下:
S2021、基于初始量化模型,对预设训练样本集合进行处理,得到初始量化模型输出的当前次训练结果。
本申请实施例中,对于一次训练过程,数据处理装置可以使用初始量化模型,对预设训练样本集合进行处理,得到初始量化模型输出的当前次训练结果。
在本申请的一些实施例中,为了使初始量化模型学习原始模型的数据处理结果,数据处理装置还可以使用原始模型与初始量化模型,共同对预设训练样本集合进行处理,得到初始量化模型输出的当前次训练结果,以及原始模型输出的原始模型处理结果,以开始对初始量化模型的训练。
S2022、在当前次训练中,基于当前次训练结果,确定至少两种损失。
本申请实施例中,数据处理装置在当前次训练中,可以基于当前次训练结果,与预设真实目标值和原始模型示范值之间进行差异评估,从而确定至少两种损失。
本申请实施例中,基于图5,S2022的实现过程具体可以如图6所示,通过S301-S304实现,如下:
S301、将当前次训练结果与预设真实目标值之间的差异,作为第一损失。
本申请实施例中,数据处理装置将训练处理结果与预设真实目标值之间的差异,作为第一损失。
S302、当原始模型示范值包括原始模型处理结果时,将原始模型处理结果与当前次训练结果之间的差异,作为第二损失。
本申请实施例中,在S202中基于预设损失函数,对初始量化模型进行迭代训练,得到目标量化模型之前,数据处理装置可以使用原始模型对预设训练样本集合进行处理,并获取原始模型的输出层输出的第一最终处理结果,作为原始模型处理结果;或者,使用原始模型对预设训练样本集合进行处理,获取原始模型的中间层输出的第一中间处理结果,作为原始模型处理结果。
本申请实施例中,对应于数据处理装置获取第一最终处理结果作为原始模型处理结果的情况,即当原始模型处理结果为第一最终处理结果时,S2021中基于初始量化模型,对预设训练样本集合进行处理,得到初始量化模型输出的当前次训练结果的方法相应的为:使用初始量化模型对预设训练样本集合进行处理,并获取初始量化模型的输出层输出的第二最终处理结果,作为当前次训练结果。
本申请实施例中,对应于数据处理装置获取第一中间处理结果作为原始模型处理结果的情况,即当原始模型处理结果为第一中间处理结果时,S2021中基于初始量化模型,对预设训练样本集合进行处理,得到初始量化模型输出的当前次训练结果的方法相应的为:使用初始量化模型对预设训练样本集合进行处理,并获取初始量化模型的中间层输出的第二中间处理结果,作为当前次训练结果。
也就是说,本申请实施例中,当原始模型示范值包括原始模型处理结果时,数据处理装置可以将第一最终结果与第二最终结果之间的差异,作为第二损失,也可以将第一中间结果与第二中间结果之间的差异,作为第二损失。
S303、当原始模型示范值包括原始模型权重分布时,将原始模型的权重分布与初始量化模型的权重分布之间的差异,作为第三损失。
本申请实施例中,由于初始量化模型可以是对原始模型网络参数进行量化压缩得到的,因此初始量化模型与原始模型的网络架构相同。其中,原始模型包含至少一层原始网络层,初始量化模型包含至少一层量化网络层,至少一层原始网络层的网络架构与至少一层量化网络层的网络架构一一对应。基于相同的网络层结构,初始量化模型可以在训练中对应学习到原始模型的权重分布,以更快的完成训练过程,并提高最终训练结果的精度。
在本申请的一些实施例中,当原始模型示范值包括原始模型权重分布时,数据处理装置将原始模型的权重分布与初始量化模型的权重分布之间的差异,作为第三损失具体可以通过S3031-S3034实现,如下:
S3031、当原始模型示范值包括原始模型权重分布时,对于至少一层原始网络层中的每层原始网络层,获取每层原始网络层的第一权重分布数据。
本申请实施例中,当原始模型示范值包括原始模型权重分布时,数据处理装置获取原始模型的至少一层原始网络层中,每层原始网络层的权重分布数据,示例性的,每层原始网络层的权重矩阵,作为第一权重分布数据。
S3032、在至少一层量化网络层中,对于每层原始网络层对应的每层量化网络层,获取每层量化网络层的第二权重分布数据。
本申请实施两种,由于至少一层原始网络层与至少一层量化网络层是一一对应的,数据处理装置在初始量化模型的至少一层量化网络层中,对于每层原始网络层所对应的每层量化网络层,获取每层量化网络层的权重分布数据,示例性的,每层量化网络层的权重矩阵,作为第二权重分布数据。
S3033、计算每个第一权重分布数据与其对应的第二权重分布数据之间的差异,从而得到至少一个权重差异。
本申请实施例中,数据处理装置一一对应计算第一权重分布数据与第二权重分布数据之间的差异,从而得到至少一个权重差异。
S3034、将至少一个权重分布差异的总和作为第三损失。
本申请实施例中,数据处理装置将至少一个权重分布差异的总和作为第三损失;第三损失表征初始量化模型与原始模型在网络参数配置上的差异。
在一些实施例中,原始模型为浮点类型网络模型,原始模型包含至少一层原始网络层1,2…n;初始量化模型为定点类型网络模型,初始量化模型包含至少一层量化网络层1,2…n;如图6所示。数据处理装置可以对应计算原始网络层1权重分布与量化网络层1权重分布之间的差异1,以及计算原始网络层2权重分布与量化网络层2权重分布之间的差异2,如此一一对应计算直至计算出原始网络层n权重分布与量化网络层n权重分布之间的差异n,数据处理装置可以将差异1与差异2直至差异n的总和作为第三损失。
在一些实施例中,图7同样示出了数据处理装置根据原始模型输出的原始模型处理结果,以及初始量化模型输出当前次训练结果,将原始模型处理结果与当前次训练结果之间的差异作为第二损失。
S304、将第二损失与第三损失中的至少一项,以及第一损失作为至少两种损失。
本申请实施例中,数据处理装置可以根据实际训练的需要设置的损失项,根据上述方法,计算得到第二损失与第三损失中的至少一项,以及第一损失,从而得到至少两种损失。
S2023、根据至少两种损失,确定当前次训练中与至少两种损失对应的至少两种权重因子。
本申请实施例中,数据处理装置可以对第一损失、以及第二损失与第三损失中的至少一项所各自对应的权重因子进行动态调整,实现先示教、再与预设真实目标值比较的两阶段训练方法,以加速量化模型的收敛速度,提升量化模型的精度。
本申请实施例中,数据处理装置可以基于当前次训练中计算出的第二损失和/或第三损失的值,确定当前次训练中的第一权重因子、以及第二权重因子与第三权重因子中的至少一项,以实现在训练过程中通过动态调整不同损失对应的权重,使得初始量化模型对高权重的损失对应的训练目标进行重点学习。
在本申请的一些实施例中,数据处理装置可以基于当前次训练中第二损失和/或第三损失相较于上一次训练的收敛速度,对上一次训练中的第一权重因子、以及第二权重因子与第三权重因子中的至少一项的值进行调整。
在一些实施例中,在训练过程中,当数据处理装置发现第二损失和/或第三损失的收敛速度从快速到放缓时,说明初始量化模型已经接近了第二损失和/或第三损失相应的训练目标。数据处理装置可以在其后的每轮训练中,对应的逐渐减小第二权重因子和/或第三权重因子的权重,同时逐渐增加其他未收敛的损失对应的权重因子,以使得初始量化模型的学习重点可以根据训练进度自动实时调整,从而确定出该轮训练中的第一权重因子、以及第二权重因子与第三权重因子中的至少一项。
在本申请的一些实施例中,基于图6,S2023可以如图8所示,通过S401-S402实现,如下:
S401、当当前次训练为首次训练时,将第一权重因子确定为零。
本申请实施例中,第一权重因子为第一损失对应的权重,在首次训练时,数据处理装置先将第一权重因子置零,即在训练初期先不考虑将初始量化模型的训练处理结果与预设真实目标值对比,而是先对原始模型示范值进行学习。
S402、根据预设总权重值确定第二权重因子和/或第三权重因子,以使第二权重因子和/或第三权重因子的总和为预设总权重值。
本申请实施例中,第二权重因子为预设损失函数中第二损失对应的权重;第三权重因子为预设损失函数中第三损失对应的权重。在首次训练时,数据处理装置对第二权重因子和/或第三权重因子进行初始化,使得第二权重因子和/或第三权重因子的总和为预设总权重值。
本申请实施例中,数据处理装置根据完成初始化的第一权重因子、以及第二权重因子与第三权重因子中的至少一项,对应计算出首次训练的综合损失,根据首次训练的综合损失对初始量化模型的网络参数进行调整后,进入下一轮训练。
可以理解的是,首次训练的综合损失主要是通过第二损失和/或第三损失计算得到的,从而实现了在对初始量化模型进行训练的前期快速学习原始模型,提升训练过程的收敛速度。
在一些实施例中,当预设总权重值为1时,第二权重因子可以初始化为0.6,第三权重因子可以初始化为1。
在本申请的一些实施例中,如图8所示,S2023还可以通过S403-S405实现,如下:
S403、当当前次训练为非首次训练时,判断至少两种损失中的第二损失是否小于或等于预设第二损失阈值;或者,判断至少两种损失中的第三损失是否小于或等于预设第三损失阈值。
本申请实施例中,数据处理装置在得到每次训练的第二损失和/或第三损失时,可以判断第二损失是否小于或等于预设第二损失阈值;或者,第三损失是否小于或等于预设第三损失阈值。
本申请实施例中,预设第二损失阈值可以与预设第三损失阈值取相同的值,也可以是分别设定的不同阈值,具体的根据实际情况进行选择,本申请实施例不作限定。
S404、当第二损失小于或等于预设第二损失阈值时,根据上一次训练中第二权重因子确定第一权重因子,并将第二权重因子确定为零。
本申请实施例中,当第二损失小于等于预设第二损失阈值时,说明初始量化模型已经在训练过程中学习到了第二损失对应的训练目标,如原始模型处理结果,因此可以通过减小第二权重因子,增加第一权重因子的方法,使得初始量化模型开始学习预设真实目标值。数据处理装置可以使用上一次训练中第二权重因子对该轮训练中第一权重因子进行赋值,即将上一次训练中第二权重因子的值作为当前次训练中第一权重因子的值,并将当前次训练的第二权重因子置零,从而开始对预设真实目标值的学习。
本申请实施例中,数据处理装置可以在每一轮训练中对上一次训练的权重因子进行调整,也可以在第二损失大于预设第二损失阈值时,不进行权重因子的调整,仅在第二损失小于或等于预设第二损失阈值时将上一次训练的第二权重因子赋值给当前次训练的第一权重因子,并将当前次训练的第二权重因子置零。
需要说明的是,对于在第二损失小于或等于预设第二损失阈值时才进行权重因子调整的情况,其上一次训练的各权重因子的值与各权重因子在初始化时的值相同。
S405、当第三损失小于或等于预设第三损失阈值时,根据上一次训练中第三权重因子确定第一权重因子,并将第三权重因子确定为零。
本申请实施例中,当第三损失小于等于预设第三损失阈值时,说明初始量化模型已经在训练过程中学习到了第三损失对应的训练目标,如原始模型权重分布,因此可以通过减小第三权重因子,增加第一权重因子的方法,使得初始量化模型开始学习预设真实目标值。数据处理装置可以使用上一次训练中第三权重因子对当前次训练中第一权重因子进行赋值,即将上一次训练中第三权重因子的值作为当前次训练中第一权重因子的值,并将当前次训练的第三权重因子置零,从而开始对预设真实目标值的学习。
本申请实施例中,数据处理装置可以在每一轮训练中对上一次训练的权重因子进行调整,也可以在第三损失大于预设第二损失阈值时,不进行权重因子的调整,仅在第三损失小于或等于预设第二损失阈值时将上一次训练的第三权重因子赋值给当前次训练的第一权重因子,并将当前次训练的第三权重因子置零。
需要说明的是,对于在第三损失小于或等于预设第三损失阈值时才进行权重因子调整的情况,其上一次训练的各权重因子的值与各权重因子在初始化时的值相同。
本申请实施例中,数据处理装置在对第一权重因子、第二权重因子以及第三权重因子中的至少一项进行调整时,需要保证第一权重因子、第二权重因子以及第三权重因子中的至少一项的总值等于预设总权重值。示例性的,当预设总权重值为1,原始模型示范值包括原始模型处理结果和原始模型权重分布时,无论在训练过程中数据处理装置如何对第一权重因子、第二权重因子以及第三权重因子进行调整,其三者的总值需要为1。
可以理解的是,本申请实施例中,由于数据处理装置可以在训练过程中动态调整第一权重因子、第二权重因子以及第三权重因子中的至少一项,实现了先示教、再与预设真实目标值比较的两阶段训练方法,因此训练前期的初始量化模型能够快速学习到原始模型示范值,从而提升了训练收敛速度,后期初始量化模型能够大比重学习预设真实目标值,从而进一步提升了目标量化模型精度。
S2024、根据至少两种损失与至少两种权重因子,使用预设损失函数计算得到当前次训练的当前次综合损失;当前次综合损失表征当前次训练结果,与预设真实目标值以及原始模型示范值的综合差异。
本申请实施例中,数据处理装置在确定出当前次训练中的至少两种损失与至少两种权重因子之后,可以通过预设损失函数,示例性的,如公式(2),计算得到当前次训练的当前次综合损失。
本申请实施例中,当前次综合损失为当前次训练中,初始量化模型的训练处理结果与原始模型处理结果的差异、初始量化模型的网络权重分布与原始模型网络权重分布的差异中的至少一项,以及初始量化模型的训练处理结果与预设真实目标值的差异的综合表征。
S2025、当当前次综合损失不满足预设综合损失阈值时,对初始量化模型的网络参数进行调整后,继续下一次训练直至第N次综合损失满足预设综合损失阈值时,得到目标量化模型,第N次为当前次之后的最后一次训练。
本申请实施例中,数据处理装置得到当前次训练的综合损失后,判断当前次综合损失是否满足预设综合损失阈值。当当前次综合损失不满足预设综合损失阈值时,数据处理装置以最小化当前次综合损失为优化目标,对当前次训练的初始量化模型的网络参数进行调整,并基于调整后的网络参数进行下一次训练;数据处理装置以上述方式对初始量化模型的网络参数进行迭代更新,直至至第N次综合损失满足预设综合损失阈值时,训练结束,得到目标量化模型。其中,第N次为当前次之后的最后一次训练。
需要说明的是,本申请实施例中,也可以将预设训练次数作为结束训练的预设条件,具体的根据实际情况进行设定,本申请实施例不作限定。
可以理解的是,本申请实施例中,数据处理装置在初始量化模型的训练目标中引入了原始模型的处理结果与原始模型权重分布中的至少一项,并可以通过设置预设真实目标值与原始模型示范值各自对应的权重,对初始量化模型每轮的训练损失进行综合评估,进而能够实现根据综合评估得到的综合损失,对初始量化模型每轮训练的网络参数进行更有效率的调整,从而提高了训练初始量化模型的收敛速度,并提高了最终训练得到的目标量化模型进行多媒体数据处理的精度。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。当原始模型示范值包括原始模型处理结果与原始模型权重分布时,本申请实施例提供一种模型量化和训练的方法可以如图9所示,如下:
S501、对原始模型进行线性量化,得到初始量化模型。
本申请实施例中,数据处理装置对原始模型进行线性量化,得到初始量化模型与S201中量化压缩的过程描述一致,此处不再赘述。
S502、对初始量化模型进行重新训练。
本申请实施例中,数据处理装置初始量化模型进行重新训练,以提高初始量化模型的精度。具体的,S502的训练过程可以由S5021-S5027实现,如下:
S5021、将预设训练样本集合输入原始模型与初始量化模型。
S5022、在一次训练中,使用初始量化模型进行推理计算,得到当前次训练结果。
S5023、使用原始模型进行推理计算,得到原始模型处理结果。
本申请实施例中,S5021-S5023的实现过程与S2021描述一致,此处不再赘述。
S5024、基于当前次训练处理结果,根据预设真实目标值、原始模型处理结果与原始模型权重分布,计算得到第一损失、第二损失与第三损失。
本申请实施例中,S5024的实现过程与S2022描述一致,此处不再赘述。
S5025、根据第二损失与第三损失,确定当前次训练的第一权重因子、第二权重因子与第三权重因子。
本申请实施例中,S5025的实现过程与S2023描述一致,此处不再赘述。
S5026、通过第一损失、第二损失与第三损失,以及第一权重因子、第二权重因子与第三权重因子,通过预设损失函数计算当前次综合损失。
本申请实施例中,S5026的实现过程与S2024描述一致,此处不再赘述。
S5027、判断当前次综合损失是否满足预设综合损失阈值,当初始量化模型的当前次综合损失满足预设综合损失阈值时,执行S503,否则,执行S5028。
S5028、对初始量化模型的网络参数进行调整后,继续跳转至S5021进行下一次训练。
S503、结束训练,得到目标量化模型。
本申请实施例中,S5027-S503的实现过程与S2025描述一致,此处不再赘述。
可以理解的是,本申请实施例中,数据处理装置在初始量化模型的训练目标中引入了原始模型的处理结果与原始模型权重分布中的至少一项,并可以通过设置预设真实目标值与原始模型示范值各自对应的权重,对初始量化模型每轮的训练损失进行综合评估,进而能够实现根据综合评估得到的综合损失,对初始量化模型每轮训练的网络参数进行更有效率的调整,从而提高了训练初始量化模型的收敛速度,并提高了最终训练得到的目标量化模型进行多媒体数据处理的精度。
本申请实施例提供一种数据处理装置,图10是本申请实施例提供的数据处理装置的结构示意图,如图10所示,数据处理装置1包括:获取单元11,用于获取待处理多媒体数据;模型处理单元12,用于使用目标量化模型对所述待处理多媒体数据进行处理,得到目标处理结果;所述目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;所述原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;
其中,所述初始量化模型通过对原始模型进行量化压缩得到;所述原始模型为对所述待处理多媒体数据进行处理的第一精度类型的网络模型;所述初始量化模型为第二精度类型的网络模型,所述第一精度类型的精度高于所述第二精度类型;所述原始模型处理结果通过所述原始模型对预设训练样本集合进行处理得到;所述原始模型权重分布表征原始模型的网络层的权重分布。
在一些实施例中,所述数据处理装置1还包括压缩单元与模型训练单元,所述压缩单元,用于对所述原始模型进行量化压缩,得到所述初始量化模型;所述模型训练单元,用于使基于预设损失函数,对所述初始量化模型进行迭代训练,得到所述目标量化模型;所述预设损失函数为对训练过程中的至少两种损失与对应的至少两种权重因子进行加权求和的函数;其中,所述至少两种损失基于将所述初始量化模型的每次训练结果,与所述预设真实目标值和所述原始模型示范值分别进行差异评估得到,所述至少两种权重因子表征所述至少两种损失在所述预设损失函数中的占比。
在一些实施例中,所述模型训练单元,还用于基于所述初始量化模型,对所述预设训练样本集合进行处理,得到所述初始量化模型输出的当前次训练结果;在当前次训练中,基于所述当前次训练结果,确定所述至少两种损失;根据所述至少两种损失,确定所述当前次训练中与所述至少两种损失对应的所述至少两种权重因子;根据所述至少两种损失与所述至少两种权重因子,使用所述预设损失函数计算得到所述当前次训练的当前次综合损失;所述当前次综合损失表征当前次训练结果,与所述预设真实目标值以及所述原始模型示范值的综合差异;当所述当前次综合损失不满足预设综合损失阈值时,对所述初始量化模型的网络参数进行调整后,继续下一次训练直至第N次综合损失满足所述预设综合损失阈值时,得到所述目标量化模型,第N次为当前次之后的最后一次训练。
在一些实施例中,所述模型训练单元,还用于将所述当前次训练结果与所述预设真实目标值之间的差异,作为第一损失;当所述原始模型示范值包括所述原始模型处理结果时,将所述原始模型处理结果与所述当前次训练结果之间的差异,作为第二损失;当所述原始模型示范值包括所述原始模型权重分布时,将所述原始模型的权重分布与所述初始量化模型的权重分布之间的差异,作为第三损失;将所述第二损失与所述第三损失中的至少一项,以及所述第一损失作为所述至少两种损失。
在一些实施例中,所述原始模型包含至少一层原始网络层,所述初始量化模型包含至少一层量化网络层,所述至少一层原始网络层的网络架构与所述至少一层量化网络层的网络架构一一对应;所述模型训练单元,还用于当所述原始模型示范值包括所述原始模型权重分布时,对于所述至少一层原始网络层中的每层原始网络层,获取所述每层原始网络层的第一权重分布数据;在所述至少一层量化网络层中,对于所述每层原始网络层对应的每层量化网络层,获取所述每层量化网络层的第二权重分布数据;计算每个第一权重分布数据与其对应的第二权重分布数据之间的差异,从而得到至少一个权重差异;将所述至少一个权重分布差异的总和作为所述第三损失。
在一些实施例中,所述模型训练单元,还用于基于预设损失函数,对所述初始量化模型进行迭代训练,得到所述目标量化模型之前,使用所述原始模型对所述预设训练样本集合进行处理,并获取所述原始模型的输出层输出的第一最终处理结果,作为所述原始模型处理结果;或者,使用所述原始模型对所述预设训练样本集合进行处理,获取所述原始模型的中间层输出的第一中间处理结果,作为所述原始模型处理结果。
在一些实施例中,当所述原始模型处理结果为所述第一最终处理结果时,所述模型训练单元,还用于使用所述初始量化模型对所述预设训练样本集合进行处理,并获取所述初始量化模型的输出层输出的第二最终处理结果,作为所述当前次训练结果;当所述原始模型处理结果为所述第一中间处理结果时,所述模型训练单元,还用于使用所述初始量化模型对所述预设训练样本集合进行处理,并获取所述初始量化模型的中间层输出的第二中间处理结果,作为所述当前次训练结果。
在一些实施例中,所述至少两种权重因子包括第二权重因子与第三权重因子中的至少一项,以及第一权重因子,所述第一权重因子为所述预设损失函数中第一损失对应的权重,所述第二权重因子为所述预设损失函数中第二损失对应的权重,所述第三权重因子为所述预设损失函数中第三损失对应的权重;所述模型训练单元,还用于当所述当前次训练为首次训练时,将所述第一权重因子确定为零;根据预设总权重值确定所述第二权重因子和/或第三权重因子,以使所述第二权重因子和/或所述第三权重因子的总和为预设总权重值。
在一些实施例中,所述模型训练单元,还用于当所述当前次训练为非首次训练时,判断所述至少两种损失中的第二损失是否小于或等于预设第二损失阈值;或者,判断所述至少两种损失中的第三损失是否小于或等于预设第三损失阈值;当所述第二损失小于或等于所述预设第二损失阈值时,根据上一次训练中所述第二权重因子确定所述第一权重因子,并将所述第二权重因子确定为零;当所述第三损失小于或等于所述预设第三损失阈值时,根据上一次训练中所述第三权重因子确定所述第一权重因子,并将所述第三权重因子确定为零。
在一些实施例中,所述压缩单元,还用于将所述原始模型的原始网络参数按预设比例进行量化处理,得到目标参数类型的网络参数;所述目标参数类型的比特位数低于所述原始网络参数的比特位数;将所述目标参数类型的网络参数对应的网络模型作为所述初始量化模型。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例还提供一种数据处理装置,图11是本申请实施例提供的数据处理装置2的结构示意图,如图11所示,数据处理装置2包括:存储器23和处理器24,其中,存储器23和处理器24通过通信总线25连接;存储器23,用于存储可执行指令或可执行计算机程序;处理器24,用于执行存储器23中存储的可执行指令或可执行计算机程序时,实现本申请实施例提供的方法,例如,本申请实施例提供的数据处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器24执行时,实现本申请实施例提供的方法,例如,本申请实施例提供的数据处理方法。
在本申请的一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在本申请的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
获取待处理多媒体数据;
使用目标量化模型对所述待处理多媒体数据进行处理,得到目标处理结果;所述目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;所述原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;
其中,所述初始量化模型通过对原始模型进行量化压缩得到;所述原始模型为对所述待处理多媒体数据进行处理的第一精度类型的网络模型;所述初始量化模型为第二精度类型的网络模型,所述第一精度类型的精度高于所述第二精度类型;所述原始模型处理结果通过所述原始模型对预设训练样本集合进行处理得到;所述原始模型权重分布表征原始模型的网络层的权重分布。
2.根据权利要求1所述的方法,其特征在于,所述使用目标量化模型对所述待处理多媒体数据进行处理,得到目标处理结果之前,所述方法还包括:
对所述原始模型进行量化压缩,得到所述初始量化模型;
基于预设损失函数,对所述初始量化模型进行迭代训练,得到所述目标量化模型;所述预设损失函数为对训练过程中的至少两种损失与对应的至少两种权重因子进行加权求和的函数;其中,所述至少两种损失基于将所述初始量化模型的每次训练结果,与所述预设真实目标值和所述原始模型示范值分别进行差异评估得到,所述至少两种权重因子表征所述至少两种损失在所述预设损失函数中的占比。
3.根据权利要求2所述的方法,其特征在于,所述基于预设损失函数,对所述初始量化模型进行迭代训练,得到所述目标量化模型,包括:
基于所述初始量化模型,对所述预设训练样本集合进行处理,得到所述初始量化模型输出的当前次训练结果;
在当前次训练中,基于所述当前次训练结果,确定所述至少两种损失;
根据所述至少两种损失,确定所述当前次训练中与所述至少两种损失对应的所述至少两种权重因子;
根据所述至少两种损失与所述至少两种权重因子,使用所述预设损失函数计算得到所述当前次训练的当前次综合损失;所述当前次综合损失表征当前次训练结果,与所述预设真实目标值以及所述原始模型示范值的综合差异;
当所述当前次综合损失不满足预设综合损失阈值时,对所述初始量化模型的网络参数进行调整后,继续下一次训练直至第N次综合损失满足所述预设综合损失阈值时,得到所述目标量化模型,第N次为当前次之后的最后一次训练。
4.根据权利要求3所述的方法,其特征在于,所述在当前次训练中,基于所述当前次训练结果,确定所述至少两种损失,包括:
将所述当前次训练结果与所述预设真实目标值之间的差异,作为第一损失;
当所述原始模型示范值包括所述原始模型处理结果时,将所述原始模型处理结果与所述当前次训练结果之间的差异,作为第二损失;
当所述原始模型示范值包括所述原始模型权重分布时,将所述原始模型的权重分布与所述初始量化模型的权重分布之间的差异,作为第三损失;
将所述第二损失与所述第三损失中的至少一项,以及所述第一损失作为所述至少两种损失。
5.根据权利要求4所述的方法,其特征在于,所述原始模型包含至少一层原始网络层,所述初始量化模型包含至少一层量化网络层,所述至少一层原始网络层的网络架构与所述至少一层量化网络层的网络架构一一对应;所述当所述原始模型示范值包括所述原始模型权重分布时,将所述原始模型的权重分布与所述初始量化模型的权重分布之间的差异,作为第三损失,包括:
当所述原始模型示范值包括所述原始模型权重分布时,对于所述至少一层原始网络层中的每层原始网络层,获取所述每层原始网络层的第一权重分布数据;
在所述至少一层量化网络层中,对于所述每层原始网络层对应的每层量化网络层,获取所述每层量化网络层的第二权重分布数据;
计算每个第一权重分布数据与其对应的第二权重分布数据之间的差异,从而得到至少一个权重差异;
将所述至少一个权重分布差异的总和作为所述第三损失。
6.根据权利要求2-4任一项所述的方法,其特征在于,基于预设损失函数,对所述初始量化模型进行迭代训练,得到所述目标量化模型之前,所述方法还包括:
使用所述原始模型对所述预设训练样本集合进行处理,并获取所述原始模型的输出层输出的第一最终处理结果,作为所述原始模型处理结果;
或者,使用所述原始模型对所述预设训练样本集合进行处理,获取所述原始模型的中间层输出的第一中间处理结果,作为所述原始模型处理结果。
7.根据权利要求6所述的方法,其特征在于,当所述原始模型处理结果为所述第一最终处理结果时,所述基于所述初始量化模型,对所述预设训练样本集合进行处理,得到所述初始量化模型输出的当前次训练结果,包括:
使用所述初始量化模型对所述预设训练样本集合进行处理,并获取所述初始量化模型的输出层输出的第二最终处理结果,作为所述当前次训练结果;
当所述原始模型处理结果为所述第一中间处理结果时,所述基于所述初始量化模型,对所述预设训练样本集合进行处理,得到所述初始量化模型输出的当前次训练结果,包括:
使用所述初始量化模型对所述预设训练样本集合进行处理,并获取所述初始量化模型的中间层输出的第二中间处理结果,作为所述当前次训练结果。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述至少两种权重因子包括第二权重因子与第三权重因子中的至少一项,以及第一权重因子,所述第一权重因子为所述预设损失函数中第一损失对应的权重,所述第二权重因子为所述预设损失函数中第二损失对应的权重,所述第三权重因子为所述预设损失函数中第三损失对应的权重;
所述根据所述至少两种损失,确定当前次训练中与所述至少两种损失对应的所述至少两种权重因子,包括:
当所述当前次训练为首次训练时,将所述第一权重因子确定为零;
根据预设总权重值确定所述第二权重因子和/或第三权重因子,以使所述第二权重因子和/或所述第三权重因子的总和为预设总权重值。
9.根据权利要求8所述的方法,其特征在于,所述根据所述至少两种损失,确定当前次训练中与所述至少两种损失对应的所述至少两种权重因子,包括:
当所述当前次训练为非首次训练时,判断所述至少两种损失中的第二损失是否小于或等于预设第二损失阈值;或者,判断所述至少两种损失中的第三损失是否小于或等于预设第三损失阈值;
当所述第二损失小于或等于所述预设第二损失阈值时,根据上一次训练中所述第二权重因子确定所述第一权重因子,并将所述第二权重因子确定为零;
当所述第三损失小于或等于所述预设第三损失阈值时,根据上一次训练中所述第三权重因子确定所述第一权重因子,并将所述第三权重因子确定为零。
10.根据权利要求2所述的方法,所述对所述原始模型进行量化压缩,得到所述初始量化模型,包括:
将所述原始模型的原始网络参数按预设比例进行量化处理,得到目标参数类型的网络参数;所述目标参数类型的比特位数低于所述原始网络参数的比特位数;
将所述目标参数类型的网络参数对应的网络模型作为所述初始量化模型。
11.一种数据处理装置,其特征在于,包括:
获取单元,用于获取待处理多媒体数据;
模型处理单元,用于使用目标量化模型对所述待处理多媒体数据进行处理,得到目标处理结果;所述目标量化模型为对初始量化模型使用预设真实目标值与原始模型示范值共同训练得到的;所述原始模型示范值包括原始模型处理结果与原始模型权重分布中的至少一项;
其中,所述初始量化模型通过对原始模型进行量化压缩得到;所述原始模型为对所述待处理多媒体数据进行处理的第一精度类型的网络模型;所述初始量化模型为第二精度类型的网络模型,所述第一精度类型的精度高于所述第二精度类型;所述原始模型处理结果通过所述原始模型对预设训练样本集合进行处理得到;所述原始模型权重分布表征原始模型的网络层的权重分布。
12.一种数据处理装置,其特征在于,包括:
存储器,用于存储可执行数据指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010924171.9A CN114153998A (zh) | 2020-09-04 | 2020-09-04 | 一种数据处理方法及装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010924171.9A CN114153998A (zh) | 2020-09-04 | 2020-09-04 | 一种数据处理方法及装置、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153998A true CN114153998A (zh) | 2022-03-08 |
Family
ID=80460577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010924171.9A Pending CN114153998A (zh) | 2020-09-04 | 2020-09-04 | 一种数据处理方法及装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153998A (zh) |
-
2020
- 2020-09-04 CN CN202010924171.9A patent/CN114153998A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754066B (zh) | 用于生成定点型神经网络的方法和装置 | |
CN110969251B (zh) | 基于无标签数据的神经网络模型量化方法及装置 | |
CN109002889B (zh) | 自适应迭代式卷积神经网络模型压缩方法 | |
KR20190034985A (ko) | 인공 신경망의 양자화 방법 및 장치 | |
KR20210064303A (ko) | 트레이닝된 장단기 메모리 신경망 양자화 | |
CN111091184B (zh) | 一种深度神经网络的量化方法、装置、电子设备及介质 | |
EP4087239A1 (en) | Image compression method and apparatus | |
CN111985495A (zh) | 模型部署方法、装置、***及存储介质 | |
CN113610232A (zh) | 网络模型量化方法、装置、计算机设备以及存储介质 | |
CN111105017A (zh) | 神经网络量化方法、装置及电子设备 | |
CN109663359B (zh) | 游戏智能体训练的优化方法、装置、终端设备与存储介质 | |
CN114429208A (zh) | 基于残差结构剪枝的模型压缩方法、装置、设备及介质 | |
CN115761830A (zh) | 人脸识别模型量化训练方法、装置、设备及存储介质 | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
KR102368590B1 (ko) | 전자 장치 및 그 제어 방법 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
CN113408704A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN117273092A (zh) | 一种模型量化方法、装置、电子设备及存储介质 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
CN114830137A (zh) | 用于生成预测模型的方法和*** | |
CN114153998A (zh) | 一种数据处理方法及装置、计算机可读存储介质 | |
CN116306879A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN117348837A (zh) | 浮点精度模型的量化方法、装置、电子设备以及存储介质 | |
CN113157453A (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 |