CN116090544A - 神经网络模型的压缩方法、训练方法和处理方法、装置 - Google Patents
神经网络模型的压缩方法、训练方法和处理方法、装置 Download PDFInfo
- Publication number
- CN116090544A CN116090544A CN202310089738.9A CN202310089738A CN116090544A CN 116090544 A CN116090544 A CN 116090544A CN 202310089738 A CN202310089738 A CN 202310089738A CN 116090544 A CN116090544 A CN 116090544A
- Authority
- CN
- China
- Prior art keywords
- processing
- parameters
- target
- parameter
- determining
- 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
- 238000007906 compression Methods 0.000 title claims abstract description 178
- 230000006835 compression Effects 0.000 title claims abstract description 177
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000012549 training Methods 0.000 title claims abstract description 89
- 238000003062 neural network model Methods 0.000 title claims abstract description 81
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 316
- 238000009826 distribution Methods 0.000 claims abstract description 73
- 230000004913 activation Effects 0.000 claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 105
- 238000013139 quantization Methods 0.000 claims description 40
- 238000007477 logistic regression Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000003058 natural language processing Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000000265 homogenisation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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是根据本公开第一实施例的确定待量化参数的原理示意图;
图4是根据本公开第二实施例的确定待量化参数的原理示意图;
图5是根据本公开第三实施例的确定待量化参数的原理示意图;
图6是根据本公开实施例的压缩模型的训练方法的流程示意图;
图7是根据本公开实施例的压缩模型对多媒体数据进行处理的原理示意图;
图8是根据本公开实施例的多媒体数据的处理方法的流程示意图;
图9是根据本公开实施例的神经网络模型的压缩装置的结构框图;
图10是根据本公开实施例的压缩模型的训练装置的结构框图;
图11是根据本公开实施例的多媒体数据的处理装置的结构框图;以及
图12是用来实施本公开实施例的方法的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在自然语言处理领域,几乎每项任务中都能看见预训练语言模型成功的身影。预训练语言模型例如可以包括基于Transformer等构建的模型。该预训练语言模型可以使用自监督学习的方法来从大规模文本数据中学习普适性的语言表征。然后将学习到的知识迁移到下游任务中,为下游任务提供优质的背景知识。另外,在计算机视觉领域、语音处理领域和多模态领域中,预训练模型也具有巨大潜力,并已经研发出了一系列的用于对图像和视频等进行精确处理的模型。
为了使得预训练模型可以应用于计算能力弱的设备中或时延要求较高的应用中,可以对预训练模型进行压缩,以减小模型的尺寸大小和模型推理时间。模型量化方法为压缩模型的方法之一。模型量化方法主要是通过对模型内的权重参数和/或激活值进行类型转换(例如将部分或全部的浮点型数据转化为低位整型数据),来加快模型推理速度,降低对硬件的要求。但由于量化过程是将模型的权值、激活值等从高精度转化成低精度的操作过程,例如将float32类型的数据转化成int8类型的数据,因此该种方法会影响模型的精度。
例如,通过模型量化方法压缩模型后模型精度下降明显的原因包括有:因信息容量减少导致信息嵌入同质化(例如词嵌入同质化,Homogeneous word embeddings)、不同层的权重分布差异较大、较大的异常值等。为了避免模型量化方法对模型精度的影响,可以对模型量化算法进行优化。现有的优化方法大部分依赖蒸馏算法和优化量化算法。其中,蒸馏算法要求采用教师模型和学生模型同时进行计算,这无疑会增加模型训练过程中对资源的需求量。优化量化算法通常采用按层量化、按行量化或非对称量化等方法来对模型的参数进行量化,这在工程推理上不易实施推广。
为了解决该问题,本公开提供了一种神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法、装置、设备、介质。以下先结合图1对本公开提供的方法和装置的应用场景进行描述。
图1是根据本公开实施例的神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法、装置的应用场景示意图。
如图1所示,该实施例的应用场景100可以包括终端设备110,该终端设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和智能可穿戴设备等等。
终端设备110例如可以对获取的多媒体数据120进行处理,以得到多媒体数据的类别130。例如多媒体数据120可以为文本数据、图像或视频等任一模态或多模态的数据。在一实施例中,终端设备110中可以安装有各种客户端应用,例如即时通信类应用、多媒体数据处理类应用、浏览器类应用等。在该实施例中,可以采用多媒体数据处理类应用对多媒体数据120进行处理。
在一实施例中,终端设备110可以加载有压缩模型140,以根据加载的压缩模型140对多媒体数据120进行处理。该压缩模型140可以是采用模型量化方法对预训练模型进行压缩后得到的模型。
如图1所示,在一实施例中,该应用场景100中还可以包括服务器150,该服务器150可以为向终端设备中安装的多媒体数据处理类应用的运行提供支持的后台管理服务器,也可以为云服务器或者区块链服务器等,本公开对此不做限定。终端设备110可以通过网络与服务器150通信连接。网络可以包括有线或无线通信链路。
例如,该服务器150可以采用模型量化方法对预训练得到的神经网络模型进行压缩,得到压缩后的模型。该服务器150例如还可以对压缩后的模型进行训练,具体可以是对压缩后的模型中的权重参数等进行微调,得到训练好的压缩模型140,以供终端设备110加载。
需要说明的是,本公开提供的神经网络模型的压缩方法和/或压缩模型的训练方法可以由服务器150执行,也可以由与服务器150通信连接的其他服务器执行。相应地,本公开提供的神经网络模型的压缩装置和/或压缩模型的训练装置可以设置在服务器150中,也可以设置在与服务器150通信连接的其他服务器中。本公开提供的多媒体数据的处理方法可以由终端设备110执行。相应地,本公开提供的多媒体数据的处理装置可以设置在终端设备110中。
应该理解,图1中的终端设备110和服务器150的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的终端设备110和服务器150。
以下将结合图2~图5对本公开提供的神经网络模型的压缩方法进行详细描述。
图2是根据本公开实施例的神经网络模型的压缩方法的流程示意图。
如图2所示,该实施例的神经网络模型的压缩方法200可以包括操作S210~操作S230。
在操作S210,将多媒体数据输入神经网络模型,得到神经网络模型包括的依次连接的多个处理层中每个处理层的目标参数。
根据本公开的实施例,多媒体数据可以为文本、图像、视频或多模态数据等多种类型的数据。神经网络模型为与多媒体数据的类型相对应。例如,若多媒体数据为文本,则神经网络模型可以为文心模型(ERNIE)或者生成式预训练Transformer模型(GenerativePre-trained Transformer,GPT)等。若多媒体数据为图像,则神经网络模型可以为残差网络(Residual Network,ResNet)系列模型(例如ResNet-50)、视觉Transformer模型(VisionTransformer,ViT)、基于Transformer的端到端目标检测模型(End-to-End ObjectDetection with Transformers,DERT)等。若多媒体数据为视频,则神经网络模型可以为Swin-Transformer模型等。
神经网络模型包括的依次连接的多个处理层例如可以包括依次连接的嵌入层、编码层、解码层、全连接层和逻辑回归层等。神经网络模型包括的多个处理层可以与神经网络模型的类型相对应。例如,若神经网络模型为文心模型,则依次连接的多个处理层可以包括Transformer编码器中第一个编码器包括的多头自注意力层、叠加&归一化层、前向反馈神经网络层、叠加&归一化层;第二个编码器包括的多头自注意力层、叠加&归一化层、前向反馈神经网络层、叠加&归一化层;...;第六个编码器包括的多头自注意力层、叠加&归一化层、前向反馈神经网络层、叠加&归一化层和逻辑回归层等。
根据本公开的实施例,根据实际的压缩需求,可以从每个处理层的权重参数和该每个处理层的输入激活值中选择至少一类参数作为该每个处理层的目标参数。可以理解的是,对于神经网络模型包括的依次连接的多个处理层中排在最前位置的处理层,输入激活值可以为多媒体数据的嵌入特征值。对于多个处理层中除排在最前位置的处理层之外的任一处理层,输入激活值为该任一处理层的前一处理层输出的特征数据。
在操作S220,根据多个处理层的目标参数的分布信息,确定多个处理层的目标参数中的待量化参数。
根据本公开的实施例,可以根据多个处理层的目标参数的分布信息,确定目标参数的异常参数。将除该异常参数外的其他参数作为待量化参数。其中,异常参数可以为与多个处理层的目标参数的平均值的差值大于差值阈值的参数。或者,可以计算每个处理层的目标参数的平均值,将该每个处理层的目标参数中与该平均值的差值大于差值阈值的参数,作为异常参数。
根据本公开的实施例,还可以根据多个处理层的目标参数的分布信息,确定多个处理层的目标参数的分布差异是否过大。若过大,则可以确定对该多个处理层的目标参数进行量化处理,会导致神经网络模型的精度损失较大,则可以确定该多个处理层的目标参数均不属于待量化参数,不再对神经网络模型进行压缩。若多个处理层的目标参数的分布差异较小,则将该多个处理层的目标参数均作为待量化参数。其中,例如可以采用方差、标准差、离散系数等来表示分布差异。
根据本公开的实施例,还可以针对每个处理层,确定该每个处理层的目标参数的分布差异是否过大。若过大,则可以将除该处理层外其他处理层的目标参数作为待量化参数。
可以理解的是,在目标参数包括权重参数和输入激活值总计两种类型的参数时,可以根据每种类型的参数的分布信息,来确定该每种类型的参数中的待量化参数。
在操作S230,对待量化参数进行量化,得到压缩后的神经网络模型。
根据本公开的实施例,待量化参数可以均为float32类型的数据,该实施例可以通过将待量化数据转化为int8等类型的数据,实现对待量化参数的量化。即,可以将表示待量化参数的32位浮点数转换位8位整型数。如此,压缩得到的神经网络模型的目标参数量可以变为原来的1/4,从而可以使得压缩后的神经网络模型可以在计算资源有限的终端上运行,并提高模型的推理速度。
例如,可以采用以下公式(1)来对待量化参数进行量化。
其中,Dq为对待量化参数进行量化后得到的数据,FP32为待量化参数,scale为量化尺度,min,max表示量化比特数,即量化精度,如8bit量化的min和max的取值分别为-128,127。Round()表示取整操作,Clip表示用最大值最小值去截断。
本公开实施例通过根据目标参数的分布信息来确定待量化参数,可以在进行量化处理时将目标参数中的异常参数等排除,从而可以解决因目标参数差异较大导致模型压缩后精度下降的技术问题,并因此可以提高压缩后模型的精度,保证压缩后模型可以部署在终端,以用于对线上数据进行处理。再者,通过对待量化参数进行量化,可以提高终端部署的压缩后模型的推理效率,降低对终端资源的占用量。
图3是根据本公开第一实施例的确定待量化参数的原理示意图。
如图3所示,在一实施例300中确定待量化参数的操作可以先在得到多个处理层的目标参数310后,确定该目标参数310的分布信息320。例如,可以将多个处理层的目标参数按层自左至右排列,即,以多个处理层的位置为横坐标,以目标参数的取值为纵坐标,绘制目标参数310的分布图,作为分布信息320。例如还可以对分布图中的各个取值点进行统计,将统计结果作为分布信息320。例如,可以统计分布图中每个处理层的目标参数的取值区间,统计每个处理层的目标参数中80%、90%或任意比例的目标参数所覆盖的取值区间等,本公开对此不做限定。
在得到分布信息320后,该实施例300可以根据分布信息320确定多个处理层中目标参数与其他处理层的目标参数之间的差异较大的目标处理层330。例如,若多个处理层包括分别位于第0层-第23层的24个处理层,根据分布信息320可以确定位于第6层、第7层、第8层和第9层的处理层为目标处理层330。其中,两个处理层的目标参数之间的差异例如可以由该两个处理层的两组目标参数的分布之间的距离来表示两个处理层的目标参数之间的差异。两组目标参数的分布之间的距离可以由相对熵、JS散度(Jensen-Shannondivergence)、交叉熵等来表示。若某个处理层的目标参数与其他处理层中预定比例的处理层的目标参数之间的差异均大于预定差异,则可以确定该某个处理层为目标处理层330。
在该实施例300中,可以将除目标处理层330外的其他处理层340的目标参数作为待量化参数。即可以从多个处理层的目标参数310中挑选出其他处理层340的目标参数,作为待量化参数350。
该实施例300例如可以确定待量化参数350不包括目标处理层330的目标参数。
该实施例300通过根据多个处理层的目标参数的分布信息,将目标参数的差异较大的处理层作为目标处理层,并对该目标处理层的目标参数不做量化处理,可以有效降低参数量化对模型精度的损失。例如,对于GPT-3345M模型,第3、5、6、7、8个Transformer模块中的10个前馈神经网络层的权重参数和输入激活值的分布与其他层的权重参数、输入激活值的分布差异较大。经试验证明,若在采用模型量化方法压缩GPT-3345M模型时,量化该10个前馈神经网络层的权重参数和输入激活值,则会导致压缩得到的模型精度相较于压缩之前损失较大。而若不量化该10个前馈神经网络层的权重参数和输入激活值,则压缩得到的模型精度与预训练的FP16模型的精度能够保持一致。即,通过该实施例300的方法,可以在达到压缩模型的效果的基础上,降低模型精度的损失。
图4是根据本公开第二实施例的确定待量化参数的原理示意图。
如图4所示,在一实施例400中,目标参数包括权重参数。确定待量化参数的操作可以先在得到多个处理层的权重参数410后,确定该权重参数410的分布信息420。例如,可以将多个处理层的权重参数按层自左至右排列,即,以多个处理层的位置为横坐标,以权重参数的取值为纵坐标,绘制权重参数410的分布图,由该分布图表示权重参数的分布信息420。或者,在得到分布图后,例如可以对分布图中的各个取值点进行统计,将统计结果作为分布信息420。该分布信息420的获得原理与上文描述的分布信息320的获得原理类似,在此不再赘述。
在得到权重参数的分布信息420后,该实施例400例如可以根据该分布信息420,确定与每个处理层的权重参数对应的截断阈值430。在得到截断阈值430后,可以根据该截断阈值430对每个处理层的权重参数进行截断处理,得到处理后权重参数440,并将该处理后权重参数确定为待量化参数450。
在一实施例中,在得到分布信息420后,可以统计多个处理层的权重参数410中预定比例的参数的取值范围。即将多个处理层的权重参数410作为整体进行统计。随后,根据该取值范围确定截断阈值,并将确定的截断阈值作为与多个处理层中每个处理层的权重参数对应的截断阈值。例如,预定比例可以为90%、95%等任意比例。例如,若预定比例的权重参数的取值范围为[-10,10],该实施例可以将截断阈值设定为[-20,20]。通过该实施例,可以为多个处理层设定相同的截断阈值,利于减小压缩模型过程的计算量,减少对计算资源的占用。
在一实施例中,在得到分布信息420后,可以针对每个处理层,根据该每个处理层的权重参数的分布信息,确定该每个处理层的权重参数中预定比例的参数的取值范围。并根据该取值范围来确定与每个处理层的权重参数对应的截断阈值。即,该实施例可以以单个处理层为单位,进行权重参数的取值的统计,并针对单个处理层单独设置截断阈值。如此,可以使得设置的截断阈值更为合理,有效截断各个处理层的异常值,并因此利于提高压缩模型的精度。同时,可以减少单次统计的数据量,且可以并行的对多个处理层的权重参数进行统计,利于提高计算效率,减少对模型压缩过程中计算资源的占用时长。
在一实施例中,截断阈值430可以包括截断上限值和截断下限值,在确定了截断阈值430后,根据该截断阈值430对目标参数进行的截断处理可以包括:对于大于截断上限值的目标参数,将该目标参数的取值调整为截断上限值;对于小于截断下限值的目标参数,将该目标参数的取值调整为截断下限值。对于小于等于截断上限值且大于等于截断下限值的目标参数,则无需处理。
本公开实施例通过为权重参数设置截断阈值,并对权重参数进行截断处理,可以减少处理后权重参数的取值中的离群点,利于提高量化处理的执行效率,提高模型压缩的效率。再者,由于该实施例对所有权重参数都进行了量化处理,因此可以有效压缩模型尺寸大小,降低部署压缩模型所需的计算能力,利于压缩模型在计算能力有限的终端上的部署。
图5是根据本公开第三实施例的确定待量化参数的原理示意图。
如图5所示,在一实施例500中,在基于与上文针对图3描述的原理类似的原理,根据多个处理层的目标参数510的分布信息520确定了目标处理层530和其他处理层540之后,在将其他处理层540的目标参数作为待量化参数550的同时,例如还可以为目标处理层530的权重参数设置截断阈值560。随后可以根据该截断阈值560对目标处理层530的权重参数进行截断处理,将截断处理得到的处理后权重参数570也作为待量化参数。
其中,截断阈值560例如可以是根据多个处理层的权重参数的分布信息确定的。具体地,该截断阈值560的确定原理可以与上文针对图4的描述部分中确定截断阈值的原理类似,根据截断阈值560对权重参数执行截断处理的原理也与上文针对图4的描述部分中截断处理的原理类似,在此不再赘述。
本公开实施例通过将其他处理层的目标参数均作为待量化参数,并通过根据确定的截断阈值560来对目标处理层的权重参数进行截断处理,从而得到目标处理层的需要量化的参数,可以减少待量化参数中的异常值,并因此可以减少量化处理导致的模型精度的损失,有效保证了压缩得到的模型的精度。再者,由于该实施例对所有处理层的权重参数都进行了量化处理,因此可以有效减小压缩模型的尺寸大小,降低部署压缩模型所需的计算能力,利于压缩模型在计算能力有限的终端上的部署。
在完成对模型的压缩后,还可以对得到的压缩模型进行进一步地训练,即进一步地微调压缩模型中权重参数等网络参数的取值,以进一步提高压缩模型的精度。基于此,本公开还提供了一种压缩模型的训练方法,以下将结合图6对该方法进行详细描述。
图6是根据本公开实施例的压缩模型的训练方法的流程示意图。
如图6所示,该实施例的压缩模型的训练方法600可以包括操作S610~操作S630。
在操作S610,将作为样本数据的第一多媒体数据输入压缩模型,得到针对多个预定类别的第一概率向量。
根据本公开的实施例,操作S610中的压缩模型可以通过加载上文描述的神经网络模型的压缩方法得到的压缩后的神经网络模型而得到。样本数据可以为对神经网络模型进行预训练的训练集中的部分样本数据。例如,可以从训练集中随机抽取5%、10%或其他任意比例的数据,得到样本数据。作为样本数据的第一多媒体数据例如可以包括类别信息,例如可以包括第一类别信息。该第一类别信息表示多个预定类别中的某个类别。
该实施例中,压缩模型可以在对第一多媒体数据处理后,输出第一概率向量。该第一概率向量中包括压缩模型预测的针对多个预定类别中每个类别的概率值。
可以理解的是,压缩得到压缩模型的神经网络模型例如可以为用于执行分类任务的模型,以对多媒体数据进行分类。相应地,第一概率向量可以包括压缩模型预测得到的第一多媒体数据属于多个预定类别中每个类别的概率值,第一多媒体数据标注的第一类别信息可以为第一多媒体数据的真实类别,该真实类别为多个预定类别中的任一类别。或者,压缩得到压缩模型的神经网络模型例如可以为用于执行文本生成任务的模型,以生成多媒体数据的答复文本。相应地,第一概率向量可以包括压缩模型预测得到的答复文本中某个字符为多个预定类别字符中每个字符的概率值,第一多媒体数据标注的第一类别信息可以为第一多媒体数据的答复文本中的各个字符。可以理解的是,第一概率向量所表示的信息可以与压缩模型执行的任务相对应,本公开对此不做限定。
在操作S620,根据第一类别信息和第一概率向量,确定压缩模型的损失值。
该实施例可以根据第一概率向量中与第一类别信息表示的类别对应的概率值,采用预定损失函数来计算压缩模型的损失值。其中,预定损失函数例如可以为交叉熵损失函数、均方误差损失函数(即L2损失函数)或铰链损失(Hinge Loss)函数等,本公开对此不做限定。
在操作S630,根据损失值,对压缩模型进行训练。
该实施例可以以最小化损失值为目标,采用梯度下降算法来对压缩模型中的权重参数等网络参数进行调整,实现对压缩模型的训练。
图7是根据本公开实施例的压缩模型对多媒体数据进行处理的原理示意图。
如图7所示,在一实施例700中,压缩模型710可以包括特征提取网络711和逻辑回归网络712。例如,该实施例可以将压缩模型710包括的依次连接的多个处理层中排在最后一位的处理层作为逻辑回归网络712,这是由于该排在最后一位的处理层通常为采用逻辑回归函数对前一处理层输出的特征向量进行逻辑回归处理的处理层,从而使得得到的第一概率向量中多个概率值的和为1。相应地,除排在最后一位的处理层之外的其他处理层则构成特征提取网络711。
该实施例中,在得到第一概率向量时,可以先将第一多媒体数据701输入特征提取网络711,由特征提取网络提取得到第一多媒体数据701针对多个预定类别的特征向量702。具体可以将第一多媒体数据701的嵌入向量作为特征提取网络711的输入激活值,特征提取网络711可以采用其包括的权重参数对该输入激活值进行计算,从而得到特征向量702。
该实施例中,可以将特征向量702输入逻辑回归网络712,以由逻辑回归网络712来对特征向量进行逻辑回归处理,从而得到第一概率向量703。即,将该特征向量702作为逻辑回归网络712的输入激活值,逻辑回归网络712采用其包括的权重参数对输入其的输入激活值进行计算,可以得到第一概率向量703。
在一实施例中,如图7所示,可以为逻辑回归网络712设置预定温度因子704。以使得逻辑回归网络712根据逻辑回归函数和该预定温度因子704,来对特征向量702中的特征值进行处理,从而得到第一概率向量。可以理解的是,特征向量702中例如可以包括分别对应多个预定类别的多个特征值。例如,该实施例可以将预定温度因子作为逻辑回归函数的分母部分,以使得得到的第一概率向量中概率值的分布趋于平滑。如此,在仅采用训练集中部分样本数据对压缩模型进行训练时,可以避免压缩模型由于对该部分样本数据进行了重复学习而使得学习的表征发生偏移的情形,并因此利于提高训练得到的压缩模型的泛化能力和精度。
具体地,为了提高训练效率,通常仅从预训练模型的训练集中抽取部分样本数据来对压缩模型进行训练,这会使得压缩模型对该部分样本数据进行了重复学***滑,即使得压缩模型的训练过程不仅关注该部分样本数据的类别信息所表示的类别,还关注其他的预定类别。从而增加其他的预定类别的概率值对模型损失的影响,使得训练得到的模型同时会更加关注其他的预定类别,提高训练得到的压缩模型泛化能力和精度。
示例性地,若逻辑回归函数采用softmax函数,则逻辑回归网络712例如可以采用以下公式(2)来对特征向量中的特征值进行处理,并得到第一概率向量中的概率值。
其中,qi为第一概率向量中的第i个概率值,zi、zj分别为特征向量中的第i个特征值和第j个特征值,T为预定温度因子。可以理解的是,若多个预定类别的个数为c,则j的取值为大于等于1且小于等于c的所有整数。i为大于等于1且小于等于c的所有整数中的任一整数。
在一实施例中,在得到训练后的压缩模型后,例如还可以对该训练后的压缩模型进行精度的测试。例如,可以将测试集中的第二多媒体数据输入该训练后的压缩模型,得到针对多个预定类别的第二概率向量。可以理解的是,第二多媒体数据与第一多媒体数据类似,该第二多媒体数据例如可以标注有第二类别信息。得到第二概率向量的原理与得到第一概率向量的原理类似,且与第一概率向量类似,该第二概率向量也可以包括针对多个预定类别中每个预定类别的概率值,且第二概率向量中概率值所表示的含义与第一概率向量中概率值的含义类似,在此不再赘述。在得到第二概率向量后,该实施例可以根据该第二概率向量确定针对第二多媒体数据的预测类别信息。针对第二多媒体数据的预测类别信息例如可以为预测得到的第二多媒体数据所属的类别,也可以为针对第二多媒体数据生成的预测字符,本公开对此不做限定。例如,该实施例可以将第二概率向量中最大概率值所对应的预定类别作为预测类别信息。随后,该实施例可以根据预测类别信息和第二类别信息,来确定训练后的压缩模型的测试结果。例如,若预测类别信息与第二类别信息一致,则可以确定训练后的压缩模型的测试结果为预测正确。或者,可以确定针对多个第二多媒体数据的预测类别信息是否分别与多个第二多媒体数据标注的第二类别信息一致,并统计一致的第二多媒体数据的占比,将该占比作为训练后的压缩模型的测试结果。
在一实施例中,若压缩模型是通过对神经网络模型的所有处理层的目标参数进行量化处理而得到的模型,则考虑到上文描述的目标处理层的量化对模型精度的损失较大,则在该实施例中,在对训练后的神经网络模型进行测试之前,例如还可以基于压缩阶段中多个处理层的目标参数的分布信息,确定多个处理层中的目标处理层,并根据该目标处理层的量化处理之前的目标参数来调整训练得到的压缩模型中目标处理层的目标参数,具体可以是将训练得到的压缩模型中目标处理层的目标参数替换为量化处理之前的目标参数,并将得到的模型作为待测试的压缩模型。如此,可以使得待测试的压缩模型的精度不受量化目标处理层的目标参数的影响。最终,该实施例可以将测试精度满足条件的待测试的压缩模型作为训练完成的压缩模型,并对线上产生的多媒体数据进行处理。
经验证,通过采用本公开实施例压缩模型的训练方法训练压缩模型,可以将训练轮次减小至预训练阶段所需轮次的1/100,且训练完成的压缩模型的精度可以超过预训练模型约2%。即,采用本公开实施例提供的压缩模型的训练方法,可以减少训练过程对计算资源的占用,提高训练效率,同时提高训练精度。
基于本公开提供的压缩模型的训练方法,本公开还提供了一种多媒体数据的处理方法,以下将结合图8对该方法进行详细描述。
图8是根据本公开提供的多媒体数据的处理方法的流程示意图。
如图8所示,以压缩模型用于执行对多媒体数据进行分类的任务为例,该实施例的多媒体数据的处理方法800可以包括操作S810~操作S820。
在操作S810,将待处理的多媒体数据输入压缩模型,得到表示多媒体数据所属类别的概率向量。
根据本公开的实施例,该操作S810的实现原理与上文描述的操作S610的实现原理类似。概率向量可以包括多媒体数据属于多个预定类别中每个预定类别的概率值,在此不再赘述。可以理解的是,压缩模型例如可以是采用上文描述的压缩模型的训练方法得到的训练完成的压缩模型。
在操作S820,根据概率向量,确定多个预定类别中多媒体数据所属的目标类别。该实施例中,可以将概率向量中最大概率值所对应的预定类别作为多媒体数据所属的目标类别。
可以理解的是,在多媒体数据为文本时,压缩模型例如可以是通过对文心模型等进行压缩并训练而得到的模型。在多媒体数据为图像时,压缩模型例如可以是通过对ResNet-50等进行压缩并训练而得到的模型。
基于本公开提供的神经网络模型的压缩方法,本公开还提供了一种神经网络模型的压缩装置,以下将结合图9对该装置进行详细描述。
图9是根据本公开实施例的神经网络模型的压缩装置的结构框图。
如图9所示,该实施例的神经网络模型的压缩装置900可以包括参数获得模块910、参数确定模块920和参数量化模块930。
参数获得模块910用于将多媒体数据输入神经网络模型,得到神经网络模型包括的依次连接的多个处理层中每个处理层的目标参数。其中,目标参数包括以下至少之一:每个处理层的权重参数、每个处理层的输入激活值。其中,输入激活值由位于每个处理层之前的处理层对多媒体数据处理后得到。在一实施例中,参数获得模块910可以用于执行上文描述的操作S210,在此不再赘述。
参数确定模块920用于根据多个处理层的目标参数的分布信息,确定多个处理层的目标参数中的待量化参数。在一实施例中,参数确定模块920可以用于执行上文描述的操作S220,在此不再赘述。
参数量化模块930用于对待量化参数进行量化,得到压缩后的神经网络模型。在一实施例中,参数量化模块930可以用于执行上文描述的操作S230,在此不再赘述。
根据本公开的实施例,上述参数确定模块920可以包括目标层确定子模块和第一参数确定子模块。目标层确定子模块用于根据多个处理层的目标参数的分布信息,确定多个处理层中的目标处理层;目标处理层的目标参数与多个处理层中其他处理层的目标参数之间的差异大于预定差异。第一参数确定子模块用于确定其他处理层的目标参数为待量化参数。
根据本公开的实施例,目标参数包括每个处理层的权重参数。上述参数确定模块920可以包括第一阈值确定子模块、第一参数截断子模块和第二参数确定子模块。第一阈值确定子模块用于根据多个处理层的权重参数的分布信息,确定与每个处理层的权重参数对应的截断阈值。第一参数截断子模块用于根据与每个处理层的权重参数对应的截断阈值,对每个处理层的权重参数进行截断处理,得到处理后权重参数。第二参数确定子模块用于确定处理后权重参数为待量化参数。
根据本公开的实施例,目标参数包括每个处理层的权重参数。上述参数确定模块920还可以包括第二阈值确定子模块和第二参数截断子模块。第二阈值确定子模块用于根据多个处理层的权重参数的分布信息,确定与目标处理层的权重参数对应的截断阈值。第二参数截断子模块用于根据与目标处理层的权重参数对应的截断阈值,对目标处理层的权重参数进行截断处理,得到处理后权重参数。其中,第一参数确定子模块还用于确定处理后权重参数为待量化参数。
根据本公开的实施例,上述第一参数确定子模块还可以用于确定待量化参数不包括目标处理层的目标参数。
根据本公开的实施例,上述第一阈值确定子模块可以包括第一范围确定单元和第一阈值确定单元。第一范围确定单元用于根据多个处理层的权重参数的分布信息,确定多个处理层的权重参数中预定比例的参数的取值范围。第一阈值确定单元用于根据取值范围确定截断阈值,作为与多个处理层中每个处理层的权重参数对应的截断阈值。
根据本公开的实施例,上述第一阈值确定子模块可以包括第二范围确定单元和第二阈值确定单元。第二范围确定单元用于根据每个处理层的权重参数的分布信息,确定每个处理层的权重参数中预定比例的参数的取值范围。第二阈值确定单元用于根据取值范围,确定与每个处理层的权重参数对应的截断阈值。
基于本公开提供的压缩模型的训练方法,本公开还提供了一种压缩模型的训练装置,以下将结合图10对该装置进行详细描述。
图10是根据本公开实施例的压缩模型的训练装置的结构框图。
如图10所示,该实施例的压缩模型的训练装置1000可以包括第一向量获得模块1010、损失确定模块1020和模型训练模块1030。其中,压缩模型是采用本公开提供的神经网络模型的压缩装置得到的压缩后的神经网络模型。
第一向量获得模块1010用于将作为样本数据的第一多媒体数据输入压缩模型,得到针对多个预定类别的第一概率向量;第一多媒体数据标注有第一类别信息。在一实施例中,第一向量获得模块1010可以用于执行上文描述的操作S610,在此不再赘述。
损失确定模块1020用于根据第一类别信息和第一概率向量,确定压缩模型的损失值。在一实施例中,损失确定模块1020可以用于执行上文描述的操作S620,在此不再赘述。
模型训练模块1030用于根据损失值,对压缩模型进行训练。在一实施例中,模型训练模块1030可以用于执行上文描述的操作S630,在此不再赘述。
根据本公开的实施例,压缩模型包括特征提取网络和逻辑回归网络。上述第一向量获得模块1010可以包括特征提取子模块和特征处理子模块。特征提取子模块用于将第一多媒体数据输入特征提取网络,提取得到第一多媒体数据针对多个预定类别的特征向量。特征处理子模块用于将特征向量输入逻辑回归网络,由逻辑回归网络根据逻辑回归函数和预定温度因子对特征向量中的特征值进行处理,得到第一概率向量。
根据本公开的实施例,逻辑回归网络通过以下函数对特征向量中的特征值进行处理:
其中,qi为第一概率向量中的第i个概率值,Zi、zj分别为特征向量中的第i个特征值和第j个特征值,T为预定温度因子;逻辑回归函数包括softmax函数。
根据本公开的实施例,在压缩模型为对所有处理层的权重参数进行压缩而得到的模型时,上述压缩模型的训练装置1000还可以包括目标层确定模块、参数调整模块、第二向量获得模块、预测类别确定模块和测试结果确定模块。目标层确定模块用于根据多个处理层的目标参数的分布信息,确定多个处理层中的目标处理层。参数调整模块用于根据目标处理层的量化处理之前的目标参数调整训练得到的压缩模型中目标处理层的目标参数,得到待测试的压缩模型。第二向量获得模块用于将作为测试数据的第二多媒体数据输入待测试的压缩模型,得到针对多个预定类别的第二概率向量;第二多媒体数据标注有第二类别信息。预测类别确定模块用于根据第二概率向量,确定针对第二多媒体数据的预测类别信息。测试结果确定模块用于根据预测类别信息和第二类别信息,确定待测试的压缩模型的测试结果。
基于本公开提供的多媒体数据的处理方法,本公开还提供了一种多媒体数据的处理装置,以下将结合图11对该装置进行详细描述。
图11是根据本公开实施例的多媒体数据的处理装置的结构框图。
如图11所示,该实施例的多媒体数据的处理装置1100可以包括向量获得模块1110和类别确定模块1120。
向量获得模块1110用于将待处理的多媒体数据输入压缩模型,得到表示多媒体数据所属类别的概率向量。其中,概率向量包括多媒体数据属于多个预定类别中每个预定类别的概率值,压缩模型包括采用本公开提供的压缩模型的训练方法训练得到的模型。在一实施例中,向量获得模块1110可以用于执行上文描述的操作S810,在此不再赘述。
类别确定模块1120用于根据概率向量,确定多个预定类别中多媒体数据所属的目标类别。在一实施例中,类别确定模块1120可以用于执行上文描述的操作S820,在此不再赘述。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开实施例的方法的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访间存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法。例如,在一些实施例中,以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (27)
1.一种神经网络模型的压缩方法,包括:
将多媒体数据输入神经网络模型,得到神经网络模型包括的依次连接的多个处理层中每个处理层的目标参数;所述目标参数包括以下至少之一:所述每个处理层的权重参数、所述每个处理层的输入激活值;
根据所述多个处理层的目标参数的分布信息,确定所述多个处理层的目标参数中的待量化参数;以及
对所述待量化参数进行量化,得到压缩后的神经网络模型,
其中,所述输入激活值由位于所述每个处理层之前的处理层对所述多媒体数据处理后得到。
2.根据权利要求1所述的方法,其中,所述根据所述多个处理层的目标参数的分布信息,确定所述多个处理层的目标参数中的待量化参数包括:
根据所述多个处理层的目标参数的分布信息,确定所述多个处理层中的目标处理层;所述目标处理层的目标参数与所述多个处理层中其他处理层的目标参数之间的差异大于预定差异;以及
确定所述其他处理层的目标参数为所述待量化参数。
3.根据权利要求1所述的方法,其中,所述目标参数包括所述每个处理层的权重参数;所述目标参数包括所述根据所述多个处理层的目标参数的分布信息,确定所述多个处理层的目标参数中的待量化参数包括:
根据所述多个处理层的权重参数的分布信息,确定与所述每个处理层的权重参数对应的截断阈值;
根据与所述每个处理层的权重参数对应的截断阈值,对所述每个处理层的权重参数进行截断处理,得到处理后权重参数;以及
确定所述处理后权重参数为所述待量化参数。
4.根据权利要求2所述的方法,其中,所述目标参数包括所述每个处理层的权重参数;所述根据所述多个处理层的目标参数的分布信息,确定所述多个处理层的目标参数中的待量化参数还包括:
根据所述多个处理层的权重参数的分布信息,确定与所述目标处理层的权重参数对应的截断阈值;
根据与所述目标处理层的权重参数对应的截断阈值,对所述目标处理层的权重参数进行截断处理,得到处理后权重参数;以及
确定所述处理后权重参数为所述待量化参数。
5.根据权利要求2所述的方法,其中,所述根据所述多个处理层的目标参数的分布信息,确定所述多个处理层的目标参数中的待量化参数还包括:
确定所述待量化参数不包括所述目标处理层的目标参数。
6.根据权利要求3所述的方法,其中,所述根据所述多个处理层的权重参数的分布信息,确定与所述每个处理层的权重参数对应的截断阈值包括:
根据所述多个处理层的权重参数的分布信息,确定所述多个处理层的权重参数中预定比例的参数的取值范围;以及
根据所述取值范围确定截断阈值,作为与所述多个处理层中每个处理层的权重参数对应的截断阈值。
7.根据权利要求3所述的方法,其中,所述根据所述多个处理层的权重参数的分布信息,确定与所述每个处理层的权重参数对应的截断阈值包括:
根据所述每个处理层的权重参数的分布信息,确定所述每个处理层的权重参数中预定比例的参数的取值范围;以及
根据所述取值范围,确定与所述每个处理层的权重参数对应的截断阈值。
8.一种压缩模型的训练方法,包括:
将作为样本数据的第一多媒体数据输入压缩模型,得到针对多个预定类别的第一概率向量;所述第一多媒体数据标注有第一类别信息;
根据所述第一类别信息和所述第一概率向量,确定所述压缩模型的损失值;以及
根据所述损失值,对所述压缩模型进行训练,
其中,所述压缩模型是采用权利要求1~7中任一项所述的方法得到的压缩后的神经网络模型。
9.根据权利要求8所述的方法,其中,所述压缩模型包括特征提取网络和逻辑回归网络;所述将作为样本数据的第一多媒体数据输入压缩模型,得到针对多个预定类别的第一概率向量包括:
将所述第一多媒体数据输入所述特征提取网络,提取得到所述第一多媒体数据针对多个预定类别的特征向量;以及
将所述特征向量输入所述逻辑回归网络,由所述逻辑回归网络根据逻辑回归函数和预定温度因子对所述特征向量中的特征值进行处理,得到所述第一概率向量。
11.根据权利要求8-10中任一项所述的方法,其中,所述压缩模型是采用权利要求3-4、6-7中任一项所述的方法得到的压缩后的神经网络模型;所述方法还包括:
根据所述多个处理层的目标参数的分布信息,确定所述多个处理层中的目标处理层;
根据所述目标处理层的量化处理之前的目标参数调整训练得到的压缩模型中目标处理层的目标参数,得到待测试的压缩模型;
将作为测试数据的第二多媒体数据输入待测试的压缩模型,得到针对所述多个预定类别的第二概率向量;所述第二多媒体数据标注有第二类别信息;
根据所述第二概率向量,确定针对所述第二多媒体数据的预测类别信息;以及
根据所述预测类别信息和所述第二类别信息,确定所述待测试的压缩模型的测试结果。
12.一种多媒体数据的处理方法,包括:
将待处理的多媒体数据输入压缩模型,得到表示所述多媒体数据所属类别的概率向量;所述概率向量包括所述多媒体数据属于多个预定类别中每个预定类别的概率值;以及
根据所述概率向量,确定所述多个预定类别中所述多媒体数据所属的目标类别,
其中,所述压缩模型包括采用权利要求8~11中任一项所述的方法训练得到的模型。
13.一种神经网络模型的压缩装置,包括:
参数获得模块,用于将多媒体数据输入神经网络模型,得到神经网络模型包括的依次连接的多个处理层中每个处理层的目标参数;所述目标参数包括以下至少之一:所述每个处理层的权重参数、所述每个处理层的输入激活值;
参数确定模块,用于根据所述多个处理层的目标参数的分布信息,确定所述多个处理层的目标参数中的待量化参数;以及
参数量化模块,用于对所述待量化参数进行量化,得到压缩后的神经网络模型,
其中,所述输入激活值由位于所述每个处理层之前的处理层对所述多媒体数据处理后得到。
14.根据权利要求13所述的装置,其中,所述参数确定模块包括:
目标层确定子模块,用于根据所述多个处理层的目标参数的分布信息,确定所述多个处理层中的目标处理层;所述目标处理层的目标参数与所述多个处理层中其他处理层的目标参数之间的差异大于预定差异;以及
第一参数确定子模块,用于确定所述其他处理层的目标参数为所述待量化参数。
15.根据权利要求13所述的装置,其中,所述目标参数包括所述每个处理层的权重参数;所述参数确定模块包括:
第一阈值确定子模块,用于根据所述多个处理层的权重参数的分布信息,确定与所述每个处理层的权重参数对应的截断阈值;
第一参数截断子模块,用于根据与所述每个处理层的权重参数对应的截断阈值,对所述每个处理层的权重参数进行截断处理,得到处理后权重参数;以及
第二参数确定子模块,用于确定所述处理后权重参数为所述待量化参数。
16.根据权利要求14所述的装置,其中,所述目标参数包括所述每个处理层的权重参数;所述参数确定模块还包括:
第二阈值确定子模块,用于根据所述多个处理层的权重参数的分布信息,确定与所述目标处理层的权重参数对应的截断阈值;以及
第二参数截断子模块,用于根据与所述目标处理层的权重参数对应的截断阈值,对所述目标处理层的权重参数进行截断处理,得到处理后权重参数,
其中,所述第一参数确定子模块还用于确定所述处理后权重参数为所述待量化参数。
17.根据权利要求14所述的装置,其中,所述第一参数确定子模块还用于:
确定所述待量化参数不包括所述目标处理层的目标参数。
18.根据权利要求15所述的装置,其中,所述第一阈值确定子模块包括:
第一范围确定单元,用于根据所述多个处理层的权重参数的分布信息,确定所述多个处理层的权重参数中预定比例的参数的取值范围;以及
第一阈值确定单元,用于根据所述取值范围确定截断阈值,作为与所述多个处理层中每个处理层的权重参数对应的截断阈值。
19.根据权利要求15所述的装置,其中,所述第一阈值确定子模块包括:
第二范围确定单元,用于根据所述每个处理层的权重参数的分布信息,确定所述每个处理层的权重参数中预定比例的参数的取值范围;以及
第二阈值确定单元,用于根据所述取值范围,确定与所述每个处理层的权重参数对应的截断阈值。
20.一种压缩模型的训练装置,包括:
第一向量获得模块,用于将作为样本数据的第一多媒体数据输入压缩模型,得到针对多个预定类别的第一概率向量;所述第一多媒体数据标注有第一类别信息;
损失确定模块,用于根据所述第一类别信息和所述第一概率向量,确定所述压缩模型的损失值;以及
模型训练模块,用于根据所述损失值,对所述压缩模型进行训练,
其中,所述压缩模型是采用权利要求13~19中任一项所述的装置得到的压缩后的神经网络模型。
21.根据权利要求20所述的装置,其中,所述压缩模型包括特征提取网络和逻辑回归网络;所述第一向量获得模块包括:
特征提取子模块,用于将所述第一多媒体数据输入所述特征提取网络,提取得到所述第一多媒体数据针对多个预定类别的特征向量;以及
特征处理子模块,用于将所述特征向量输入所述逻辑回归网络,由所述逻辑回归网络根据逻辑回归函数和预定温度因子对所述特征向量中的特征值进行处理,得到所述第一概率向量。
23.根据权利要求19~21中任一项所述的装置,其中,所述压缩模型是采用权利要求15-16、18-19中任一项所述的装置得到的压缩后的神经网络模型;所述装置还包括:
目标层确定模块,用于根据所述多个处理层的目标参数的分布信息,确定所述多个处理层中的目标处理层;
参数调整模块,用于根据所述目标处理层的量化处理之前的目标参数调整训练得到的压缩模型中目标处理层的目标参数,得到待测试的压缩模型;
第二向量获得模块,用于将作为测试数据的第二多媒体数据输入待测试的压缩模型,得到针对所述多个预定类别的第二概率向量;所述第二多媒体数据标注有第二类别信息;
预测类别确定模块,用于根据所述第二概率向量,确定针对所述第二多媒体数据的预测类别信息;以及
测试结果确定模块,用于根据所述预测类别信息和所述第二类别信息,确定所述待测试的压缩模型的测试结果。
24.一种多媒体数据的处理装置,包括:
向量获得模块,用于将待处理的多媒体数据输入压缩模型,得到表示所述多媒体数据所属类别的概率向量;所述概率向量包括所述多媒体数据属于多个预定类别中每个预定类别的概率值;以及
类别确定模块,用于根据所述概率向量,确定所述多个预定类别中所述多媒体数据所属的目标类别,
其中,所述压缩模型包括采用权利要求20~23中任一项所述的装置训练得到的模型。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1~12中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1~12中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令存储于可读存储介质和电子设备其中至少之一上,所述计算机程序/指令在被处理器执行时实现根据权利要求1~12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310089738.9A CN116090544A (zh) | 2023-01-17 | 2023-01-17 | 神经网络模型的压缩方法、训练方法和处理方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310089738.9A CN116090544A (zh) | 2023-01-17 | 2023-01-17 | 神经网络模型的压缩方法、训练方法和处理方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116090544A true CN116090544A (zh) | 2023-05-09 |
Family
ID=86213778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310089738.9A Pending CN116090544A (zh) | 2023-01-17 | 2023-01-17 | 神经网络模型的压缩方法、训练方法和处理方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116090544A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451770A (zh) * | 2023-05-19 | 2023-07-18 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法、训练方法、处理方法和装置 |
CN116579407A (zh) * | 2023-05-19 | 2023-08-11 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法、训练方法、处理方法和装置 |
CN116611495A (zh) * | 2023-06-19 | 2023-08-18 | 北京百度网讯科技有限公司 | 深度学习模型的压缩方法、训练方法、处理方法及装置 |
CN117195978A (zh) * | 2023-09-19 | 2023-12-08 | 北京百度网讯科技有限公司 | 模型压缩方法、训练方法、文本数据处理方法及装置 |
-
2023
- 2023-01-17 CN CN202310089738.9A patent/CN116090544A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451770A (zh) * | 2023-05-19 | 2023-07-18 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法、训练方法、处理方法和装置 |
CN116579407A (zh) * | 2023-05-19 | 2023-08-11 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法、训练方法、处理方法和装置 |
CN116579407B (zh) * | 2023-05-19 | 2024-02-13 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法、训练方法、处理方法和装置 |
CN116451770B (zh) * | 2023-05-19 | 2024-03-01 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法、训练方法、处理方法和装置 |
CN116611495A (zh) * | 2023-06-19 | 2023-08-18 | 北京百度网讯科技有限公司 | 深度学习模型的压缩方法、训练方法、处理方法及装置 |
CN116611495B (zh) * | 2023-06-19 | 2024-03-01 | 北京百度网讯科技有限公司 | 深度学习模型的压缩方法、训练方法、处理方法及装置 |
CN117195978A (zh) * | 2023-09-19 | 2023-12-08 | 北京百度网讯科技有限公司 | 模型压缩方法、训练方法、文本数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116090544A (zh) | 神经网络模型的压缩方法、训练方法和处理方法、装置 | |
JP2022135991A (ja) | クロスモーダル検索モデルのトレーニング方法、装置、機器、および記憶媒体 | |
US20230162477A1 (en) | Method for training model based on knowledge distillation, and electronic device | |
CN113240510B (zh) | 异常用户预测方法、装置、设备及存储介质 | |
CN113627361B (zh) | 人脸识别模型的训练方法、装置及计算机程序产品 | |
CN115145812B (zh) | 测试用例生成方法、装置、电子设备和存储介质 | |
CN115690443B (zh) | 特征提取模型训练方法、图像分类方法及相关装置 | |
CN115454706A (zh) | 一种***异常确定方法、装置、电子设备及存储介质 | |
CN116579407B (zh) | 神经网络模型的压缩方法、训练方法、处理方法和装置 | |
CN113468857B (zh) | 风格转换模型的训练方法、装置、电子设备以及存储介质 | |
CN113657249A (zh) | 训练方法、预测方法、装置、电子设备以及存储介质 | |
CN117370798A (zh) | 模型压缩方法、训练方法、多媒体数据处理方法及装置 | |
CN116343233B (zh) | 文本识别方法和文本识别模型的训练方法、装置 | |
CN115880506B (zh) | 图像生成方法、模型的训练方法、装置及电子设备 | |
CN113361621B (zh) | 用于训练模型的方法和装置 | |
CN114419327B (zh) | 图像检测方法和图像检测模型的训练方法、装置 | |
CN113989152A (zh) | 图像增强方法、装置、设备以及存储介质 | |
CN116451770B (zh) | 神经网络模型的压缩方法、训练方法、处理方法和装置 | |
CN113806541A (zh) | 情感分类的方法和情感分类模型的训练方法、装置 | |
CN112966108A (zh) | 检测数据和训练分类模型的方法、装置、设备和存储介质 | |
CN115496916B (zh) | 图像识别模型的训练方法、图像识别方法以及相关装置 | |
CN114707591B (zh) | 数据处理方法和数据处理模型的训练方法、装置 | |
CN117649695B (zh) | 一种人脸图像生成方法、装置、设备及存储介质 | |
CN114821801B (zh) | 动作识别方法、模型训练方法、装置、电子设备和存储介质 | |
CN116090472A (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 |