神经网络模型的压缩方法、训练方法、处理方法和装置制造方法及图纸

技术编号:38231685 阅读:8 留言:0更新日期:2023-07-25 17:59
本公开提供了一种神经网络模型的压缩方法、训练方法、处理方法、装置、设备、介质和产品,涉及人工智能领域,尤其涉及深度学习、自然语言处理、计算机视觉和语音处理领域。具体实现方案为:通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组;通过处理器对多个平滑参数组进行量化,得到多个压缩后的神经网络模型;通过将多媒体数据作为待处理数据输入多个压缩后的神经网络模型,确定多个压缩后的神经网络模型的多个量化损失;根据多个量化损失,更新多个缩放值,并返回通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作,直到确定目标神经网络模型。网络模型。网络模型。

【技术实现步骤摘要】
神经网络模型的压缩方法、训练方法、处理方法和装置


[0001]本公开涉及人工智能领域,尤其涉及深度学习、自然语言处理(natural language processing,NLP)、计算机视觉和语音处理等


技术介绍

[0002]随着计算机技术和电子技术的发展,深度学习技术在计算机视觉、自然语言处理和智能语音等多个领域得到了广泛应用。预训练模型从大规模数据学习普适性的表征,可以在应用于不同下游应用时仅进行微调,而无需大量训练,提高了深度学习技术的应用便利性。
[0003]预训练模型的尺寸通常较大,应用时需要占用大量内容,且具有庞大的计算开销。因此,限制了预训练模型在计算能力有限的设备上的应用。

技术实现思路

