CN116681110A - 极值算法的配置方法、电子设备、程序产品及介质 - Google Patents
极值算法的配置方法、电子设备、程序产品及介质 Download PDFInfo
- Publication number
- CN116681110A CN116681110A CN202211302946.4A CN202211302946A CN116681110A CN 116681110 A CN116681110 A CN 116681110A CN 202211302946 A CN202211302946 A CN 202211302946A CN 116681110 A CN116681110 A CN 116681110A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network node
- quantized
- extremum
- value
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 199
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013528 artificial neural network Methods 0.000 claims abstract description 271
- 238000013139 quantization Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000013145 classification model Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 101100170365 Arabidopsis thaliana At5g60805 gene Proteins 0.000 description 4
- 101100129345 Schizosaccharomyces pombe (strain 972 / ATCC 24843) mae2 gene Proteins 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 101150002475 mae1 gene Proteins 0.000 description 4
- 238000003709 image segmentation Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 101000630267 Homo sapiens Probable glutamate-tRNA ligase, mitochondrial Proteins 0.000 description 2
- 102100026125 Probable glutamate-tRNA ligase, mitochondrial Human genes 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/04—Architecture, e.g. interconnection topology
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种极值算法的配置方法包括:根据待量化的神经网络节点数值序列和K个极值算法生成K个量化数值序列,将每个量化数值序列反量化为候选数值序列,再根据待量化的神经网络节点数值序列和每个候选数值序列计算出K个误差组;从K个误差组中选取目标误差组,然后从K个极值算法中确定与目标误差组对应的目标极值算法;将神经网络节点数值序列的极值算法设置为目标极值算法。该方法能够自动设置神经网络节点数值序列的极值算法,提高配置极值算法的效率。本申请实施例还提供能够实现上述方法的电子设备、程序产品及计算机可读存储介质。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种极值算法的配置方法、电子设备、程序产品及计算机可读存储介质。
背景技术
在深度学习领域中,模型量化是指压缩模型参数值的方法,其用低比特的模型参数值(如8比特)替代高比特的模型参数值(如32比特),以降低模型参数值的存储开销和计算开销。
目前的神经网络模型中每个神经网络节点配置的极值算法都是人工配置的。由于神经网络模型包括大量神经网络节点,因此人工配置神经网络节点的极值算法的效率不高。
发明内容
本申请提供了一种极值算法的配置方法、电子设备、程序产品及计算机可读存储介质,目的在于解决人工配置神经网络节点的极值算法效率低的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供的一种极值算法的配置方法包括:获取待量化的神经网络节点数值序列以及K个极值算法后,根据待量化的神经网络节点数值序列和K个极值算法生成K个量化数值序列,将每个量化数值序列反量化为候选数值序列;计算每个候选数值序列与待量化的神经网络节点数值序列之间的误差组,每个误差组包括至少一种误差值;从计算得到的误差组中选取目标误差组;然后根据误差组与极值算法的对应关系从K个极值算法中确定与目标误差组对应的目标极值算法;将神经网络节点数值序列的极值算法设置为目标极值算法。
对于神经网络模型的每个神经网络节点,上述方法能够根据多个极值算法计算出相应的误差组,再根据多个误差组中的目标误差组从多个极值算法中选取目标极值算法,然后自动设置神经网络节点数值序列的极值算法,这样能够极大地提高配置极值算法的效率。
在一种可能的实现方式中,根据待量化的神经网络节点数值序列和K个极值算法生成K个量化数值序列包括:根据K个极值算法确定K个数值区间的极值;从K个数值区间的极值中依次选取一个数值区间的极值;根据待量化的神经网络节点数值序列、选取的数值区间的极值以及量化数值区间的极值计算出选取的数值区间对应的量化数值序列。依此可以使用不同的极值算法计算出多个数值区间的最大值和最小值,从而采用不同的方式对神经网络节点数值序列进行量化。
结合前一种可能的实现方式,在另一种可能的实现方式中,极值包括最大值和最小值,待量化的神经网络节点数值序列、选取的数值区间的极值、量化数值区间的极值和选取的数值区间对应的量化数值序列满足以下公式:
为选取的数值区间对应的量化数值序列,x为待量化的神经网络节点数值序列,rmax为选取的数值区间的最大值、rmin为选取的数值区间的最小值、Qmax为量化数值区间的最大值,Qmin为量化数值区间的最小值,Z为量化数值区间的零点数,round()为四舍五入函数。
在另一种可能的实现方式中,从计算得到的误差组中选取目标误差组包括:使用集成算法从计算得到的误差组中选取目标误差组。集成算法可以是但不限于bagging算法,依此可以投票出最佳误差组。
在另一种可能的实现方式中,从计算得到的误差组中选取目标误差组包括:当计算得到的误差组包括多个误差值时,对每个误差组求和;确定目标误差组为最小求和结果对应的误差组。这样提供了一种简便可行的选择目标误差组的方法。
在另一种可能的实现方式中,极值算法为常量算法,最后值算法,指数移动平均算法,截断算法,学习步长量化算法或直方图算法。
在另一种可能的实现方式中,误差值为待量化的神经网络节点数值序列与候选数值序列之间的均方误差,待量化的神经网络节点数值序列与候选数值序列之间的平均绝对值误差或待量化的神经网络节点数值序列与候选数值序列之间的KL散度。
结合第一方面的以上可能实现方式,在另一种可能的实现方式中,神经网络节点数值序列为神经网络节点权重或神经网络节点张量。
结合第一方面的以上可能实现方式,在另一种可能的实现方式中,神经网络节点数值序列的数量为2个,2个神经网络节点数值序列为神经网络节点权重和神经网络节点张量。
结合前一种可能实现方式,在另一种可能的实现方式中,本申请中极值算法的配置方法还包括:
步骤A:获取待处理图像;
步骤B:将待处理图像转换为待量化的第一层神经网络节点张量;
步骤C:设置i的初始值为1;
步骤D:根据待量化的第i层神经网络节点张量和第i层神经网络节点张量对应的目标极值算法生成量化后的第i层神经网络节点张量;
步骤E:根据待量化的第i层神经网络节点权重和第i层神经网络节点权重对应的目标极值算法生成量化后的第i层神经网络节点权重;
步骤F:当第i层神经网络节点不是最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重计算第i层神经网络节点的输出值;
步骤G:根据第i层神经网络节点的输出值生成待量化的第i+1层神经网络节点张量;
步骤H:将i更新为i+1,触发步骤D至步骤E;
步骤I:当第i层神经网络节点为最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重输出待处理图像的图像类别。
第二方面提供的一种电子设备包括量化单元,反量化单元和配置算法单元;量化单元用于获取待量化的神经网络节点数值序列以及K个极值算法;根据待量化的神经网络节点数值序列和K个极值算法生成K个量化数值序列;反量化单元用于将每个量化数值序列反量化为候选数值序列;配置算法单元用于计算每个候选数值序列与待量化的神经网络节点数值序列之间的误差组;从计算得到的误差组中选取目标误差组;根据误差组与极值算法的对应关系从K个极值算法中确定与目标误差组对应的目标极值算法;将神经网络节点数值序列的极值算法设置为目标极值算法。
在一种可能的实现方式中,量化单元具体用于根据K个极值算法确定K个数值区间的极值;从K个数值区间的极值中依次选取一个数值区间的极值;根据待量化的神经网络节点数值序列、选取的数值区间的极值以及量化数值区间的极值计算出选取的数值区间对应的量化数值序列。
结合前一种可能的实现方式,在另一种可能的实现方式中,极值包括最大值和最小值,待量化的神经网络节点数值序列、选取的数值区间的极值、量化数值区间的极值和选取的数值区间对应的量化数值序列满足以下公式:
为选取的数值区间对应的量化数值序列,x为待量化的神经网络节点数值序列,rmax为选取的数值区间的最大值、rmin为选取的数值区间的最小值、Qmax为量化数值区间的最大值,Qmin为量化数值区间的最小值,Z为量化数值区间的零点数,round()为四舍五入函数。
在另一种可能的实现方式中,配置算法单元具体用于使用集成算法从计算得到的误差组中选取目标误差组。
在另一种可能的实现方式中,配置算法单元具体用于当计算得到的误差组包括多个误差值时,对每个误差组求和;确定目标误差组为最小求和结果对应的误差组。
在另一种可能的实现方式中,极值算法为常量算法,最后值算法,指数移动平均算法,截断算法,学习步长量化算法或直方图算法。
在另一种可能的实现方式中,神经网络节点数值序列为神经网络节点权重或神经网络节点张量。
在另一种可能的实现方式中,神经网络节点数值序列的数量为2个,2个神经网络节点数值序列为神经网络节点权重和神经网络节点张量。
在另一种可能的实现方式中,电子设备还包括获取单元和处理单元;获取单元用于获取待处理图像;处理单元用于将待处理图像转换为待量化的第一层神经网络节点张量;设置i的初始值为1;量化单元还用于根据待量化的第i层神经网络节点张量和第i层神经网络节点张量对应的目标极值算法生成量化后的第i层神经网络节点张量;根据待量化的第i层神经网络节点权重和第i层神经网络节点权重对应的目标极值算法生成量化后的第i层神经网络节点权重;处理单元还用于当第i层神经网络节点不是最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重计算第i层神经网络节点的输出值;根据第i层神经网络节点的输出值生成待量化的第i+1层神经网络节点张量;将i更新为i+1,触发量化单元;当第i层神经网络节点为最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重输出待处理图像的图像类别。
第三方面提供一种电子设备,其包括处理器和存储器,存储器用于存储程序;处理器通过执行程序用于实现第一方面的方法。
第四方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面的方法。
第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面的方法。
附图说明
图1为本申请实施例中基于未量化模型参数计算的一个示意图;
图2为本申请实施例中基于量化模型参数计算的一个示意图;
图3为本申请实施例中配置数值序列的极值算法的一个流程图;
图4为本申请实施例中配置权重极值算法的一个时序图;
图5为本申请实施例中电子设备的一个结构图;
图6为本申请实施例中电子设备的另一个结构图;
图7为本申请实施例中电子设备的一个硬件结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请中极值算法的配置方法可以应用于电子设备。电子设备可以是手机,平板电脑,台式电脑,车载电脑,可穿戴设备,虚拟现实设备,增强现实设备,混合现实设备等终端,或者是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心的本地服务器。
神经网络模型也称为神经网络。现有的神经网络模型包括大量神经网络节点,神经网络模型的超参以及每个神经网络节点的权重都需要保存。为了保证神经网络模型的精度,上述模型参数值或超参数据通常采用浮点数,例如32位浮点数,每个浮点数占用4字节。在一个示例中,一个小型神经网络模型的模型参数量为4000万个,那么模型的大小为16000万字节,约为152MB。这样模型参数的存储开销和计算开销都很大,会导致终端功耗大,运算时间过长。
参阅图1,在一个示例中,神经网络的节点包括卷积节点11,卷积节点12,…,卷积节点1n,全连接层节点21,全连接层22,…,全连接层2m。卷积节点11,卷积节点12,…,卷积节点1n属于第一层神经网络。全连接层节点21,全连接层22,全连接层2m属于全连接层。应理解,本申请中神经网络的层数,神经网络的节点类型不限于以上举例。例如,神经网络还可以包括池化层。n和m均为正整数,具体可以根据实际情况进行设置。
在现有技术中,神经网络的每个卷积节点对应的一个张量和一个权重,每个全连接节点对应一个张量。例如卷积节点11对应张量112和权重111,卷积节点12对应张量122和权重121,卷积节点1n对应张量1n2和权重1n1,全连接层节点21对应张量211,全连接层22对应张量221,全连接层2m对应张量2m1。张量112,权重111,张量122,权重121,张量1n2,权重1n1,张量211,张量221和张量2m1均包括多个浮点数,这样卷积节点与全连接节点计算浮点数的开销很大,而且上述张量和权重会占用较多的存储空间。
参阅图2,按照本申请的方法,权重和张量在进入节点前要进行量化,例如,权重111量化为量化权重113,权重121量化为量化权重123,权重1n1量化为量化权重1n3,张量112量化为量化张量114,张量122量化为量化张量124,张量1n2量化为量化张量1n4,张量211量化为量化张量212,张量221量化为量化张量222,张量2m1量化为量化张量2m2,量化权重和量化张量包含的值均量化为整数,这样卷积节点和全连接节点的计算整数的开销小得多,而且存储开销也更少。
本申请的神经网络模型可以是用于图像分类的神经网络模型,用于图像分割的神经网络模型,用于目标检测的神经网络模型或者用于文本分类的神经网络模型,应理解,本申请中极值算法的配置方法涉及的神经网络模型不限于以上举例。
在一个示例中,神经网络模型为图像分类模型,图像分类模型包括多层神经网络节点。用户获取图像后,将图像转换为图像特征张量,根据神经网络节点张量的极值算法对每个第一层神经网络节点对应的图像特征张量进行量化,以及根据神经网络节点权重的极值算法对每个第一层神经网络节点的初始权重进行量化,每个第一层神经网络节点对量化后的图像特征张量和量化后的权重进行计算。
根据第一层神经网络节点的计算结果可以构成第二层神经网络节点对应的张量。根据神经网络节点张量的极值算法对每个第二层神经网络节点对应的张量进行量化,以及神经网络节点权重的极值算法对每个第二层神经网络节点的初始权重进行量化,每个第二层神经网络节点对量化后的张量和量化后的权重进行计算。将其他层神经网络节点对应的张量以及权重进行量化和计算的过程可依此类推。根据最后一层神经网络节点的计算结果输出图像类别。图像分类模型可以是人脸识别模型,动物识别模型,场景识别模型等。
在另一个示例中,神经网络模型为图像分割模型,图像分割模型包括多层神经网络节点。用户获取图像后,将图像转换为图像特征张量,根据神经网络节点张量的极值算法对每个第一层神经网络节点对应的图像特征张量进行量化,以及根据神经网络节点权重的极值算法对每个第一层神经网络节点的初始权重进行量化,每个第一层神经网络节点对量化后的图像特征张量和量化后的权重进行计算。
根据第一层神经网络节点的计算结果可以构成第二层神经网络节点对应的张量。根据神经网络节点张量的极值算法对每个第二层神经网络节点对应的张量进行量化,以及神经网络节点权重的极值算法对每个第二层神经网络节点的初始权重进行量化,每个第二层神经网络节点对量化后的张量和量化后的权重进行计算。将其他层神经网络节点对应的张量以及权重进行量化和计算的过程可依此类推。根据最后一层神经网络节点的计算结果输出包括多个区域的图像,多个区域即为图像分割结果。
在另一个示例中,神经网络模型为电子邮件分类模型,电子邮件分类模型包括多层神经网络节点。用户获取电子邮件后,将电子邮件转换为电子邮件特征张量,根据神经网络节点张量的极值算法对每个第一层神经网络节点对应的电子邮件特征张量进行量化,以及根据神经网络节点权重的极值算法对每个第一层神经网络节点的初始权重进行量化,每个第一层神经网络节点对量化后的电子邮件特征张量和量化后的权重进行计算。
根据第一层神经网络节点的计算结果可以构成第二层神经网络节点对应的张量。根据神经网络节点张量的极值算法对每个第二层神经网络节点对应的张量进行量化,以及神经网络节点权重的极值算法对每个第二层神经网络节点的初始权重进行量化,每个第二层神经网络节点对量化后的张量和量化后的权重进行计算。将其他层神经网络节点对应的张量以及权重进行量化和计算的过程可依此类推。根据最后一层神经网络节点的计算结果输出邮件类别,邮件类别可以是正常邮件或垃圾邮件。
在上述示例中,由于量化后的电子邮件特征张量和量化后的权重包括的值均为整数,与计算浮点数相比,各层神经网络节点的计算速度更快,计算开销更小。
下面对配置极值算法的方法进行介绍,参阅图3,在一个实施例中,本申请中极值算法的配置方法包括:
步骤301、获取待量化的神经网络节点数值序列以及K个极值算法。
本申请中,神经网络节点数值序列可以是神经网络节点权重或者神经网络节点张量。当神经网络节点数值序列的数量是2个时,2个神经网络节点数值序列为神经网络节点权重和神经网络节点张量。
具体的,待量化的神经网络节点张量包括待量化的第一层神经网络节点张量和待量化的其他层神经网络节点张量。待量化的第一层神经网络节点张量是将神经网络模型的输入数据转换所得,输入数据可以是但不限于图像特征值,文本特征值等。待量化的其他层神经网络节点张量是前一层神经网络节点的输出数值组成。每层神经网络节点张量包括多个神经网络节点张量,每个神经网络节点张量可以认为是一个激活值序列。
待量化的神经网络节点权重可以是初始的神经网络节点权重,也可以是在训练模型过中经过反向传播运算得到神经网络节点权重或者已训练的神经网络模型中的神经网络节点权重。神经网络节点权重为一个权值序列,其包括多个权值。
极值算法可以是但不限于常量算法(即constant算法),最后值算法(即last_value算法),指数移动平均(exponential moving average,EMA)算法,截断算法(即clip算法),学习步长量化(learned step size quantization,lsq)算法或直方图(histogram)算法。
步骤302、根据待量化的神经网络节点数值序列和K个极值算法生成K个量化数值序列。
步骤303、将每个量化数值序列反量化为候选数值序列。
步骤304、计算每个候选数值序列与待量化的神经网络节点数值序列之间的误差组。
每个误差组包括至少一种误差值。通过步骤302至步骤303对待量化的神经网络节点数值序列进行量化和反量化处理,这样得到的候选数值序列和待量化的神经网络节点数值序列之间会有误差,误差可以包括但不限于均方误差(mean square error,MSE),平均绝对值误差(mean absolute error,MAE)或(Kullback Leibler,KL)散度中的一项或多项。极值算法、量化数值序列,候选数值序列和误差组一一对应。
步骤305、从计算得到的误差组中选取目标误差组。
步骤306、根据误差组与极值算法的对应关系从K个极值算法中确定与目标误差组对应的目标极值算法。
可选的,误差组与极值算法具有相同编号,根据目标误差组的编号可以从K个极值算法中确定与目标误差组对应的目标极值算法。
步骤307、将神经网络节点的数值序列极值算法设置为目标极值算法。
本实施例中,对于神经网络模型的每个神经网络节点,上述方法能够根据多个极值算法计算出多个误差组,再根据多个误差组中的目标误差组从K个极值算法中选取目标极值算法,然后自动设置神经网络节点数值序列的极值算法,这样能够极大地提高配置数值序列极值算法的效率。
其次,对于神经网络模型的每个神经网络节点,本申请可以配置神经网络节点权重对应的目标极值算法,和/或待量化的神经网络节点张量对应的目标极值算法,能够灵活地配置极值算法。
在一个可选实施例中,步骤302包括:根据K个极值算法确定K个数值区间的极值;从K个数值区间的极值中依次选取一个数值区间的极值;根据待量化的神经网络节点数值序列、选取的数值区间的极值以及量化数值区间的极值计算出选取的数值区间对应的量化数值序列。
极值包括最大值和最小值。下面对计算数值区间的最大值和数值区间的最小值的过程进行介绍:
当极值算法为常量算法时,数值区间的最大值和最小值是预设的,而且可以根据实际情况进行设置。例如,量化数据的长度为8个比特,数值区间的最小值为0,数值区间的最大值为255。或者,数值区间的最小值为-128,数值区间的最大值为127。
当极值算法为last_value算法时,数值区间的最大值为待量化的神经网络节点数值序列中的最大值,数值区间的最小值为待量化的神经网络节点数值序列中的最小值。例如,待量化的神经网络节点数值序列的最大值为0.5,待量化的神经网络节点数值序列的最小值为0.2,则数值区间的最大值为0.5,数值区间的最小值为0.2。
当极值算法为clip算法时,待量化的神经网络节点数值序列x、数值区间的最小值x_min和数值区间的最大值x_max满足以下公式:
x_min=-k′*mean(abs(x))
x_max=k′*mean(abs(x))
k′为预设的参数,其值可以根据实际情况进行设置。
可选的,根据待量化的神经网络节点数值序列的最大值和最小值计算出绝对值的平均值,然后确定数值区间的最大值为绝对值的平均值,数值区间的最小值为绝对值的平均值的相反数。例如,待量化的神经网络节点数值序列的最大值为0.5,待量化的神经网络节点数值序列的最小值为0.2,待量化神经网络节点数值序列的绝对值的平均值为0.35,则数值区间的最大值为0.35,数值区间的最小值为-0.35。
当极值算法为EMA算法时,待量化的神经网络节点数值序列x、数值区间的最小值x_min和数值区间的最大值x_max满足以下公式:
x_min=alpha*min(x)+(1-alpha)*min(x_t-1)
x_max=alpha*max(x)+(1-alpha)*max(x_t-1)
alpha为预设的参数,其可以是[0,1]中的任意一个值。t表示当前迭代次数,x_t-1表示第t-1次迭代的待量化的神经网络节点数值序列。
下面对计算量化数值序列的过程进行介绍:
待量化神经网络节点数值序列、选取的数值区间的极值、量化数值区间的极值和选取的数值区间对应的量化数值序列满足以下公式:
为选取的数值区间对应的量化数值序列,x为待量化神经网络节点数值序列,rmax为选取的数值区间的最大值、rmin为选取的数值区间的最小值、Qmax为量化数值区间的最大值,Qmin为量化数值区间的最小值,Z为量化数值区间的零点数,round()为四舍五入函数。
应理解,当神经网络节点数值序列为神经网络节点权重时,数值区间是指权值区间,量化数值区间是指量化权值区间。当神经网络节点数值序列为神经网络节点张量时,数值区间是指激活值区间,量化数值区间是指量化激活值区间。需要说明的是,用于确定权值区间的极值算法数量与用于确定激活值区间的极值算法数量可以相同,也可以不同,具体可以根据实际情况进行设置。
在一个示例中,待量化的神经网络节点权重包括(w1,w2,...,wp),权值区间的最小值为rmin,权值区间的最大值为rmax,量化权值区间的最小值为Qmin,量化权值区间的最大值为Qmax。待量化的神经网络节点权重中的第p个权值wp、第j个权值区间的最大值第j个权值区间的最小值/>以及第j个量化权值/>满足以下公式:
Z为量化权值区间的零点数。Qmin和Qmax可以根据量化数据的比特确定。可选的,量化数据占用8个比特,Qmin为-128,Qmax为127。需要说明的是,本申请用于计算量化数值序列的量化公式不限于以上举例。
本申请可以通过多种方式选择目标误差组,下面进行介绍:
在另一个可选实施例中,步骤305包括:使用集成算法从计算得到的误差组中选取目标误差组。集成算法可以是但不限于bagging算法。bagging算法也称为投票算法。
误差组可以包括一种或多种误差。当误差组包括3种误差值时,例如待量化的神经网络节点数值序列与候选数值序列的MSE,待量化的神经网络节点数值序列与候选数值序列的MAE,待量化的神经网络节点数值序列与候选数值序列的KL散度。在一个示例中,K=2,误差组1包括(MSE1,MAE1,KL散度1),误差组2为(MSE2,MAE2,KL散度2)。MSE1>MSE2,MAE1>MAE2,KL散度1<KL散度2,基于比较结果投票可以确定误差组2比误差组1更好。选取误差组2作为目标误差组,可以将其对应的极值算法配置为当前神经网络节点数值序列的极值算法。按照该极值算法配置后,能够使得该网络节点的量化误差更小,能够减少量化损失。
在另一个可选实施例中,步骤305包括:当计算得到的误差组包括多个误差值时,对每个误差组求和;确定目标误差组为最小求和结果对应的误差组。当误差组包括1个误差值时,确定目标误差组为最小误差值对应的误差组。
在一个示例中,误差组1包括(MSE1,MAE1,KL散度1),误差组2为(MSE2,MAE2,KL散度2)。计算MSE1,MAE1和KL散度1之和为第一误差和,计算MSE2,MAE2,KL散度2之和为第二误差和,当第一误差和小于第二误差和时,确定误差组1为目标误差组,这样提供了一种获取小量化误差的方法,能够减少量化损失。
本申请可以为各种神经网络模型的神经网络节点配置神经网络节点权重对应的目标极值算法和神经网络节点张量对应的目标极值算法。下面对配置了上述目标极值算法的图像分类模型的图像分类过程进行介绍,在一个实施例中,本申请中极值算法的配置方法还包括:
步骤A:获取待处理图像。
步骤B:将待处理图像转换为待量化的第一层神经网络节点张量。
步骤C:设置i的初始值为1。
步骤D:根据待量化的第i层神经网络节点张量和第i层神经网络节点张量对应的目标极值算法生成量化后的第i层神经网络节点张量。
步骤E:根据待量化的第i层神经网络节点权重和第i层神经网络节点权重对应的目标极值算法生成量化后的第i层神经网络节点权重。
步骤F:当第i层神经网络节点不是最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重计算第i层神经网络节点的输出值。
步骤G:根据第i层神经网络节点的输出值生成待量化的第i+1层神经网络节点张量;
步骤H:将i更新为i+1,触发步骤D至步骤E。
当第i层神经网络节点不是最后一层神经网络节点时,执行步骤F至步骤H。
步骤I:当第i层神经网络节点为最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重输出待处理图像的图像类别。
本实施例中,对于图像分类模型的每个神经网络节点权重或神经网络节点张量都被量化。由于量化数据为整数,因此每个神经网络节点的计算速度更快,计算开销更小,能够显著提升图像分类模型的图像分类速度。
下面的神经网络节点数值序列以神经网络节点权重为例,待量化的神经网络节点权重简称为待量化权重,对本申请选择权值极值算法的过程进行介绍,参阅图4,在一个示例中,使用最后值算法和待量化权重计算出最小值411和最大值412,根据待量化权重、最小值411和最大值412计算出量化权重413,将量化权重413反量化为候选权重414,根据待量化权重和候选权重414计算出权重误差组415。
使用指数移动平均算法和待量化权重计算出最小值421和最大值422,根据待量化权重、最小值421和最大值422计算出量化权重423,将量化权重423反量化为候选权重424,根据待量化权重和候选权重424计算出权重误差组425。
使用学习步长量化算法和待量化权重计算出最小值431和最大值432,根据待量化权重、最小值431和最大值432计算出量化权重433,将量化权重433反量化为候选权重434,根据待量化权重和候选权重434计算出权重误差组435。
使用截断算法和待量化权重计算出最小值441和最大值442,根据待量化权重、最小值441和最大值442计算出量化权重443,将量化权重443反量化为候选权重444,根据待量化权重和候选权重444计算出权重误差组445。
使用常量算法确定最小值451和最大值452,根据待量化权重、最小值451和最大值452计算出量化权重453,将量化权重453反量化为候选权重454,根据待量化权重和候选权重454计算出权重误差组455。
然后根据集成算法从权重误差组415,权重误差组425,权重误差组435,权重误差组445和权重误差组455中选取权重误差组435,将神经网络节点权重的极值算法配置为权重误差组435对应的学习步长量化算法。
本申请提供一种电子设备能够实现以上实施例中极值算法的配置方法。参阅图5,在一个实施例中,电子设备500包括量化单元501,反量化单元502和配置算法单元503。
量化单元501用于获取待量化的神经网络节点数值序列以及K个极值算法;根据待量化的神经网络节点数值序列和K个极值算法生成K个量化数值序列,K为大于1的正整数;
反量化单元502用于将每个量化数值序列反量化为候选数值序列;
配置算法单元503用于计算每个候选数值序列与待量化的神经网络节点数值序列之间的误差组,每个误差组包括至少一种误差值;从计算得到的误差组中选取目标误差组;根据误差组与极值算法的对应关系从K个极值算法中确定与目标误差组对应的目标极值算法;将神经网络节点数值序列的极值算法设置为目标极值算法。
在一个可选实施例中,量化单元501具体用于根据K个极值算法确定K个数值区间的极值;从K个数值区间的极值中依次选取一个数值区间的极值;根据待量化的神经网络节点数值序列、选取的数值区间的极值以及量化数值区间的极值计算出选取的数值区间对应的量化数值序列。
在另一个可选实施例中,极值包括最大值和最小值,待量化的神经网络节点数值序列、选取的数值区间的极值、量化数值区间的极值和选取的数值区间对应的量化数值序列满足以下公式:
为选取的数值区间对应的量化数值序列,x为待量化的神经网络节点数值序列,rmax为选取的数值区间的最大值、rmin为选取的数值区间的最小值、Qmax为量化数值区间的最大值,Qmin为量化数值区间的最小值,Z为量化数值区间的零点数,round()为四舍五入函数。
在另一个可选实施例中,配置算法单元503具体用于使用集成算法从计算得到的误差组中选取目标误差组。
在另一个可选实施例中,配置算法单元503具体用于当计算得到的误差组包括多个误差值时,对每个误差组求和;确定目标误差组为最小求和结果对应的误差组。
在另一个可选实施例中,极值算法为常量算法,最后值算法,指数移动平均算法,截断算法,学习步长量化算法或直方图算法。
在另一个可选实施例中,神经网络节点数值序列为神经网络节点权重或神经网络节点张量。
在另一个可选实施例中,神经网络节点数值序列的数量为2个,2个神经网络节点数值序列为神经网络节点权重和神经网络节点张量。
参阅图6,在另一个可选实施例中,电子设备500还包括:
获取单元601,用于获取待处理图像;
处理单元602,用于将待处理图像转换为待量化的第一层神经网络节点张量;
处理单元602,还用于设置i的初始值为1;
量化单元501还用于根据待量化的第i层神经网络节点张量和第i层神经网络节点张量对应的目标极值算法生成量化后的第i层神经网络节点张量;以及根据待量化的第i层神经网络节点权重和第i层神经网络节点权重对应的目标极值算法生成量化后的第i层神经网络节点权重;
处理单元602还用于当第i层神经网络节点不是最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重计算第i层神经网络节点的输出值;根据第i层神经网络节点的输出值生成待量化的第i+1层神经网络节点张量;将i更新为i+1,触发量化单元501;
处理单元602还用于当第i层神经网络节点为最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重输出待处理图像的图像类别。
如图7所示,在一个实施例中,本申请提供的一种电子设备700包括:总线702、处理器704、存储器706和通信接口708。处理器704、存储器706和通信接口708之间通过总线702通信。应理解,本申请不限定电子设备700中的处理器、存储器和通信接口的个数。
总线702可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线702可包括在电子设备700各个部件(例如,存储器706、处理器704、通信接口708)之间传送信息的通路。
处理器704可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、神经网络处理单元(neural-network processingunits,NPU)微处理器(micro processor,MP)或者数字信号处理器(digital signalprocessor,DSP)等处理器中的任意一种或多种。
存储器706可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器704还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器706中存储有可执行的程序代码,处理器704执行该可执行的程序代码以分别实现前述量化单元501,反量化单元502,配置算法单元503和处理单元602的功能,从而实现极值算法的配置方法。也即,存储器706上存有用于执行极值算法的配置方法的指令。
通信接口708使用例如但不限于网络接口卡、收发器一类的收发模块,来实现电子设备700与其他设备或通信网络之间的通信。
本申请实施例还提供了一种包含指令的计算机程序产品。计算机程序产品可以是包含指令的,能够运行在计算机上或被储存在任何可用介质中的软件或程序产品。当计算机程序产品在计算机上运行时,使得计算机执行极值算法的配置方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算机执行极值算法的配置方法。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (13)
1.一种极值算法的配置方法,其特征在于,包括:
获取待量化的神经网络节点数值序列以及K个极值算法,所述K为大于1的正整数;
根据所述待量化的神经网络节点数值序列和所述K个极值算法生成K个量化数值序列;
将每个所述量化数值序列反量化为候选数值序列;
计算每个所述候选数值序列与所述待量化的神经网络节点数值序列之间的误差组,每个误差组包括至少一种误差值;
从计算得到的误差组中选取目标误差组;
根据误差组与极值算法的对应关系从所述K个极值算法中确定与所述目标误差组对应的目标极值算法;
将神经网络节点数值序列对应的极值算法设置为所述目标极值算法。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待量化的神经网络节点数值序列和所述K个极值算法生成K个量化数值序列包括:
根据K个极值算法确定K个数值区间的极值;
从K个数值区间的极值中依次选取一个数值区间的极值;
根据待量化的神经网络节点数值序列、选取的数值区间的极值以及量化数值区间的极值计算出选取的数值区间对应的量化数值序列。
3.根据权利要求2所述的方法,其特征在于,所述极值包括最大值和最小值,待量化的神经网络节点数值序列、选取的数值区间的极值、所述量化数值区间的极值和选取的数值区间对应的量化数值序列满足以下公式:
其中,为选取的数值区间对应的量化数值序列,x为待量化的神经网络节点数值序列,rmax为选取的数值区间的最大值、rmin为选取的数值区间的最小值、Qmax为所述量化数值区间的最大值,Qmin为所述量化数值区间的最小值,Z为所述量化数值区间的零点数,round()为四舍五入函数。
4.根据权利要求1所述的方法,其特征在于,所述从计算得到的误差组中选取目标误差组包括:
使用集成算法从计算得到的误差组中选取目标误差组。
5.根据权利要求1所述的方法,其特征在于,所述从计算得到的误差组中选取目标误差组包括:
当计算得到的误差组包括多个误差值时,对每个误差组求和;
确定目标误差组为最小求和结果对应的误差组。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述极值算法为常量算法,最后值算法,指数移动平均算法,截断算法,学习步长量化算法或直方图算法。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述神经网络节点数值序列为神经网络节点权重或神经网络节点张量。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述神经网络节点数值序列的数量为2个,2个神经网络节点数值序列为神经网络节点权重和神经网络节点张量。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
步骤A:获取待处理图像;
步骤B:将待处理图像转换为待量化的第一层神经网络节点张量;
步骤C:设置i的初始值为1;
步骤D:根据待量化的第i层神经网络节点张量和第i层神经网络节点张量对应的目标极值算法生成量化后的第i层神经网络节点张量;
步骤E:根据待量化的第i层神经网络节点权重和第i层神经网络节点权重对应的目标极值算法生成量化后的第i层神经网络节点权重;
步骤F:当第i层神经网络节点不是最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重计算第i层神经网络节点的输出值;
步骤G:根据第i层神经网络节点的输出值生成待量化的第i+1层神经网络节点张量;
步骤H:将i更新为i+1,触发步骤D至步骤E;
步骤I:当第i层神经网络节点为最后一层神经网络节点时,根据量化后的第i层神经网络节点张量以及量化后的第i层神经网络节点权重输出待处理图像的图像类别。
10.一种电子设备,其特征在于,包括:
量化单元,用于获取待量化的神经网络节点数值序列以及K个极值算法;根据所述待量化的神经网络节点数值序列和所述K个极值算法生成K个量化数值序列,所述K为大于1的正整数;
反量化单元,用于将每个所述量化数值序列反量化为候选数值序列;
配置算法单元,用于计算每个所述候选数值序列与所述待量化的神经网络节点数值序列之间的误差组,每个误差组包括至少一种误差值;从计算得到的误差组中选取目标误差组;根据误差组与极值算法的对应关系从所述K个极值算法中确定与所述目标误差组对应的目标极值算法;将神经网络节点数值序列对应的极值算法设置为所述目标极值算法。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,使得所述电子设备执行权利要求1至9中任一项的方法。
12.一种存储有指令的计算机可读存储介质,其特征在于,当所述指令在计算机上运行时,使得计算机执行权利要求1至9中任一项的方法。
13.一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得计算机执行权利要求1至9中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302946.4A CN116681110B (zh) | 2022-10-24 | 2022-10-24 | 极值算法的配置方法、电子设备、程序产品及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211302946.4A CN116681110B (zh) | 2022-10-24 | 2022-10-24 | 极值算法的配置方法、电子设备、程序产品及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116681110A true CN116681110A (zh) | 2023-09-01 |
CN116681110B CN116681110B (zh) | 2024-05-14 |
Family
ID=87789642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211302946.4A Active CN116681110B (zh) | 2022-10-24 | 2022-10-24 | 极值算法的配置方法、电子设备、程序产品及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116681110B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059733A (zh) * | 2019-04-01 | 2019-07-26 | 苏州科达科技股份有限公司 | 卷积神经网络的优化及快速目标检测方法、装置 |
CN111368972A (zh) * | 2020-02-21 | 2020-07-03 | 华为技术有限公司 | 一种卷积层量化方法及其装置 |
US20200302299A1 (en) * | 2019-03-22 | 2020-09-24 | Qualcomm Incorporated | Systems and Methods of Cross Layer Rescaling for Improved Quantization Performance |
CN111950716A (zh) * | 2020-08-25 | 2020-11-17 | 云知声智能科技股份有限公司 | 一种优化int8的量化方法及系统 |
CN112884146A (zh) * | 2021-02-25 | 2021-06-01 | 香港理工大学深圳研究院 | 一种训练基于数据量化与硬件加速的模型的方法及系统 |
US20220044109A1 (en) * | 2020-08-06 | 2022-02-10 | Waymo Llc | Quantization-aware training of quantized neural networks |
CN114418086A (zh) * | 2021-12-02 | 2022-04-29 | 北京百度网讯科技有限公司 | 压缩神经网络模型的方法、装置 |
CN114595627A (zh) * | 2022-01-28 | 2022-06-07 | 广州文远知行科技有限公司 | 模型量化方法、装置、设备及存储介质 |
KR20220092776A (ko) * | 2020-12-25 | 2022-07-04 | 삼성전자주식회사 | 신경망 모델 양자화 장치 및 방법 |
-
2022
- 2022-10-24 CN CN202211302946.4A patent/CN116681110B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200302299A1 (en) * | 2019-03-22 | 2020-09-24 | Qualcomm Incorporated | Systems and Methods of Cross Layer Rescaling for Improved Quantization Performance |
CN110059733A (zh) * | 2019-04-01 | 2019-07-26 | 苏州科达科技股份有限公司 | 卷积神经网络的优化及快速目标检测方法、装置 |
CN111368972A (zh) * | 2020-02-21 | 2020-07-03 | 华为技术有限公司 | 一种卷积层量化方法及其装置 |
US20220044109A1 (en) * | 2020-08-06 | 2022-02-10 | Waymo Llc | Quantization-aware training of quantized neural networks |
CN111950716A (zh) * | 2020-08-25 | 2020-11-17 | 云知声智能科技股份有限公司 | 一种优化int8的量化方法及系统 |
KR20220092776A (ko) * | 2020-12-25 | 2022-07-04 | 삼성전자주식회사 | 신경망 모델 양자화 장치 및 방법 |
CN112884146A (zh) * | 2021-02-25 | 2021-06-01 | 香港理工大学深圳研究院 | 一种训练基于数据量化与硬件加速的模型的方法及系统 |
CN114418086A (zh) * | 2021-12-02 | 2022-04-29 | 北京百度网讯科技有限公司 | 压缩神经网络模型的方法、装置 |
CN114595627A (zh) * | 2022-01-28 | 2022-06-07 | 广州文远知行科技有限公司 | 模型量化方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
SHUCHANG ZHOU 等: ""Balanced Quantization: An Effective and Efficient Approach to Quantized Neural Networks"", 《COMPUTER VISION AND PATTERN RECOGNITION》, vol. 32, no. 4, pages 667 - 682 * |
周锡雄: ""CNN动态量化算法及其并行计算结构研究"", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, pages 137 - 179 * |
Also Published As
Publication number | Publication date |
---|---|
CN116681110B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147251B (zh) | 用于计算神经网络模型的系统、芯片及计算方法 | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN110175641B (zh) | 图像识别方法、装置、设备和存储介质 | |
CN105260776A (zh) | 神经网络处理器和卷积神经网络处理器 | |
CN113379627B (zh) | 图像增强模型的训练方法和对图像进行增强的方法 | |
WO2021135715A1 (zh) | 一种图像压缩方法及装置 | |
CN113435208B (zh) | 学生模型的训练方法、装置及电子设备 | |
CN111240746B (zh) | 一种浮点数据反量化及量化的方法和设备 | |
CN114723966B (zh) | 多任务识别方法、训练方法、装置、电子设备及存储介质 | |
CN113570033A (zh) | 神经网络处理单元、神经网络的处理方法及其装置 | |
CN111079753A (zh) | 一种基于深度学习与大数据结合的车牌识别方法及装置 | |
CN113902010A (zh) | 分类模型的训练方法和图像分类方法、装置、设备和介质 | |
CN111357051A (zh) | 语音情感识别方法、智能装置和计算机可读存储介质 | |
CN112085175B (zh) | 基于神经网络计算的数据处理方法和装置 | |
CN114817612A (zh) | 多模态数据匹配度计算和计算模型训练的方法、相关装置 | |
CN114360520A (zh) | 语音分类模型的训练方法、装置、设备及存储介质 | |
CN116884398B (zh) | 语音识别方法、装置、设备和介质 | |
CN113408704A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN116681110B (zh) | 极值算法的配置方法、电子设备、程序产品及介质 | |
CN112686365B (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN114881227B (zh) | 模型压缩方法、图像处理方法、装置和电子设备 | |
CN114155388B (zh) | 一种图像识别方法、装置、计算机设备和存储介质 | |
CN113361621B (zh) | 用于训练模型的方法和装置 | |
CN111444319B (zh) | 文本匹配方法、装置和电子设备 | |
CN113554149B (zh) | 神经网络处理单元npu、神经网络的处理方法及其装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |