CN112766492A - 模型处理方法、装置、电子设备及存储介质 - Google Patents
模型处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112766492A CN112766492A CN202110064239.5A CN202110064239A CN112766492A CN 112766492 A CN112766492 A CN 112766492A CN 202110064239 A CN202110064239 A CN 202110064239A CN 112766492 A CN112766492 A CN 112766492A
- Authority
- CN
- China
- Prior art keywords
- model
- sample
- loss value
- original
- data
- 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.)
- Withdrawn
Links
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000003672 processing method Methods 0.000 title abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000013139 quantization Methods 0.000 claims abstract description 51
- 230000006835 compression Effects 0.000 claims abstract description 20
- 238000007906 compression Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000003062 neural network model Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 46
- 238000009826 distribution Methods 0.000 claims description 39
- 230000004913 activation Effects 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 11
- 230000001902 propagating effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012821 model calculation Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- 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 Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种模型处理方法、装置、电子设备及存储介质,应用于计算机技术领域,该模型处理方法包括:获取随机赋值的初始样本;通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,其中,所述原始模型根据原始训练样本对神经网络模型训练得到,所述合成样本用于模拟所述原始训练样本;根据所述合成样本,对所述原始模型的模型参数进行微调;对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。本方法通过生成近似原始训练样本的合成样本,来微调和量化模型,可以减少量化误差,提升量化精度。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种模型处理方法、装置、电子设备及存储介质。
背景技术
伴随着人工智能的发展,深度学习在各个领域取得了突破进展,将深度学习的数学模型部署在移动电子设备与嵌入式系统也成为迫切需求。而当前的深度学习模型,主要依靠强大的硬件计算力来不断提升其架构的层次深度,进而得到较好的准确率。
但是,对于现有的嵌入式设备或者大量边缘设备来说,其远远不能承受复杂性较高的数学模型,因此,需要对设备中的深度学习模型进行压缩。
发明内容
鉴于上述问题,本申请提出了一种模型处理方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种模型处理方法,所述方法包括:获取随机赋值的初始样本;通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,其中,所述原始模型根据原始训练样本对神经网络模型训练得到,所述合成样本用于模拟所述原始训练样本;根据所述合成样本,对所述原始模型的模型参数进行微调;对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
第二方面,本申请实施例提供了一种模型处理装置,所述装置包括:样本获取模块,用于获取随机赋值的初始样本;样本生成模块,用于通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,其中,所述原始模型根据原始训练样本对神经网络模型训练得到,所述合成样本用于模拟所述原始训练样本;模型微调模块,用于根据所述合成样本,对所述原始模型的模型参数进行微调;模型量化模块,用于对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的模型处理方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的模型处理方法。
本申请提供的方案,通过获取随机赋值的初始样本,然后通过预先训练好的原始模型,对该初始样本进行迭代更新,以最终更新生成可近似模拟原始训练样本的合成样本,其中,原始模型可根据原始训练样本对神经网络模型训练得到。然后可根据该合成样本,对原始模型的模型参数进行微调,并对微调后的原始模型进行量化压缩,从而可得到压缩后的目标模型。由此,本申请可实现对模型的量化压缩,且不需要原始训练样本的参与,而是通过生成的用于替换原始训练样本的合成样本来对模型进行微调,可以减少因量化压缩而所引起的精度损失,提高量化后模型的准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一个实施例的模型处理方法的一种流程图。
图2示出了根据本申请另一个实施例的模型处理方法的一种流程图。
图3示出了根据本申请另一个实施例的模型处理方法中步骤S220的一种流程图。
图4示出了根据本申请另一个实施例的模型处理方法中步骤S223的一种流程图。
图5示出了根据本申请另一个实施例的模型处理方法中步骤S224的一种流程图。
图6示出了根据本申请又一个实施例的模型处理方法的一种流程图。
图7示出了根据本申请又一个实施例的模型处理方法中步骤S330的一种流程图。
图8示出了根据本申请一个实施例的模型处理装置的一种框图。
图9是本申请实施例的用于执行根据本申请实施例的模型处理方法的电子设备的框图。
图10是本申请实施例的用于保存或者携带实现根据本申请实施例的模型处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在嵌入式设备或者边缘设备侧(如手机端)部署深度学习神经网络时,一个很重要的研究课题就是如何把深度学习神经网络模型进行压缩裁剪,以适应嵌入式设备或者边缘设备侧的低存储空间,以及对模型计算时间效率要求极高的特点。
目前最有效的深度学习神经网络模型压缩裁剪的方法就是量化。量化一般可以分为训练时量化和训练后量化两种形式。
训练时量化是在训练的过程中就引入量化参数,其往往能够得到较小的量化误差,但存在以下限制:首先,由于量化需要介入训练过程,而训练时是需要大量训练样本集的真实数据的,很多时候进行模型部署的工程师往往拿不到这些大量的训练数据集;其次,量化和训练相耦合,一是增加了训练时的工作量,二是进行量化的工程师需要介入训练过程,增加了量化部署模型的难度;然后,针对不同量化位宽的量化,由于介入训练过程,导致实现难度增加。
而训练后量化可以和模型训练过程解耦开,训练完成之后可以直接对模型进行量化,但训练后量化往往量化误差较大,因此,如何提升训练后量化的精度,是一个很重要的研究课题。
发明人经过长期研究发现,可以在训练完成后通过对模型进行微调,来减少量化误差,但由于模型的微调需要原始训练样本的真实数据,而一般情况下往往拿不到这些原始的训练数据集,因此,发明人提出了本申请实施例提供的模型处理方法、装置、服务器、电子设备以及存储介质,可通过生成近似替代原始训练样本集的合成样本,并使用该合成样本来微调模型,从而摆脱了对原始训练数据集的需求,也提升了训练后量化的精度。具体的模型压缩方法在后续的实施例中进行详细的说明。
请参阅图1,图1示出了本申请一个实施例提供的模型处理方法的流程示意图。该模型处理方法可以应用于电子设备。下面将以电子设备为例,说明本实施例的具体流程。下面将针对图1所示的流程进行详细的阐述,所示模型处理方法具体可以包括以下步骤:
步骤S110:获取随机赋值的初始样本。
在本申请实施例中,初始样本可以是在原始模型要求的输入尺寸下,赋值任意随机值得到的输入样本。例如,原始模型要求的输入尺寸为128*128,则初始样本可以是一组随机向量构成的128*128大小的特征图。
在一些实施例中,可以是通过用于产生随机数值的函数也即随机函数,来获取得到初始样本。作为一种方式,该随机函数可以是rand(),以返回一个或一组服从均匀分布的随机样本值。示例性地,可通过算法X=rand(m,n)产生一个m*n的随机变量矩阵,从而可得到一个服从均匀分布的初始样本,其中,m*n可以是原始模型要求的输入尺寸。作为另一种方式,随机函数也可以是randn(),以返回一个或一组服从标准正态分布的随机样本值,以具备很好的解释性。示例性地,可通过算法X=randn(m,n)产生一个m*n的随机变量矩阵,从而得到一个服从标准正态分布的初始样本。
在一些实施例中,可以是获取一个初始样本,也可以是获取多个初始样本。示例性地,可以是通过算法X=randn(batch_size,input_shape)产生batch_size个input_shape尺寸的随机变量矩阵,从而得到batch_size个初始样本,每个初始样本均服从标准正态分布。其中,input_shape可以是原始模型要求的输入尺寸,batch_size可以是批处理样本个数,也即设定随机赋值的初始样本的个数。
步骤S120:通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,所述合成样本用于模拟所述原始训练样本。
在本申请实施例中,可以先获取到预先训练好的原始模型,该原始模型可以是本申请需要进行压缩量化的深度学习神经网络模型。在一些实施例中,该原始模型可以是在电子设备本地预先训练好,也可以是在服务器或其他电子设备上预先训练好,此处不作限定。当在服务器或其他电子设备上预先训练好该原始模型时,电子设备可以从服务器或其他电子设备处获取得到该原始模型。
其中,上述原始模型可以是预先根据大量的原始训练样本对深度神经网络模型训练得到。具体地,原始模型的训练过程可以是:将原始训练样本输入到深度神经网络模型的输入层,经过隐藏层,最后达到输出层并输出结果,以完成网络的前向传播过程;但由于网络的输出结果与实际结果(学习目标)有误差,因此可以计算输出结果与实际结果之间的误差关系(即深度神经网络模型的损失函数),并将该误差从输出层向隐藏层反向传播,直至传播到输入层,以完成网络的反向传播过程,且在反向传播的过程中,可根据误差合理调整深度神经网络的各种参数的值;不断迭代上述过程,直至收敛,从而得到训练好的原始模型。
需要说明的是,上述原始模型的训练可以与普通的深度学习神经网络训练基本相同,但是在训练过程中可以不做任何量化相关工作,也不会将量化带来的每一层的精度误差带入反向传播过程。
在本申请实施例中,在获取到随机赋值的初始样本后,可以通过上述预先训练好的原始模型,对该初始样本进行迭代更新,以得到最终更新生成的与原始训练样本近似的合成样本。
可以理解的是,由于原始模型是根据原始训练样本训练好的成熟的深度学习模型,那么模型中的各种参数是与原始训练样本符合适应的,因此在获取到随机赋值的初始样本后,可以将初始样本输入至原始模型进行前向传播和反向传播,利用原始模型在训练过程中已经迭代学习的各种数据,将该初始样本进行迭代校正更新,当最终迭代校正更新后的合成样本可以与模型中的各种参数符合适应时,可以认为最终更新生成的合成样本接近于,或者说近似于原始训练样本,从而得到可以替代原始训练样本的合成样本。
步骤S130:根据所述合成样本,对所述原始模型的模型参数进行微调。
在本申请实施例中,在得到近似于原始训练样本的合成样本后,可以将该合成样本作为模型微调fine tune的数据,对原始模型的模型参数进行微调。从而无需获取原始训练样本的真实数据,也可有效实现对原始模型的微调。
可以理解的是,如果当前需要应用的场景(如存储空间、算力等有限的移动电子设备),与预先训练好的原始模型适用的原始应用场景不同,原始模型可能无法直接应用于当前场景。因此需要对原始模型进行量化压缩,以使其适应当前的应用场景。然而原始模型训练完成后,直接对训练好的原始模型进行量化压缩,往往量化误差较大。因此,在本申请实施例中,可以在原始模型训练完成后,通过对训练好的原始模型进行微调,来减少量化误差。其中,具体的模型微调在此并不作限定,可以是现有的各种微调方式。
但由于原始模型的微调需要原始训练样本的真实数据,而一般情况下由于隐私问题、法律问题和传输的限制是很难在真实场景中拿到这些原始训练样本的。因此,在本申请实施例中,可以通过前述步骤,生成近似于原始训练样本的合成样本,并将该合成样本作为模型微调fine tune的数据,对原始模型的模型参数进行微调,从而摆脱了对原始训练样本的需求的同时,也减少了后续因量化模型引起的所引起的精度损失。
步骤S140:对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
在本申请实施例中,在得到微调后的原始模型后,可以对该微调后的原始模型进行量化压缩,得到压缩后的目标模型,从而可以将该目标模型应用于存储空间、算力等有限的移动电子设备或其他边缘设备,在提高了模型的适用性的同时,也能保证模型的预测准确度。
在一些实施例中,对微调后的原始模型进行量化压缩,可以是把微调后的原始模型中的权值数据(weighs)从浮点数变成整形数。这样模型大小可以减小为原来的约四分之一(4字节float数据变成了1字节int8数据),且模型计算由浮点数变成了定点数,加上底层硬件设备DSP(Digital Signal Processor,数字信号处理器)/NPU(Neural NetworkProcessing Unit,神经网络处理器)的定点计算加速,可以大大提升移动电子设备或其他边缘设备侧模型计算的效率。
作为一种方式,量化可以是把浮点权值数据的最大最小值线性映射到量化后的定点数最大最小值,从而把数据进行等比例缩放。量化公式如下所示:
其中,r表示输入的浮点数据,q表示量化之后的定点数据,z表示float32数值的偏移量(也称Zero Point)的数值,S表示float32的缩放因子(也称Scale)的数值。其中,B决定了量化位宽,B越小,量化位宽越小,模型量化后的计算速度越快,但是量化误差也就越大。
本申请实施例提供的模型处理方法,通过获取随机赋值的初始样本,然后通过预先训练好的原始模型,对该初始样本进行迭代更新,以最终更新生成可近似模拟原始训练样本的合成样本,其中,原始模型可根据原始训练样本对神经网络模型训练得到。然后可根据该合成样本,对原始模型的模型参数进行微调,并对微调后的原始模型进行量化压缩,从而可得到压缩后的目标模型。由此,本申请可实现对模型的量化压缩,且不需要原始训练样本的参与,而是通过生成的用于替换原始训练样本的合成样本来对模型进行微调,可以减少因量化压缩而所引起的精度损失,提高量化后模型的准确度。
请参阅图2,图2示出了本申请另一个实施例提供的模型处理方法的流程示意图,所示模型处理方法具体可以包括以下步骤:
步骤S210:获取随机赋值的初始样本。
步骤S220:将所述初始样本输入所述原始模型进行前向传播,并根据前向传播结果确定第一损失值。
在一些实施例中,在获取到随机赋值的初始样本之后,可以将该初始样本输入原始模型进行前向传播,并根据前向传播结果确定第一损失值。其中,该第一损失值可以反映模型内部迭代数据与模型实际输出的误差。
在一些实施例中,可以结合原始模型中批量归一化层以及激活层的数据差异,来反映模型内部迭代数据与模型实际输出的误差。具体地,请参阅图3,步骤S220可以包括:
步骤S221:根据前向传播中所述原始模型的输出数据,确定第一因子损失值。
在一些实施例中,将初始样本输入原始模型进行前向传播后,原始模型的输出数据即初始样本的前向推导结果,也可以用来反映模型内部迭代数据与模型实际输出的误差。因此,可以根据在初始样本下,前向传播中原始模型的输出数据,来确定第一因子损失值,以将前向传播中原始模型的输出数据作为用于反向传播的影响因子。
作为一种方式,第一因子损失值Lossi可以是根据下述公式计算得到:
其中,logits为初始样本前向传播中原始模型的输出数据,scale是预设值,比如可以取0.001,其可表征原始模型中各个神经元的重要性。
步骤S222:获取所述初始样本经过所述批量归一化层处理后的第一数据,以及所述初始样本经过所述激活层处理后的第二数据。
在一些实施例中,将初始样本输入原始模型后,初始样本会经过一层层网络计算,使得其数据分布也在发生着变化。因此,原始模型可利用批量归一化层处理层(BatchNorm层),以在深度神经网络训练过程中使得每一层神经网络的输入保持相同的数据分布,然后会通过激活层变化为一个新的数据分布,作为下一层的输入。其中,BatchNorm层可以用于计算/更新输入数据的均值mean,计算/更新输入数据的方差variance,并使用该均值和方差将每个元素标准化,从而使得输出的数据保持相同的数据分布。
由于BatchNorm层中mean和variance参数可以根据原始模型的多次迭代训练,进行实时更新迭代,因此其可以反映模型内部迭代数据统计;而激活层处理之后的数据又往往能反映模型的实际前向推导结果,也即真实统计数据。因此,在本申请实施例中,可以获取初始样本经过批量归一化层处理后的第一数据,以及初始样本经过激活层处理后的第二数据,来反映模型内部迭代数据与模型实际输出的误差。其中,第一数据和第二数据可以是用于分析概率分布的均值数据和方差数据。
步骤S223:计算所述第一数据与第二数据的相似度,得到第二因子损失值。
在一些实施例中,在获取到经过批量归一化层处理后的第一数据,以及经过激活层处理后的第二数据后,可以计算第一数据与第二数据的相似度,得到第二因子损失值,以将以第一数据与第二数据不一致程度,作为用于反向传播的影响因子。其中,相似度可以利用各种可计算数据之间差异的算法得到,此处不作限定。例如,可以是欧式距离,也可以是KL散度(Kullback-Leibler divergence)。
在一些实施例中,上述第一数据可以包括模型内部统计数据的第一均值和第一方差,上述第二数据可以包括真实统计数据的第二均值和第二方差。可以利用KL散度来计算模型内部统计数据与真实统计数据的相似度,也即第二因子损失值Lossp。具体地,请参阅图4,步骤S223可以包括:
步骤S2231:根据所述第一均值和第一方差,确定第一正态分布。
由于现实生活中大多数据都符合正态分布,而正态分布又只依赖于数据集的两个特征:样本的均值和方差。因此,为了便于分析模型内部统计数据与真实统计数据的差异,可以确定出第一数据符合的第一正态分布,以及第二数据符合的第二正态分布,以通过KL散度来度量两个数据分布之间的距离。其中,KL散度又称相对熵(relative entropy),是描述两个概率分布间差异的一种方法。
在一些实施例中,可以获取初始样本的数据经过BatchNorm层时,BatchNorm层计算得到的mean和variance参数,以作为第一均值和第一方差以根据该第一均值和第一方差,确定模型内部统计数据的第一正态分布
步骤S2232:根据所述第二均值和第二方差,确定第二正态分布。
在一些实施例中,可以获取初始样本经过激活层处理后的样本数据,以根据该样本数据计算均值和均方差,并作为评估真实统计数据的第二均值和第二方差然后根据该第二均值和第二方差,确定模型内部统计数据的第二正态分布
步骤S2233:计算所述第一正态分布与第二正态分布之间的相对熵,得到第二因子损失值。
在一些实施例中,在得到第一正态分布和第二正态分布后,可以利用KL散度技术这两个分布的相似度,从而得到第二因子损失值。其中,第二因子损失值Lossp可以利用下述公式计算得到:
步骤S224:根据所述第一因子损失值以及所述第二因子损失值,确定第一损失值。
在一些实施例中,在得到第一因子损失值以及第二因子损失值之后,可以对第一因子损失值以及第二因子损失值进行加权求和,来得到第一损失值。其中,第一损失值Loss可以利用下述公式计算得到:
Loss=α*losss+β*lossi
其中,α、β都是加权预设值,可以根据具体需求合理设置。例如,可以简单设置都取值为1。
在一些实施例中,由于模型的输入的不同,也可以影响反向传播。因此,也可以将模型的输入作为反向传播的一种影响因子。具体地,请参阅图5,步骤S224可以包括:
步骤S2241:计算所述初始样本的先验分布,得到第三因子损失值。
其中,先验分布的意思是我们的经验来看,希望图片是平滑的,即像素与像素之间的灰度差值不会太大,(即不会有太多忽亮忽暗的噪点)。因为算法第一次迭代时,初始样本是初始化为随机值,为了让这些随机值能够尽量更像训练样本(即平滑的图片),可以使用高斯滤波,来滤掉原始输入中的噪点,并且使得不通像素点之间的差值不至于太大,这就是先验分布的作用。因此,可以计算初始样本的先验分布,得到第三因子损失值,以将初始样本的先验分布作为反向传播的影响因子。其中,可以将计算得到的初始样本的先验分布记为lossp。
步骤S2242:对所述第一因子损失值、所述第二因子损失值以及所述第三因子损失值进行加权求和,得到第一损失值。
在一些实施例中,在得到第三因子损失后,可以结合上述第一因子损失值、第二因子损失值,共同确定第一损失值。具体地,可以是对第一因子损失值、第二因子损失值以及第三因子损失值进行加权求和,得到第一损失值,从而综合考虑了模型的输入、在该输入下得到的前向推导结果以及模型内部统计数据与真实统计数据的相似度等多方面对反向传播造成的影响,提高了反向传播过程中,对初始样本迭代更新的效果,保证了最终迭代生成的合成样本与原始训练样本的近似度。
作为一种方式,第一损失值Loss可以利用下述公式计算得到:
Loss=α*losss+β*lossi+γ*lossp
其中,α、β都是加权预设值,可以根据具体需求合理设置。例如,可以简单设置都取值为1。
步骤S230:基于所述第一损失值对所述原始模型进行反向传播,并在反向传播的过程中,更新所述初始样本。
在本申请实施例中,计算得到上述第一损失值后,可以将该第一损失值迭代到原始模型的反向传播过程中,并在反向传播的过程中,可以更新上述初始样本,然后进行下一层的迭代。
可以理解的是,由于第一损失值Loss是由初始样本X经过一系列公式算出来的(Loss=α*losss+β*lossi+γ*lossp,这个公式里的losss、lossi、lossp都和X有关系),因此,这里可以表示为loss=f(x),然后loss对x求导即GX,可以得到一个导数值为0的极值点,而算法迭代的目标是让Loss越来越小,那么我们就需要去不断寻找Loss的极小值点,使得初始样本X越来越接近目标值(原始训练样本),这就是反向传播的过程。上述更新初始样本的过程,可以理解为如何将初始样本接近目标值(原始训练样本),即让初始样本Xi去移动一个步长θ,使得Xi+1到达GX附近,可以理解成初始样本Xi在慢慢的靠近目标值,这就是一次迭代。
步骤S240:判断更新后的所述初始样本是否满足预设条件。若否,则再次执行步骤S220~步骤S240,以实现初始样本的迭代更新;若是,则执行步骤S250。
步骤S250:停止对所述初始样本的更新,得到所述初始样本最终更新生成的合成样本,所述合成样本用于模拟原始训练样本。
在一些实施例中,预设条件可以是迭代次数超过预设次数,即当初始样本的迭代更新次数超过预设次数时,可以结束初始样本的迭代更新,从而得到最终更新生成的合成样本。而当初始样本的迭代更新次数未超过预设次数时,可以将更新生成的初始样本重新输入原始模型,重复上述步骤S220~步骤S240的过程。作为一种方式,可以设定预设次数budget,即算法迭代次数,当Xi中的i<budget时不断循环步骤S220~步骤S240的过程。
在另一些实施例中,预设条件也可以是第一损失值的收敛阈值,即当第一损失值小于该收敛阈值时,可以结束初始样本的迭代更新,从而得到最终更新生成的合成样本。而当第一损失值不小于该收敛阈值时,可以将更新生成的初始样本重新输入原始模型,重复上述步骤S220~步骤S240的过程。
步骤S260:根据所述合成样本,对所述原始模型的模型参数进行微调。
步骤S270:对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
在本申请实施例中,步骤S260和步骤S270可以参阅前述实施例的内容,此处不再赘述。
本申请实施例提供的模型处理方法,通过获取随机赋值的初始样本,然后将该初始样本输入原始模型进行前向传播,以根据前向传播结果确定第一损失值,然后基第一损失值对所述始模型进行反向传播,并在反向传播的过程中,更新该初始样本,重复执行前述将初始样本输入原始模型进行前向传播,并根据前向传播结果确定第一损失值,至基于第一损失值对原始模型进行反向传播,并在反向传播的过程中,更新初始样本的步骤,直到更新后的初始样本满足预设条件,才停止对初始样本的更新,以得到最终更新生成可近似模拟原始训练样本的合成样本。其中,原始模型可根据原始训练样本对神经网络模型训练得到。然后可根据该合成样本,对原始模型的模型参数进行微调,并对微调后的原始模型进行量化压缩,从而可得到压缩后的目标模型。由此,本申请可实现对模型的量化压缩,且不需要原始训练样本的参与,而是通过生成的用于替换原始训练样本的合成样本来对模型进行微调,可以减少因量化压缩而所引起的精度损失,提高量化后模型的准确度。
请参阅图6,图6示出了本申请又一个实施例提供的模型处理方法的流程示意图,所示模型处理方法具体可以包括以下步骤:
步骤S310:获取随机赋值的初始样本。
步骤S320:通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,所述合成样本用于模拟所述原始训练样本。
在本申请实施例中,步骤S310和步骤S320可以参阅前述实施例的内容,此处不再赘述。
步骤S330:将所述合成样本输入所述原始模型进行前向传播,并根据前向传播结果确定第二损失值。
在本申请实施例中,在得到近似于原始训练样本的合成样本,可以将该合成样本作为原始模型fine tune的数据,从而可以提升训练后量化模型的精度。
在一些实施例中,在根据合成样本,微调原始模型的模型参数时,可以考虑卷积核的量化因素,设置Fine tuning的优化目标,以原始模型在微调时兼顾了卷积核量化时的影响,进一步缩小量化误差。具体地,可以将合成样本输入原始模型进行前向传播,并根据前向传播结果确定第二损失值,以根据该第二损失值,对原始模型的模型参数进行更新。其中,模型参数可以包括各个卷积核的权重参数。其中,第二损失值可用于原始模型的反向传播,以提高模型微调的训练效果。
在一些实施例中,可以将关于梯度的L1范数的正则化项添加到损失值中,从而可以得到第二损失值。具体地,请参阅图7,步骤S330可以包括:
步骤S331:获取所述合成样本经过所述激活层处理后的第三数据。
在一些实施例中,在获取到近似于原始训练样本的合成样本后,可以将该合成样本输入原始模型进行前向传播。在前向传播过程中,可以获取合成样本经过原始模型的激活层处理后的第三数据。
步骤S332:根据所述原始模型的权重数据以及所述第三数据,确定第四因子损失值。
步骤S333:对所述第四因子损失值的梯度的L1范数进行正则化处理,得到第五因子损失值。
步骤S334:对所述第四因子损失值以及所述第五因子损失值进行加权求和,得到第二损失值。
由于训练后量化的量化噪声来自模型的权重数据以及激活层之后的数据,因此,可以将模型的权重数据以及激活层之后的数据作为反向传播的影响因子,以在反向传播过程中,对原始模型的模型参数进行微调,使得模型在微调时可以兼顾卷积核量化和激活层量化的影响。具体地,可以根据所述原始模型的权重数据以及所述第三数据,确定微调原始模型的损失函数LCE(W,Y;x),也即第四因子损失值。其中,W为所有卷积核的权重参数,Y为所述合成样本经过所有激活层处理后输出的数据,x为输入的合成样本。
在一些实施例中,在得到第四因子损失值后,可以对该第四因子损失值的梯度的L1范数进行正则化处理,得到第五因子损失值,然后对第四因子损失值以及第五因子损失值进行加权求和,可以得到第二损失值,以实现对微调原始模型的损失函数LCE(W,Y;x)进行正则化处理。其中,正则化处理,可以理解为是在第二损失值中加入关于梯度的L1范数正则项。
具体地,第二损失值可以通过下述公式计算得到:
步骤S340:判断所述第二损失值是否满足预设收敛条件。若否,则执行步骤S350后,再执行步骤S330和步骤S340,以进行模型的迭代训练。若是,则执行步骤S360。
步骤S350:基于所述第二损失值对所述原始模型进行反向传播,并在反向传播的过程中,对所述原始模型的模型参数进行微调。
步骤S360:停止对所述原始模型的模型参数进行微调,得到微调后的原始模型。
在一些实施例中,在得到微调原始模型的优化目标第二损失值后,可以根据该第二损失值,调整原始模型的模型参数。具体地,可以判断第二损失值是否满足预设收敛条件。其中,预设收敛条件可以理解为模型的微调训练的结束条件。该预设收敛条件可以是一个预设阈值,当第二损失值小于该预设阈值时,可判定第二损失值满足预设收敛条件,否则不满足。可以理解的是,预设阈值越小,模型微调训练的要求越高,最终第二损失值满足预设收敛条件的模型可实现的效果可以越好。
在本申请实施例中,在第二损失值满足预设收敛条件时,可以停止原始模型的模型参数进行微调,得到微调后的原始模型。在第二损失值不满足预设收敛条件时,可以基于该第二损失值对原始模型进行反向传播,并在反向传播的过程中,对原始模型的模型参数进行微调,并重复上述步骤S330和步骤S340。
由于在原始模型的fine tune迭代过程中,模型参数可根据第二损失值作出调整和优化,并将每次调整参数后得到的模型作为下次训练的原始模型,从而原始模型经过多次迭代后,可以得到模型参数最优化微调后的原始模型。进而可基于该微调后的原始模型进行量化压缩,以进一步减少量化误差。
在一些实施例中,一般地,原始模型训练一定次数时,第二损失值可收敛到最小值附近。具体地,最小值可以是一个预设阈值,以该最小值为中心可设置一个置信度范围,当第二损失值收敛到该置信度范围时,即可认为收敛到最小值附近,进一步可判定第二损失值满足预设收敛条件。
另外,在一些实施例中,原始模型的微调结束条件也可以设定为迭代训练次数超过预设次数,即当训练次数超过预设次数时,结束模型微调,从而得到微调后的原始模型。
步骤S370:对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
在本申请实施例中,步骤S370可以参阅前述实施例的内容,此处不再赘述。
本申请实施例提供的模型处理方法,通过获取随机赋值的初始样本,然后通过预先训练好的原始模型,对该初始样本进行迭代更新,以最终更新生成可近似模拟原始训练样本的合成样本,其中,原始模型可根据原始训练样本对神经网络模型训练得到。然后可将该合成样本输入原始模型进行前向传播,并根据前向传播结果确定第二损失值,以基于该第二损失值对原始模型进行反向传播,并在反向传播的过程中,对原始模型的模型参数进行微调,直到第二损失值满足预设收敛条件,才停止对原始模型的模型参数进行微调,从而可得到微调后的原始模型,然后再对微调后的原始模型进行量化压缩,从而可得到压缩后的目标模型。由此,本申请可实现对模型的量化压缩,且不需要原始训练样本的参与,而是通过生成的用于替换原始训练样本的合成样本来对模型进行微调,可以减少因量化压缩而所引起的精度损失,提高量化后模型的准确度。此外,本申请还可通过第二损失值对模型微调过程进行优化,可以进一步缩小量化误差,提升训练后量化模型的精度。
请参阅图8,其示出了本申请实施例提供的一种模型处理装置700的结构框图,该模型处理装置700包括:样本获取模块710、样本生成模块720、模型微调模块730以及模型量化模块740。其中,样本获取模块710用于获取随机赋值的初始样本;样本生成模块720用于通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,其中,所述原始模型根据原始训练样本对神经网络模型训练得到,所述合成样本用于模拟所述原始训练样本;模型微调模块730用于根据所述合成样本,对所述原始模型的模型参数进行微调;模型量化模块740用于对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
在一些实施例中,上述样本生成模块720可以包括第一损失确定单元、样本更新单元以及循环处理单元。其中,第一损失确定单元用于将所述初始样本输入所述原始模型进行前向传播,并根据前向传播结果确定第一损失值;样本更新单元用于基于所述第一损失值对所述原始模型进行反向传播,并在反向传播的过程中,更新所述初始样本;循环处理单元用于重复执行所述将所述初始样本输入所述原始模型进行前向传播,并根据前向传播结果确定第一损失值,至所述基于所述第一损失值对所述原始模型进行反向传播,并在反向传播的过程中,更新所述初始样本的步骤,直到更新后的所述初始样本满足预设条件,停止对所述初始样本的更新,得到所述初始样本最终更新生成的合成样本。
在一些实施例中,上述原始模型可以包括批量归一化层以及激活层,上述第一损失确定单元可以包括第一子单元、数据获取子单元、第二子单元以及计算子单元。其中,第一子单元用于根据前向传播中所述原始模型的输出数据,确定第一因子损失值;数据获取子单元用于获取所述初始样本经过所述批量归一化层处理后的第一数据,以及所述初始样本经过所述激活层处理后的第二数据;第二子单元用于计算所述第一数据与第二数据的相似度,得到第二因子损失值;计算子单元用于根据所述第一因子损失值以及所述第二因子损失值,确定第一损失值。
在一些实施例中,上述第一数据可以包括第一均值和第一方差,上述第二数据可以包括第二均值和第二方差,上述第二子单元可以具体用于:根据所述第一均值和第一方差,确定第一正态分布;根据所述第二均值和第二方差,确定第二正态分布;计算所述第一正态分布与第二正态分布之间的相对熵,得到第二因子损失值。
在一些实施例中,上述计算子单元可以具体用于:计算所述初始样本的先验分布,得到第三因子损失值;对所述第一因子损失值、所述第二因子损失值以及所述第三因子损失值进行加权求和,得到第一损失值。
在一些实施例中,上述模型微调模块730可以包括:第二损失确定单元以及迭代训练单元。其中,第二损失确定单元用于将所述合成样本输入所述原始模型进行前向传播,并根据前向传播结果确定第二损失值;迭代训练单元用于基于所述第二损失值对所述原始模型进行反向传播,并在反向传播的过程中,对所述原始模型的模型参数进行微调,直到所述第二损失值满足预设收敛条件,停止对所述原始模型的模型参数进行微调,得到微调后的原始模型。
在一些实施例中,上述原始模型可以包括激活层,上述第二损失确定单元可以具体用于:获取所述合成样本经过所述激活层处理后的第三数据;根据所述原始模型的权重数据以及所述第三数据,确定第四因子损失值;对所述第四因子损失值的梯度的L1范数进行正则化处理,得到第五因子损失值;对所述第四因子损失值以及所述第五因子损失值进行加权求和,得到第二损失值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请实施例提供的模型处理装置用于实现前述方法实施例中相应的模型处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
请参考图9,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是PC电脑、移动终端、服务器等能够运行应用程序的终端设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120以及一个或多个应用程序,其中,一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个应用程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
可以理解,图9所示结构仅为示例,电子设备100还可以包括比图9所示更多或更少的组件,或是具有与图9所示完全不同的配置。本申请实施例对此没有限制。
请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种模型处理方法,其特征在于,所述方法包括:
获取随机赋值的初始样本;
通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,其中,所述原始模型根据原始训练样本对神经网络模型训练得到,所述合成样本用于模拟所述原始训练样本;
根据所述合成样本,对所述原始模型的模型参数进行微调;
对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
2.根据权利要求1所述的方法,其特征在于,所述通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,包括:
将所述初始样本输入所述原始模型进行前向传播,并根据前向传播结果确定第一损失值;
基于所述第一损失值对所述原始模型进行反向传播,并在反向传播的过程中,更新所述初始样本;
重复执行所述将所述初始样本输入所述原始模型进行前向传播,并根据前向传播结果确定第一损失值,至所述基于所述第一损失值对所述原始模型进行反向传播,并在反向传播的过程中,更新所述初始样本的步骤,直到更新后的所述初始样本满足预设条件,停止对所述初始样本的更新,得到所述初始样本最终更新生成的合成样本。
3.根据权利要求2所述的方法,其特征在于,所述原始模型包括批量归一化层以及激活层,所述根据前向传播结果确定第一损失值,包括:
根据前向传播中所述原始模型的输出数据,确定第一因子损失值;
获取所述初始样本经过所述批量归一化层处理后的第一数据,以及所述初始样本经过所述激活层处理后的第二数据;
计算所述第一数据与第二数据的相似度,得到第二因子损失值;
根据所述第一因子损失值以及所述第二因子损失值,确定第一损失值。
4.根据权利要求3所述的方法,其特征在于,所述第一数据包括第一均值和第一方差,所述第二数据包括第二均值和第二方差,所述计算所述第一数据与第二数据的相似度,得到第二因子损失值,包括:
根据所述第一均值和第一方差,确定第一正态分布;
根据所述第二均值和第二方差,确定第二正态分布;
计算所述第一正态分布与第二正态分布之间的相对熵,得到第二因子损失值。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一因子损失值以及所述第二因子损失值,确定第一损失值,包括:
计算所述初始样本的先验分布,得到第三因子损失值;
对所述第一因子损失值、所述第二因子损失值以及所述第三因子损失值进行加权求和,得到第一损失值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述合成样本,对所述原始模型的模型参数进行微调,包括:
将所述合成样本输入所述原始模型进行前向传播,并根据前向传播结果确定第二损失值;
基于所述第二损失值对所述原始模型进行反向传播,并在反向传播的过程中,对所述原始模型的模型参数进行微调,直到所述第二损失值满足预设收敛条件,停止对所述原始模型的模型参数进行微调,得到微调后的原始模型。
7.根据权利要求6所述的方法,其特征在于,所述原始模型包括激活层,所述根据前向传播结果确定第二损失值,包括:
获取所述合成样本经过所述激活层处理后的第三数据;
根据所述原始模型的权重数据以及所述第三数据,确定第四因子损失值;
对所述第四因子损失值的梯度的L1范数进行正则化处理,得到第五因子损失值;
对所述第四因子损失值以及所述第五因子损失值进行加权求和,得到第二损失值。
8.一种模型处理装置,其特征在于,所述装置包括:
样本获取模块,用于获取随机赋值的初始样本;
样本生成模块,用于通过预先训练好的原始模型,对所述初始样本进行迭代更新,得到最终更新生成的合成样本,其中,所述原始模型根据原始训练样本对神经网络模型训练得到,所述合成样本用于模拟所述原始训练样本;
模型微调模块,用于根据所述合成样本,对所述原始模型的模型参数进行微调;
模型量化模块,用于对所述微调后的原始模型进行量化压缩,得到压缩后的目标模型。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064239.5A CN112766492A (zh) | 2021-01-18 | 2021-01-18 | 模型处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064239.5A CN112766492A (zh) | 2021-01-18 | 2021-01-18 | 模型处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112766492A true CN112766492A (zh) | 2021-05-07 |
Family
ID=75702832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110064239.5A Withdrawn CN112766492A (zh) | 2021-01-18 | 2021-01-18 | 模型处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112766492A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673532A (zh) * | 2021-10-21 | 2021-11-19 | 北京科技大学 | 量化模型的优化方法及装置 |
CN115496200A (zh) * | 2022-09-05 | 2022-12-20 | 中国科学院半导体研究所 | 神经网络量化模型训练方法、装置及设备 |
-
2021
- 2021-01-18 CN CN202110064239.5A patent/CN112766492A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673532A (zh) * | 2021-10-21 | 2021-11-19 | 北京科技大学 | 量化模型的优化方法及装置 |
CN115496200A (zh) * | 2022-09-05 | 2022-12-20 | 中国科学院半导体研究所 | 神经网络量化模型训练方法、装置及设备 |
CN115496200B (zh) * | 2022-09-05 | 2023-09-22 | 中国科学院半导体研究所 | 神经网络量化模型训练方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510067B (zh) | 基于工程化实现的卷积神经网络量化方法 | |
CN110555450B (zh) | 人脸识别神经网络调整方法和装置 | |
CN109002889B (zh) | 自适应迭代式卷积神经网络模型压缩方法 | |
CN111832437B (zh) | 建筑图纸识别方法、电子设备及相关产品 | |
CN111489364B (zh) | 基于轻量级全卷积神经网络的医学图像分割方法 | |
JP2002230514A (ja) | 進化的最適化方法 | |
CN112766492A (zh) | 模型处理方法、装置、电子设备及存储介质 | |
US20210326710A1 (en) | Neural network model compression | |
CN111105017A (zh) | 神经网络量化方法、装置及电子设备 | |
CN111160531A (zh) | 神经网络模型的分布式训练方法、装置及电子设备 | |
CN110991621A (zh) | 一种基于通道数搜索卷积神经网络的方法 | |
Al-Allaf | Improving the performance of backpropagation neural network algorithm for image compression/decompression system | |
CN114429208A (zh) | 基于残差结构剪枝的模型压缩方法、装置、设备及介质 | |
Nakata et al. | Adaptive quantization method for CNN with computational-complexity-aware regularization | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
CN114830137A (zh) | 用于生成预测模型的方法和系统 | |
CN116634162A (zh) | 率失真优化的图像压缩神经网络训练后量化方法 | |
CN115392441A (zh) | 量化神经网络模型的片内适配方法、装置、设备及介质 | |
TWI732467B (zh) | 訓練稀疏連接神經網路的方法 | |
CN114565080A (zh) | 神经网络压缩方法及装置、计算机可读介质、电子设备 | |
CN113570037A (zh) | 神经网络压缩方法及装置 | |
CN114065913A (zh) | 模型量化方法、装置及终端设备 | |
CN112036461A (zh) | 手写数字图像识别方法、装置、设备及计算机存储介质 | |
CN116472538A (zh) | 用于量化神经网络的方法和系统 | |
CN114580625A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210507 |
|
WW01 | Invention patent application withdrawn after publication |