[0004]本公开提供了一种神经网络模型的压缩方法、压缩模型的训练方法、多媒体数据的处理方法、装置、设备、存储介质以及程序产品。
[0005]根据本公开的一方面,提供了一种神经网络模型的压缩方法,包括:通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组,多个平滑参数组中每个平滑参数组包括与多个初始参数对应的多个平滑参数,多个平滑参数组分别与多个缩放值一一对应;通过处理器分别对多个平滑参数组进行量化,得到多个压缩后的神经网络模型;通过将多媒体数据作为待处理数据输入多个压缩后的神经网络模型,确定多个压缩后的神经网络模型的多个量化损失;以及根据多个量化损失,更新多个缩放值,并返回通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作,直到确定目标神经网络模型;其中,更新目标神经网络模型对应的缩放值,并返回通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作得到的神经网络模型的量化损失均大于目标神经网络模型的量化损失。
[0006]根据本公开的另一方面,提供了一种压缩模型的训练方法,包括:将作为样本数据的多媒体数据输入压缩模型,得到针对多个预定类别的概率向量,多媒体数据标注有类别信息;根据类别信息和概率向量,确定压缩模型的损失值;以及根据损失值,对压缩模型进行训练;其中,压缩模型是采用本公开提供的神经网络模型的压缩方法得到的压缩后的神经网络模型。
[0007]根据本公开的另一方面,提供了一种多媒体数据的处理方法,包括:将待处理的多媒体数据输入压缩模型,得到表示多媒体数据所属类别的概率向量,概率向量包括多媒体数据属于多个预定类别中每个预定类别的概率值;以及根据概率向量,确定多个预定类别中多媒体数据所属的目标类别;其中,压缩模型包括采用本公开提供的训练方法训练得到的模型。
[0008]根据本公开的另一方面,提供了一种神经网络模型的压缩装置,包括:平滑模块,用于通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组,多个平滑参数组中每个平滑参数组包括与多个初始参数对应的多个平滑参数,多个平滑参数组分别与多个缩放值一一对应;量化模块,用于通过处理器分别对多个平滑参数组进行量化,得到多个压缩后的神经网络模型;第一确定模块,用于通过将多媒体数据作为待处理数据输入多个压缩后的神经网络模型,确定多个压缩后的神经网络模型的多个量化损失;以及更新模块,用于根据多个量化损失,更新多个缩放值;其中,更新模块执行完成操作后,返回平滑模块执行操作,直到确定目标神经网络模型;更新目标神经网络模型对应的缩放值,并返回通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作得到的神经网络模型的量化损失均大于目标神经网络模型的量化损失。
[0009]根据本公开的另一方面,提供了一种压缩模型的训练装置,包括:第一输入模块,用于将作为样本数据的多媒体数据输入压缩模型,得到针对多个预定类别的概率向量,多媒体数据标注有类别信息;第四确定模块,用于根据类别信息和概率向量,确定压缩模型的损失值;以及训练模块,用于根据损失值,对压缩模型进行训练;其中,压缩模型是采用本公开提供的压缩装置得到的压缩后的神经网络模型。
[0010]根据本公开的另一方面,提供了一种多媒体数据的处理装置,包括:第二输入模块,用于将待处理的多媒体数据输入压缩模型,得到表示多媒体数据所属类别的概率向量,概率向量包括多媒体数据属于多个预定类别中每个预定类别的概率值;以及第五确定模块,用于根据概率向量,确定多个预定类别中多媒体数据所属的目标类别;其中,压缩模型包括采用本公开提供的训练装置训练得到的模型。
[0011]本公开的另一个方面提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法。
[0012]根据本公开实施例的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法。
[0013]根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开提供的以下方法中的至少之一:神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法。
[0014]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0015]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0016]图1是根据本公开实施例的神经网络模型的压缩方法、压缩模型的训练方法和多媒体数据的处理方法和装置的应用场景示意图;
[0017]图2是根据本公开实施例的神经网络模型的压缩方法的流程示意图;
[0018]图3是根据本公开实施例的缩放初始参数的原理示意图;
[0019]图4是根据本公开实施例的更新缩放值的原理示意图;
[0020]图5是根据本公开实施例的压缩模型的训练方法的流程示意图;
[0021]图6是根据本公开提供的多媒体数据的处理方法的流程示意图;
[0022]图7是根据本公开实施例的神经网络模型的压缩装置的结构框图;
[0023]图8是根据本公开实施例的压缩模型的训练装置的结构框图;
[0024]图9是根据本公开实施例的多媒体数据的处理装置的结构框图以及
[0025]图10是用来实施本公开的实施例的示例电子设备的框图。
具体实施方式
[0026]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的压缩方法,包括:通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组,所述多个平滑参数组中每个平滑参数组包括与所述多个初始参数对应的多个平滑参数,所述多个平滑参数组分别与所述多个缩放值一一对应;通过处理器分别对所述多个平滑参数组进行量化,得到多个压缩后的神经网络模型;通过将多媒体数据作为待处理数据输入所述多个压缩后的神经网络模型,确定所述多个压缩后的神经网络模型的多个量化损失;以及根据所述多个量化损失,更新所述多个缩放值,并返回所述通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作,直到确定目标神经网络模型;其中,更新所述目标神经网络模型对应的缩放值,并返回所述通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作得到的神经网络模型的量化损失大于所述目标神经网络模型的量化损失。2.根据权利要求1所述的方法,其中,每个所述缩放值为张量,所述张量包括多个元素;所述更新所述多个缩放值包括:对于所述多个缩放值中的每个所述缩放值,分别通过执行以下操作中的至少一种对所述缩放值进行更新:将所述多个元素中位于所述张量的多个第一预设位置的多个第一目标元素进行交换;以及修改所述多个元素中位于所述张量的第二预设位置的第二目标元素的值。3.根据权利要求1所述的方法,其中,所述根据所述多个量化损失,更新所述多个缩放值包括:根据所述多个量化损失的从小到大顺序,从所述多个量化损失中确定前K个量化损失,所述K为预设值,K为正整数;以及对所述前K个量化损失对应的K个缩放值进行更新,得到K个更新缩放值。4.根据权利要求3所述的方法,其中,所述根据所述多个量化损失,更新所述多个缩放值还包括:在确定基于所述K个更新缩放值得到的K个更新量化损失均小于所述K个量化损失的情况下,根据所述K个更新量化损失的从小到大顺序,对所述K个更新量化损失中的前N个更新量化损失对应的N个更新缩放值进行更新,N为预设值,N为正整数,N≤K。5.根据权利要求3所述的方法,其中,所述根据所述多个量化损失,更新所述多个缩放值还包括:根据所述K个量化损失和基于所述K个更新缩放值得到的K个更新量化损失,从所述K个更新量化损失中确定M个更新量化损失,所述M个更新量化损失均小于所述K个量化损失中与所述M个更新量化损失对应的M个量化损失,M为正整数,M≤K;以及更新所述M个更新量化损失。6.根据权利要求1所述的方法,其中,所述通过将多媒体数据作为待处理数据输入所述多个压缩后的神经网络模型,确定所述多个压缩后的神经网络模型的多个量化损失包括:通过将多媒体数据作为待处理数据输入所述多个压缩后的神经网络模型,利用所述多
个压缩后的神经网络模型对所述待处理数据进行数据处理运算,得到多个量化输出结果;通过将所述待处理数据输入所述神经网络模型,利用所述神经网络模型对所述待处理数据进行数据处理运算,得到初始输出结果;以及根据所述多个量化输出结果和所述初始输出结果,确定所述多个量化损失。7.根据权利要求1所述的方法,还包括:在确定所述多个量化损失中的最小量化损失小于或等于预设量化损失的情况下,确定所述最小量化损失对应的压缩后的神经网络模型为所述目标神经网络模型;以及在确定所述多个量化损失中的最小量化损失大于预设量化损失的情况下根据所述多个量化损失,更新所述多个缩放值,并返回所述分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作。8.根据权利要求1所述的方法,还包括:在确定基于更新后的多个缩放值得到的多个更新量化损失均大于所述多个量化损失的情况下,重新更新所述多个缩放值,并返回所述分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组的操作。9.根据权利要求1所述的方法,还包括:在确定基于更新后的多个缩放值得到的多个更新量化损失均大于所述多个量化损失的情况下,从所述多个压缩后的神经网络模型中确定目标神经网络模型。10.根据权利要求1所述的方法,其中,所述多个初始参数包括多个激活值和与所述多个激活值分别对应的多个权重值;所述分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组包括:分别利用所述多个缩放值,缩小所述多个激活值,得到与所述多个缩放值对应的多个平滑激活值组,所述多个平滑激活值组的每个平滑激活值组包括与所述多个激活值对应的多个平滑激活值;以及分别利用所述多个缩放值,放大所述多个权重值,得到与所述多个缩放值对应的多个平滑权重值组,所述多个平滑权重值组的每个平滑权重值组包括与所述多个权重值对应的多个平滑权重值;其中,所述多个平滑参数组的每个平滑参数组包括平滑激活值组和对应的平滑权重值组。11.一种压缩模型的训练方法,包括:将作为样本数据的多媒体数据输入压缩模型,得到针对多个预定类别的概率向量,所述多媒体数据标注有类别信息;根据所述类别信息和所述概率向量,确定所述压缩模型的损失值;以及根据所述损失值,对所述压缩模型进行训练;其中,所述压缩模型是采用权利要求1~10中任一项所述的方法得到的压缩后的神经网络模型。12.一种多媒体数据的处理方法,包括:将待处理的多媒体数据输入压缩模型,得到表示所述多媒体数据所属类别的概率向量,所述概率向量包括所述多媒体数据属于多个预定类别中每个预定类别的概率值;以及根据所述概率向量,确定所述多个预定类别中所述多媒体数据所属的目标类别;
其中,所述压缩模型包括采用权利要求11所述的方法训练得到的模型。13.一种神经网络模型的压缩装置,包括:平滑模块,用于通过处理器分别利用多个缩放值对神经网络模型中的多个初始参数进行平滑,得到多个平滑参数组,所述多个平滑参数组中每个平滑参数组包括与所述多个初始参数对应的多个平滑参数,所述多个平滑参数组分别与所述多个缩放值一一对应...

【专利技术属性】
技术研发人员:徐畅李明昊于广华王豪爽沙燕霖于佃海马艳军
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1