线性量化的模型生成方法、装置和电子设备与流程

未命名 08-06 阅读:82 评论:0


1.本公开涉及人工智能技术领域,尤其涉及一种线性量化的模型生成方法、装置和电子设备。


背景技术:

2.在将深度神经网络模型部署到硬件设备上时,为了降低模型存储以及加快模型的推理速度,可以基于压缩技术,比如量化技术,对模型进行量化处理。其中,模型量化是指将浮点数以特定的处理方式映射到对应的整数域上,根据映射方式的不同,模型量化通常分为非线量化和非线性量化。其中,非线性量化的量化间隔是不相等的,线性量化的量化间隔是相等的。
3.由于深度神经网络模型中的权重和特征值通常是不均匀的,使用非线性量化能够得到较高的预测精度,但是在实际推理过程中,非线性量化的计算复杂度较高,因此,模型量化通常使用线性量化。
4.因此,在给定非线性量化模型的基础上,如何将该非线性量化模型转换为线性量化模型是非常重要的。


技术实现要素:

5.本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
6.本公开提出一种线性量化的模型生成方法、装置和电子设备,以实现根据给定的非线性量化模型,生成线性量化模型,以降低模型的存储开销,提升模型的预测速度。此外,根据非线性量化模型的输出,指导线性量化模型的训练或学习,可以提升线性量化模型的预测精度,即,可以利用非线性量化模型的表达能力,来提升线性量化模型预测的准确度。
7.本公开第一方面实施例提出了一种线性量化的模型生成方法,包括:
8.获取非线性量化的第一处理模型,并根据所述第一处理模型,生成线性量化的第二处理模型;
9.获取待输入数据,并将所述待输入数据输入所述第一处理模型,以得到所述第一处理模型中至少一层第一网络层输出的第一量化特征;
10.将所述待输入数据输入所述第二处理模型,以得到所述第二处理模型中的至少一层第二网络层输出的第二量化特征;
11.根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,对所述第二处理模型中的模型参数进行调整,以得到目标处理模型。
12.本公开第二方面实施例提出了另一种线性量化的模型生成装置,包括:
13.第一获取模块,用于获取非线性量化的第一处理模型;
14.生成模块,用于根据所述第一处理模型,生成线性量化的第二处理模型;
15.第二获取模块,用于获取待输入数据;
16.第一输入模块,用于将所述待输入数据输入所述第一处理模型,以得到所述第一处理模型中至少一层第一网络层输出的第一量化特征;
17.第二输入模块,用于将所述待输入数据输入所述第二处理模型,以得到所述第二处理模型中的至少一层第二网络层输出的第二量化特征;
18.调整模块,用于根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,对所述第二处理模型中的模型参数进行调整,以得到目标处理模型。
19.本公开第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面实施例提出的线性量化的模型生成方法。
20.本公开第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开第一方面实施例提出的线性量化的模型生成方法。
21.本公开第五方面实施例提出了一种计算机程序,包括计算机程序,所述计算机程序在被处理器执行时实现本公开第一方面实施例所述的线性量化的模型生成方法。
22.上述本公开中的一个实施例至少具有如下优点或有益效果:
23.通过获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型;获取待输入数据,并将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征;将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征;根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。由此,可以实现根据给定的非线性量化模型,生成线性量化模型,可以降低模型的存储开销,提升模型的预测速度。此外,根据非线性量化模型的输出,指导线性量化模型的训练或学习,可以提升线性量化模型的预测精度,即,可以利用非线性量化模型的表达能力,来提升线性量化模型预测的准确度。
24.本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
25.本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
26.图1为本公开实施例一所提供的线性量化的模型生成方法的流程示意图;
27.图2为本公开实施例二所提供的线性量化的模型生成方法的流程示意图;
28.图3为本公开实施例三所提供的线性量化的模型生成方法的流程示意图;
29.图4为本公开实施例四所提供的线性量化的模型生成方法的流程示意图;
30.图5为本公开实施例五所提供的线性量化的模型生成方法的流程示意图;
31.图6为本公开实施例所提供的非线性量化模型转线性量化模型的流程示意图;
32.图7为本公开实施例六所提供的线性量化的模型生成装置的结构示意图;
33.图8示出了适于用来实现本公开实施方式的示例性电子设备的框图。
具体实施方式
34.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
35.下面参考附图描述本公开实施例的线性量化的模型生成方法、装置和电子设备。
36.图1为本公开实施例一所提供的线性量化的模型生成方法的流程示意图。
37.本公开实施例的该线性量化的模型生成方法,可以应用于任一电子设备中,以使该电子设备能够执行线性量化的模型生成功能。
38.其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
39.如图1所示,该线性量化的模型生成方法可以包括以下步骤:
40.步骤101,获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型。
41.在本公开实施例中,非线性量化的第一处理模型可以为给定的,或者可以为预先训练得到的。
42.在本公开实施例中,对第一处理模型和第二处理模型的应用场景不作限制。
43.在本公开实施例的一种可能的实现方式中,第一处理模型和第二处理模型可以应用于图像识别场景,比如,第一处理模型可以为非线性量化的图像识别模型,相应的,第二处理模型可以为线性量化的图像识别模型。
44.其中,图像识别模型可以包括但不限于图像分类模型(输入为图像数据,输出为图像数据所属的类别)、目标检测模型(输入为图像数据,输出为图像数据中的二维检测信息(如至少一个检测框的二维位置信息和检测框内目标所属的类别)和/或三维检测信息(如检测框内目标的朝向角、深度、尺寸))、字符识别模型(输入为图像数据,输出为字符识别结果或ocr(optical character recognition,光学字符识别)识别结果)、图像检索模型(输入为图像数据,输出为图像、视频等)等。
45.在本公开实施例的另一种可能的实现方式中,第一处理模型和第二处理模型可以应用于文本识别场景或文本处理场景,比如,第一处理模型可以为非线性量化的文本处理模型,相应的,第二处理模型可以为线性量化的文本处理模型。
46.其中,文本处理模型可以包括但不限于文本分类模型(输入为文本数据,输出为文本数据所属的类别)、实体词提取模型(输入为文本数据,输出为文本数据中的实体词)、文本翻译模型(输入为第一语言的文本数据,输出为第二语言的文本数据,其中,第一语言与第二语言不同,比如,第一语言可以为中文,第二语言可以为英文)等。
47.在本公开实施例的又一种可能的实现方式中,第一处理模型和第二处理模型可以应用于语音识别场景或语音处理场景,比如,第一处理模型可以为非线性量化的语音处理模型,相应的,第二处理模型可以为线性量化的语音处理模型。
48.其中,语音处理模型可以包括但不限于语音识别模型(输入为语音数据,输出为文
本信息)、音色转换模型(输入为第一音色的语音数据,输出为第二音色的语音数据,其中,第一音色与第二音色不同,比如第一音色可以为老人音,第二音色可以为儿童音)、语音翻译模型(输入为第一语言的语音数据,输出为第二语言的语音数据)等。
49.在本公开实施例中,可以根据第一处理模型,生成线性量化的第二处理模型。比如,可以设置第一处理模型的线性量化方式,根据该线性量化方式,对第一处理模型进行线性量化处理,以得到线性量化的第二处理模型。
50.步骤102,获取待输入数据,并将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征。
51.在本公开实施例中,待输入数据与第一处理模型和第二处理模型的应用场景相关,比如,当第一处理模型和第二处理模型应用于图像识别场景时,待处理数据可以为图像数据,再比如,当第一处理模型和第二处理模型应用于文本识别场景或文本处理场景时,待输入数据可以为文本数据,再比如,当第一处理模型和第二处理模型应用于语音识别场景或语音处理场景时,待输入数据可以为语音数据(或音频数据)。
52.在本公开实施例中,第一处理模型可以包括至少一层网络层(本公开中记为第一网络层),当第一网络层的数量为多层时,前一层第一网络层的输出是后一层第一网络层的输入。
53.在本公开实施例中,可以将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的量化特征(本公开中记为第一量化特征)。
54.步骤103,将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征。
55.在本公开实施例中,第二处理模型同样可以包括至少一层网络层(本公开中记为第二网络层),其中,第二网络层的层数与第一网络层相同。
56.同理,可以将待输入数据输入第二处理模型,以得到第二处理模型中至少一层第二网络层输出的量化特征(本公开中记为第二量化特征)。
57.步骤104,根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。
58.在本公开实施例中,可以根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异(或称为量化差异),对第二处理模型中的模型参数进行调整,以得到目标处理模型。
59.在本公开实施例的一种可能的实现方式中,可以根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,确定第一损失函数的取值(即损失值),本公开中记为第二损失值。
60.作为一种可能的实现方式,当第一网络层和第二网络层的数量为一层时,可以根据第一网络层输出的第一量化特征和第二网络层输出的第二量化特征之间的差异,确定第二损失值,其中,第二损失值与上述差异呈正相关关系,即上述差异越大,第二损失值的取值越大,反之,上述差异越小,第二损失值的取值越小。
61.作为另一种可能的实现方式,当第一网络层和第二网络层的数量均为多层时,可以根据第一处理模型中第i层第一网络层输出的第一量化特征和第二处理模型中第i层第
二网络层输出的第二量化特征之间的差异,确定第i层的损失值,从而本公开中,可以根据各层的损失值,确定第二损失值。
62.其中,i为正整数,且i小于或等于m,m为第一网络层或第二网络层的数量。
63.从而本公开中,可以根据第二损失值,对第二处理模型中的模型参数进行调整,以得到线性量化的目标处理模型。
64.作为一种示例,可以根据第二损失值,对第二处理模型中的模型参数进行调整,以使第二损失值最小化。
65.需要说明的是,上述仅以模型训练的结束条件或终止条件为第二损失值最小化进行示例,实际应用时,还可以设置其他结束条件,比如,结束条件还可以为训练次数达到设定次数,训练时长达到设定时长,等等,本公开对此并不做限制。
66.本公开实施例的线性量化的模型生成方法,通过获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型;获取待输入数据,并将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征;将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征;根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。由此,可以实现根据给定的非线性量化模型,生成线性量化模型,可以降低模型的存储开销,提升模型的预测速度。此外,根据非线性量化模型的输出,指导线性量化模型的训练或学习,可以提升线性量化模型的预测精度,即,可以利用非线性量化模型的表达能力,来提升线性量化模型预测的准确度。
67.为了清楚说明上述实施例是如何获取待输入数据的,本公开还提出一种线性量化的模型生成方法。
68.图2为本公开实施例二所提供的线性量化的模型生成方法的流程示意图。
69.如图2所示,该线性量化的模型生成方法可以包括以下步骤:
70.步骤201,获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型。
71.步骤201的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
72.步骤202,获取随机生成的初始输入数据。
73.在本公开实施例中,可以获取随机生成的初始输入数据,该初始输入数据又可以称为随机分布数据。
74.其中,初始输入数据的数据类型与待输入数据匹配,比如,当待输入数据为图像数据时,初始输入数据也为图像数据,再比如,当待输入数据为文本数据时,初始输入数据也为文本数据,又比如,当待输入数据为语音数据(或音频数据)时,初始输入数据也为语音数据(或音频数据)。
75.步骤203,获取第一处理模型中每层第一网络层中批归一化batchnorm模块的统计信息;其中,统计信息用于指示batchnorm模块的输出特征的第一均值和/或第一方差。
76.在本公开实施例中,可以利用样本数据对第一处理模型进行预先训练,其中,样本数据的数据类型与待输入数据匹配,在第一处理模型经过训练后,可以获取第一处理模型中每一层第一网络层中的batchnorm模块的统计信息,其中,统计信息用于指示batchnorm
模块的输出特征的第一均值和/或第一方差。
77.例如,每当将一个样本数据输入第一处理模型后,可以获取第一处理模型中各层第一网络层中的batchnorm模块的输出特征,当输入多个样本数据后,可以获取每一层第一网络层中的batchnorm模块对应的多个输出特征,根据多个输出特征,确定该层第一网络层中的batchnorm模块的统计信息。
78.步骤204,将初始输入数据输入第一处理模型,以得到每层第一网络层中batchnorm模块输出的多个维度的目标特征。
79.在本公开实施例中,可以将初始输入数据输入第一处理模型,以得到每层第一网络层中的batchnorm模块输出的多个维度的目标特征。
80.举例而言,以第一处理模型为非线性量化的图像识别模型进行示例,batchnorm模块输出的可以为c个目标特征b
×h×
w,其中,c是指维度分量,b是指批(即图像的批次,同一批次中包括多个图像),h是指特征的高度分量,w是指特征的宽度分量。
81.步骤205,根据每层第一网络层中batchnorm模块的统计信息和多个维度的目标特征,生成第一损失值。
82.在本公开实施例中,可以根据每一层第一网络层中batchnorm模块的统计信息,以及该层第一网络层中batchnorm模块输出的多个维度的目标特征,确定第二损失函数的取值,本公开中记为第一损失值。
83.作为一种示例,针对任意一层第一网络层,可以根据该层第一网络层中batchnorm模块输出的多个维度的目标特征,确定第二均值和/或第二方差,根据该层第一网络层中batchnorm模块的统计信息和第二均值和/或第二方差,确定第一损失值。
84.步骤206,根据第一损失值,对初始输入数据进行调整,以得到待输入数据。
85.在本公开实施例中,可以根据第一损失值,对初始输入数据进行调整,以得到待输入数据。
86.作为一种示例,可以根据第一损失值,对初始输入数据进行调整,以使第一损失值最小化,从而可以将调整后的初始输入数据,作为待输入数据。
87.步骤207,将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征。
88.步骤208,将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征。
89.步骤209,根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。
90.步骤207至209的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
91.本公开实施例的线性量化的模型生成方法,可以实现通过data-free的方式进行模型量化,即自动生成线性量化模型所需的训练数据,可以降低数据的获取成本,并避免数据隐私等问题。
92.为了清楚说明本公开任一实施例中是如何根据每层第一网络层中batchnorm模块的统计信息和多个维度的目标特征,生成第二损失值的,本公开还提出一种线性量化的模
型生成方法。
93.图3为本公开实施例三所提供的线性量化的模型生成方法的流程示意图。
94.如图3所示,该线性量化的模型生成方法可以包括以下步骤:
95.步骤301,获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型。
96.步骤302,获取随机生成的初始输入数据,并获取第一处理模型中每层第一网络层中batchnorm模块的统计信息。
97.其中,统计信息用于指示batchnorm模块的输出特征的第一均值和/或第一方差。
98.步骤303,将初始输入数据输入第一处理模型,以得到每层第一网络层中batchnorm模块输出的多个维度的目标特征。
99.步骤301至303的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
100.步骤304,针对任一层第一网络层,确定第一网络层中batchnorm模块输出的多个维度的目标特征的第二均值和/或第二方差。
101.在本公开实施例中,针对第一处理模型中的任意一层第一网络层,可以确定该第一网络层中batchnorm模块输出的多个维度的目标特征的第二均值和/或第二方差。
102.步骤305,根据第一网络层中batchnorm模块的统计信息,以及根据第二均值和/或第二方差,确定第一网络层对应的第一子损失值。
103.在本公开实施例中,可以根据该第一网络层中batchnorm模块的统计信息,以及根据第二均值和/或第二方差,确定该第一网络层对应的第一子损失值。
104.作为一种示例,当统计信息用于指示batchnorm模块的输出特征的第一均值时,可以根据该第一网络层中batchnorm模块的统计信息所指示的第一均值和第二均值之间的第一差异,确定该第一网络层对应的第一子损失值。其中,第一子损失值与第一差异呈正相关关系。
105.作为另一种示例,当统计信息用于指示batchnorm模块的输出特征的第一方差时,可以根据该第一网络层中batchnorm模块的统计信息所指示的第一方差和第二方差之间的第二差异,确定第一网络层对应的第一子损失值。其中,第一子损失值与第二差异呈正相关关系。
106.作为又一种示例,当统计信息用于指示batchnorm模块的输出特征的第一均值和第一方差时,可以根据该第一网络层中batchnorm模块的统计信息所指示的第一均值和第二均值之间的第一差异,以及根据该第一网络层中batchnorm模块的统计信息所指示的第一方差和第二方差之间的第二差异,确定第一网络层对应的第一子损失值。其中,第一子损失值与第一差异呈正相关关系,且第一子损失值与第二差异也呈正相关关系。
107.作为一种示例,可以根据该第一网络层中batchnorm模块的统计信息所指示的第一方差和第二方差之间的第二差异,确定第一损失项,其中,第一损失项与第二差异呈正相关关系,并且,可以根据该第一网络层中batchnorm模块的统计信息所指示的第一均值和第二均值之间的第一差异,确定第二损失项,其中,第二损失项与第一差异呈正相关关系,从而本公开中,可以根据第一损失项和第二损失项,确定第一网络层对应的第一子损失值。
108.其中,第一子损失值与第一损失项呈正相关关系,且第一子损失值与第二损失项
也呈正相关关系。
109.步骤306,根据各层第一网络层的第一子损失值,确定第一损失值。
110.在本公开实施例中,可以根据第一处理模型中各层第一网络层的第一子损失值,确定第一损失值。
111.作为一种可能的实现方式,可以将各层第一网络层的第一子损失值的均值,作为第一损失值。
112.作为另一种可能的实现方式,可以将各层第一网络层的第一子损失值的累加和,作为第一损失值。
113.作为又一种可能的实现方式,可以获取各层第一网络层的权重,并根据各层第一网络层的权重,对各层第一网络层的第一子损失值进行加权求和,以得到第一损失值。
114.步骤307,根据第一损失值,对初始输入数据进行调整,以得到待输入数据。
115.步骤308,将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征。
116.步骤309,将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征。
117.步骤310,根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。
118.步骤307至310的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
119.本公开实施例的线性量化的模型生成方法,可以实现根据第一处理模型中各层第一网络层中batchnorm模块的统计信息,来生成线性量化模型所需的训练数据,提升数据生成的有效性。
120.为了清楚说明本公开任一实施例中是如何根据各层第一网络层输出的第一量化特征和各层第二网络层输出的第二量化特征之间的差异,生成第一损失值的,本公开还提出一种线性量化的模型生成方法。
121.图4为本公开实施例四所提供的线性量化的模型生成方法的流程示意图。
122.如图4所示,该线性量化的模型生成方法可以包括以下步骤:
123.步骤401,获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型。
124.步骤402,获取待输入数据,并将待输入数据输入第一处理模型,以得到第一处理模型中多层第一网络层输出的第一量化特征。
125.步骤403,将待输入数据输入第二处理模型,以得到第二处理模型中的多层第二网络层输出的第二量化特征。
126.步骤401至403的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
127.步骤404,针对任一层第二网络层,从多层第一网络层中确定与第二网络层对应的第一网络层。
128.在本公开实施例中,针对第二处理模型中的任意一层第二网络层,可以从第一处
理模型中的多层第一网络层中,确定与该第二网络层对应的第一网络层。例如,针对第二处理模型中的第i层第二网络层,与该第i层第二网络层对应的第一网络层可以为第一处理模型中的第i层第一网络层。
129.其中,i为正整数,且i小于或等于m,m为第一网络层或第二网络层的数量。
130.步骤405,根据第二网络层输出的第二量化特征和对应的第一网络层输出的第一量化特征之间的差异,生成第二网络层对应的第二子损失值。
131.在本公开实施例中,可以该第二网络层输出的第二量化特征和与该第二网络层对应的第一网络层输出的第一量化特征之间的差异,生成第二网络层对应的第二子损失值。
132.其中,第二子损失值与上述差异呈正相关关系。
133.步骤406,根据多层第二网络层对应的第二子损失值,确定第二损失值。
134.在本公开实施例中,可以根据多层第二网络层对应的第二子损失值,确定第二损失值。
135.作为一种可能的实现方式,可以将多层第二网络层的第二子损失值的均值,作为第二损失值。
136.作为另一种可能的实现方式,可以将多层第二网络层的第二子损失值的累加和,作为第二损失值。
137.作为又一种可能的实现方式,可以获取多层第二网络层的权重,并根据多层第二网络层的权重,对多层第二网络层的第二子损失值进行加权求和,以得到第二损失值。
138.由此,可以实现根据不同方式,确定第二损失值,可以提升该方法的灵活性和适用性。
139.步骤407,根据第二损失值对第二处理模型中的模型参数进行调整,以得到目标处理模型。
140.步骤407的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
141.本公开实施例的线性量化的模型生成方法,可以实现根据第二处理模型中的每层第二网络对应的子损失值,确定该第二处理模型对应的损失值,可以提升损失计算的准确性。
142.为了清楚说明本公开任一实施例中是如何根据第一处理模型,生成线性量化的第二处理模型的,本公开还提出一种线性量化的模型生成方法。
143.图5为本公开实施例五所提供的线性量化的模型生成方法的流程示意图。
144.如图5所示,该线性量化的模型生成方法可以包括以下步骤:
145.步骤501,获取非线性量化的第一处理模型。
146.步骤501的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
147.步骤502,获取第一处理模型中至少一层第一网络层对应的线性量化方式。
148.在本公开实施例中,第一处理模型中每一层第一网络层对应的线性量化方式可以采用标准的线性堆成量化方式,或者,也可以根据不同的硬件平台进行选择,本公开对此并不做限制。
149.步骤503,根据至少一层第一网络层对应的线性量化方式,对至少一层第一网络层进行线性量化处理,以得到线性量化的第二处理模型。
150.在本公开实施例中,可以根据每一层第一网络层的线性量化方式,对该层第一网
络层进行线性量化处理,以得到第二处理模型中对应层的第二网络层。
151.步骤504,获取待输入数据,并将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征。
152.步骤505,将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征。
153.步骤506,根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。
154.步骤504至506的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
155.本公开实施例的线性量化的模型生成方法,可以实现根据非线性量化模型中各层网络层对应的线性量化方式,将非线性量化模型转换为硬件友好的线性量化模型,提升线性量化模型生成的有效性。
156.相关技术中,在进行模型量化时,根据是否校准数据,分为data-based和data-free两种量化方式,其中,data-based的量化方式通常需要提供一定的校准数据来模拟量化过程,并通过让校准数据上的误差最小化的方式,来提高量化模型的预测精度。data-free的量化方式不再依赖校准方式,而是通过数据或模型的统计信息等进行量化模拟。
157.上述data-based的量化方式,通常需要提供与目标数据集同源的校准数据,需要耗费一定的人力和物力进行数据收集,而且在数据收集过程中,往往会遇到数据隐私等问题。针对该问题,可以通过data-free的量化方式进行模型量化。
158.因此,在不使用校准数据的前提下,如何将非线性量化模型转换为线性量化模型是非常重要的。
159.在本公开的任意一个实施例之中,对于给定的非线性量化模型,首先,可以通过非线性量化模型中各层网络层的统计信息进行数据仿造。同时,可以根据非线性量模型定义模型中各层网络层的线性量化方式,得到对应的线性量化模型。然后,可以将仿造的数据分别通过非线性量化模型和线性量化模型,运算得到模型中各层网络层的输出。最后,通过让模型中各层网络层的输出的量化差异最小化,来恢复线性量化模型的准确度,从而得到一个部署友好的线性量化模型。
160.由此,可以实现将非线性量化模型转换为硬件友好的线性量化模型,并且充分利用了非线性量化模型的准确度。此外,通过data-free的方式减少了数据成本,避免了数据隐私等问题。
161.下面结合图6,对data-free的非线性量化模型转线性量化模型的过程进行详细说明。
162.其中,非线性量化模型转线性量化模型的过程主要包括以下步骤:输入非线性量化模型、进行数据仿造、生成线性量化模型、仿造数据上线性量化和非线性量化的差异最小化,以及输出恢复准确度的线性量化模型等。
163.(1)输入非线性量化模型。
164.(2)进行数据仿造。主要使用非线性量化模型的统计信息,其中,统计信息主要是指模型各层网络层中的batchnorm模块(位于两个卷积模块之间,或者,位于卷积模块和激
活函数之间)的均值和/或方差,并将统计信息中的均值和/或方差作为学习标签,然后,给定一个待学习的随机分布数据,并将随机分布数据输入非线性量化模型,得到非线性量化模型中各层网络层中batchnorm模块输出的特征均值和/或方差,并与学习标签进行比对,来计算损失值,并根据损失值通过反向传播的方式逐渐优化随机分布数据,最终可得到训练好的仿造数据(本公开中记为待输入数据)。
165.(3)根据输入的非线性量化模型,重新定义各层网络层的线性量化方式。其中,线性量化方式可采用标准的线性堆成量化方式,也可以根据不同的硬件平台进行选择,从而得到一个待优化的线性量化模型。
166.(4)完成(2)和(3)后,将仿造数据分别输入非线性量化模型和待优化的线性量化模型,分别得到非线性量化模型中各层网络层输出的量化特征以及线性量化模型中各层网络层输出的量化特征,然而,可以计算两个模型中各层网络层的量化差异,并将各层网络层的量化差异通过加和的方式作为量化差异损失,最后,根据差异损失通过反向传播的方式优化线性量化模型各层网络层的模型参数,以减少两个模型的量化差异,从而提高线性量化模型的准确度。
167.(5)将恢复准确度的线性量化模型进行输出。
168.综上,可以实现将非线性量化模型转换为硬件友好的线性量化模型;利用非线性量化模型的表达能力,来提升线性量化模型预测的准确度;通过data-free的方式降低了数据成本,并避免了数据隐私等问题。
169.与上述图1至图5实施例提供的线性量化的模型生成方法相对应,本公开还提供一种线性量化的模型生成装置,由于本公开实施例提供的线性量化的模型生成装置与上述图1至图5实施例提供的线性量化的模型生成方法相对应,因此在线性量化的模型生成方法的实施方式也适用于本公开实施例提供的线性量化的模型生成装置,在本公开实施例中不再详细描述。
170.图7为本公开实施例六所提供的线性量化的模型生成装置的结构示意图。
171.如图7所示,该线性量化的模型生成装置700可以包括:第一获取模块701、生成模块702、第二获取模块703、第一输入模块704、第二输入模块705以及调整模块706。
172.其中,第一获取模块701,用于获取非线性量化的第一处理模型。
173.生成模块702,用于根据第一处理模型,生成线性量化的第二处理模型。
174.第二获取模块703,用于获取待输入数据。
175.第一输入模块704,用于将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征。
176.第二输入模块705,用于将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第二量化特征。
177.调整模块706,用于根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。
178.在本公开实施例的一种可能的实现方式中,第二获取模块703,具体用于:获取随机生成的初始输入数据;获取每层第一网络层中批归一化batchnorm模块的统计信息;其中,统计信息用于指示batchnorm模块的输出特征的第一均值和/或第一方差;将初始输入
数据输入第一处理模型,以得到每层第一网络层中batchnorm模块输出的多个维度的目标特征;根据每层第一网络层中batchnorm模块的统计信息和多个维度的目标特征,生成第一损失值;根据第一损失值,对初始输入数据进行调整,以得到待输入数据。
179.在本公开实施例的一种可能的实现方式中,第二获取模块703,具体用于:针对任一层第一网络层,确定第一网络层中batchnorm模块输出的多个维度的目标特征的第二均值和/或第二方差;根据第一网络层中batchnorm模块的统计信息,以及根据第二均值和/或第二方差,确定第一网络层对应的第一子损失值;根据各层第一网络层的第一子损失值,确定第一损失值。
180.在本公开实施例的一种可能的实现方式中,第二获取模块703,具体用于:根据第一网络层中batchnorm模块的统计信息所指示的第一方差和第二方差之间的差异,确定第一损失项;根据第一网络层中batchnorm模块的统计信息所指示的第一均值和第二均值之间的差异,确定第二损失项;根据第一损失项和第二损失项,确定第一网络层对应的第一子损失值。
181.在本公开实施例的一种可能的实现方式中,调整模块706,具体用于:根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,生成第二损失值;根据第二损失值,对第二处理模型中的模型参数进行调整,以得到目标处理模型。
182.在本公开实施例的一种可能的实现方式中,第一网络层和第二网络层均为多层,调整模块706,具体用于:针对任一层第二网络层,从多层第一网络层中确定与第二网络层对应的第一网络层;根据第二网络层输出的第二量化特征和对应的第一网络层输出的第一量化特征之间的差异,生成第二网络层对应的第二子损失值;根据多层第二网络层对应的第二子损失值,确定第二损失值。
183.在本公开实施例的一种可能的实现方式中,调整模块706,具体用于:将多层第二网络层的第二子损失值的均值,作为第二损失值;将多层第二网络层的第二子损失值的累加和,作为第二损失值;获取多层第二网络层的权重,并根据多层第二网络层的权重,对多层第二网络层的第二子损失值进行加权求和,以得到第二损失值。
184.在本公开实施例的一种可能的实现方式中,生成模块702,具体用于:获取至少一层第一网络层对应的线性量化方式;根据至少一层第一网络层对应的线性量化方式,对至少一层第一网络层进行线性量化处理,以得到线性量化的第二处理模型。
185.在本公开实施例的一种可能的实现方式中,待输入数据为图像数据,第一处理模型为非线性量化的图像识别模型,第二处理模型或目标处理模型为线性量化的图像识别模型;或者,待输入数据为文本数据,第一处理模型为非线性量化的文本处理模型,第二处理模型或目标处理模型为线性量化的文本处理模型;或者,待输入数据为语音数据,第一处理模型为非线性量化的语音处理模型,第二处理模型或目标处理模型为线性量化的语音处理模型。
186.本公开实施例的线性量化的模型生成装置,通过获取非线性量化的第一处理模型,并根据第一处理模型,生成线性量化的第二处理模型;获取待输入数据,并将待输入数据输入第一处理模型,以得到第一处理模型中至少一层第一网络层输出的第一量化特征;将待输入数据输入第二处理模型,以得到第二处理模型中的至少一层第二网络层输出的第
二量化特征;根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,以得到目标处理模型。由此,可以实现根据给定的非线性量化模型,生成线性量化模型,可以降低模型的存储开销,提升模型的预测速度。此外,根据非线性量化模型的输出,指导线性量化模型的训练或学习,可以提升线性量化模型的预测精度,即,可以利用非线性量化模型的表达能力,来提升线性量化模型预测的准确度。
187.为了实现上述实施例,本公开还提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开前述任一实施例提出的线性量化的模型生成方法。
188.为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述任一实施例提出的线性量化的模型生成方法。
189.为了实现上述实施例,本公开还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本公开前述任一实施例提出的线性量化的模型生成方法。
190.图8示出了适于用来实现本公开实施方式的示例性电子设备的框图。图8显示的电子设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
191.如图8所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
192.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture;以下简称:isa)总线,微通道体系结构(micro channel architecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(video electronics standards association;以下简称:vesa)局域总线以及外围组件互连(peripheral component interconnection;以下简称:pci)总线。
193.电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
194.存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory;以下简称:ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compact disc read only memory;以下简称:cd-rom)、数字多功能只读光盘(digital video disc read only memory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各
实施例的功能。
195.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
196.电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network;以下简称:lan),广域网(wide area network;以下简称:wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
197.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
198.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
199.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
200.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
201.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电
连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
202.应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
203.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
204.此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
205.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:
1.一种线性量化的模型生成方法,其特征在于,所述方法包括:获取非线性量化的第一处理模型,并根据所述第一处理模型,生成线性量化的第二处理模型;获取待输入数据,并将所述待输入数据输入所述第一处理模型,以得到所述第一处理模型中至少一层第一网络层输出的第一量化特征;将所述待输入数据输入所述第二处理模型,以得到所述第二处理模型中的至少一层第二网络层输出的第二量化特征;根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,对所述第二处理模型中的模型参数进行调整,以得到目标处理模型。2.根据权利要求1所述的方法,其特征在于,所述获取待输入数据,包括:获取随机生成的初始输入数据;获取每层所述第一网络层中批归一化batchnorm模块的统计信息;其中,所述统计信息用于指示所述batchnorm模块的输出特征的第一均值和/或第一方差;将所述初始输入数据输入所述第一处理模型,以得到每层所述第一网络层中batchnorm模块输出的多个维度的目标特征;根据每层所述第一网络层中batchnorm模块的统计信息和所述多个维度的目标特征,生成第一损失值;根据所述第一损失值,对所述初始输入数据进行调整,以得到所述待输入数据。3.根据权利要求2所述的方法,其特征在于,所述根据每层所述第一网络层中batchnorm模块的统计信息和所述多个维度的目标特征,生成第一损失值,包括:针对任一层所述第一网络层,确定所述第一网络层中batchnorm模块输出的多个维度的目标特征的第二均值和/或第二方差;根据所述第一网络层中batchnorm模块的统计信息,以及根据所述第二均值和/或所述第二方差,确定所述第一网络层对应的第一子损失值;根据各层所述第一网络层的第一子损失值,确定所述第一损失值。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一网络层中batchnorm模块的统计信息,以及根据所述第二均值和/或所述第二方差,确定所述第一网络层对应的第一子损失值,包括:根据所述第一网络层中batchnorm模块的统计信息所指示的第一方差和所述第二方差之间的差异,确定第一损失项;根据所述第一网络层中batchnorm模块的统计信息所指示的第一均值和所述第二均值之间的差异,确定第二损失项;根据所述第一损失项和所述第二损失项,确定所述第一网络层对应的第一子损失值。5.根据权利要求1所述的方法,其特征在于,所述根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,对所述第二处理模型中的模型参数进行调整,以得到目标处理模型,包括:根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,生成第二损失值;
根据所述第二损失值,对所述第二处理模型中的模型参数进行调整,以得到目标处理模型。6.根据权利要求5所述的方法,其特征在于,所述第一网络层和所述第二网络层均为多层,所述根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,生成第二损失值,包括:针对任一层所述第二网络层,从多层所述第一网络层中确定与所述第二网络层对应的第一网络层;根据所述第二网络层输出的第二量化特征和所述对应的第一网络层输出的第一量化特征之间的差异,生成所述第二网络层对应的第二子损失值;根据多层所述第二网络层对应的第二子损失值,确定所述第二损失值。7.根据权利要求6所述的方法,其特征在于,所述根据多层所述第二网络层对应的第二子损失值,确定所述第二损失值,包括:将所述多层第二网络层的第二子损失值的均值,作为所述第二损失值;将所述多层第二网络层的第二子损失值的累加和,作为所述第二损失值;获取所述多层第二网络层的权重,并根据所述多层第二网络层的权重,对所述多层第二网络层的第二子损失值进行加权求和,以得到所述第二损失值。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述根据所述第一处理模型,生成线性量化的第二处理模型,包括:获取所述至少一层第一网络层对应的线性量化方式;根据所述至少一层第一网络层对应的线性量化方式,对所述至少一层第一网络层进行线性量化处理,以得到线性量化的第二处理模型。9.根据权利要求1-7中任一项所述的方法,其特征在于,所述待输入数据为图像数据,所述第一处理模型为非线性量化的图像识别模型,所述第二处理模型或所述目标处理模型为线性量化的图像识别模型;或者,所述待输入数据为文本数据,所述第一处理模型为非线性量化的文本处理模型,所述第二处理模型或所述目标处理模型为线性量化的文本处理模型;或者,所述待输入数据为语音数据,所述第一处理模型为非线性量化的语音处理模型,所述第二处理模型或所述目标处理模型为线性量化的语音处理模型。10.一种线性量化的模型生成装置,其特征在于,所述装置包括:第一获取模块,用于获取非线性量化的第一处理模型;生成模块,用于根据所述第一处理模型,生成线性量化的第二处理模型;第二获取模块,用于获取待输入数据;第一输入模块,用于将所述待输入数据输入所述第一处理模型,以得到所述第一处理模型中至少一层第一网络层输出的第一量化特征;第二输入模块,用于将所述待输入数据输入所述第二处理模型,以得到所述第二处理模型中的至少一层第二网络层输出的第二量化特征;
调整模块,用于根据所述至少一层第一网络层输出的第一量化特征和所述至少一层第二网络层输出的第二量化特征之间的差异,对所述第二处理模型中的模型参数进行调整,以得到目标处理模型。11.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。

技术总结
本公开提出一种线性量化的模型生成方法、装置和电子设备,方法包括:获取非线性量化的第一处理模型和待输入数据;根据第一处理模型,生成线性量化的第二处理模型;将待输入数据输入第一处理模型,得到第一处理模型中至少一层第一网络层输出的第一量化特征;将待输入数据输入第二处理模型,得到第二处理模型中的至少一层第二网络层输出的第二量化特征;根据至少一层第一网络层输出的第一量化特征和至少一层第二网络层输出的第二量化特征之间的差异,对第二处理模型中的模型参数进行调整,得到目标处理模型。由此,可以实现根据给定的非线性量化模型,生成线性量化模型,降低模型的存储开销,提升模型的预测速度。提升模型的预测速度。提升模型的预测速度。


技术研发人员:刘建伟
受保护的技术使用者:杭州爱芯元智科技有限公司
技术研发日:2023.03.28
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