System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及智能信息处理领域,更具体地,涉及一种深度神经网络的分段线性混合量化方法。
技术介绍
1、深度神经网络(dnn)作为一种强大的人工智能技术,已经在图像识别、自然语言处理、自动驾驶等多个领域取得了显著的成果。然而,随着深度神经网络模型的规模和复杂性的增加,其对存储和计算资源的需求也显著增加,尤其是在嵌入式设备和移动设备等资源受限的环境中。
2、传统的深度神经网络通常采用32位或16位浮点数来表示权重和激活值,这虽然能够提供较高的精度,但存储和计算的成本比较高。为了应对这些问题,研究人员提出了量化技术,作为一种有效地优化手段,通过将浮点数转换为低比特宽度的定点数表示,可以显著降低存储和计算需求。然而,一般现有技术采用的全局量化方法往往导致模型的精度损失较大,无法满足实际应用的需求,并且全局量化过程中参数过多,量化效率较低。
3、近年来,基于权重和激活值的分布特性,提出了多种改进的量化方法,例如动态范围量化、对称量化和非对称量化等,这些方法在一定程度上提升了量化后的模型性能。但在实际应用中仍然存在一些问题,如量化策略不够灵活、无法充分考虑不同层和通道之间的差异等。
4、因此,亟需一种深度神经网络的分段线性混合量化方法。
技术实现思路
1、本专利技术为克服上述现有技术存在的深度神经网络模型的量化方法的量化效率和灵活性较低,无法保持较高的模型精度的缺陷,提供一种深度神经网络的分段线性混合量化方法。
2、为了实现上述专利技术目的,本专
3、s1:选择要量化的深度神经网络模型并获取各层参数,所述参数包括所述深度神经网络模型各层的权重和激活函数以及权重和激活函数的参数数量和数据类型;
4、s2:根据各层参数计算每个权重层的敏感度,采用聚类的方法将相近敏感度的权重层分组,根据所述分组进行量化精度的分配;
5、s3:获取权重层和激活层各通道的数据的范围值,按照所述范围值进行权重层和激活层各通道的聚类分组并分配量化参数;
6、s4:分段量化每个权重层,并寻找能最小化由于量化而带来的精度损失的量化方案的最优解;
7、s5:微调采用最优解量化后的所述深度神经网络模型,使用预设指标验证微调
8、后的模型。
9、优选地,所述步骤s2包括:
10、根据每个权重层l的参数,获取该层权重矩阵wl,向该权重矩阵添加扰动,生成扰动权重矩阵wl′=wl+,计算模拟量化产生的损失差异,将损失差异进行泰勒展开,可表示为:
11、
12、式中,l表示损失函数,h为关于参数wl的海森hessian矩阵,ε为扰动模拟的量化引起的误差;
13、使用kl散度近似表示所述损失差异并使用费舍尔信息矩阵f近似替代hessian矩阵,损失差异函数表示为:
14、
15、式中,费舍尔信息矩阵f的表达式为:
16、
17、式中,n为样本数据集的大小,gi是数据点i处的梯度;
18、根据损失差异函数观察扰动对整体模型精度的影响,计算费舍尔信息矩阵的迹的均值来衡量各个权重层的敏感度的大小;
19、根据各个权重层敏感度的大小,使用聚类的方法将各个权重层进行分组,根据分组来分配量化精度。
20、进一步地,需要说明的是所述分配量化精度的规则包括:
21、各组组内的权重层应用相同精度的量化策略;
22、对于敏感度最大的组,在满足准确率的要求下选择最小的量化精度并设为最大精度b1;
23、对于敏感度不为最大的每一组,若第n组的敏感度小于第n-1组,那么第n组的量化精度bn<<n-1。
24、优选地,所述步骤s3包括:
25、预设样本数据集;
26、遍历预设的样本数据集,逐通道计算权重层和激活层的最大值和最小值得到每个通道的范围值;
27、根据得到的所述范围值,采用聚类的方法对每一层的各个通道进行分组;
28、对于范围值相近的同一组通道,分配相同的所述量化参数,包括量化比例因子和零点。
29、优选地,所述步骤s4中所述分段量化包括:
30、对权重层进行直方图分析,确定权重值的分布情况;
31、根据权重值的分布情况,选择两个截断点t1和t2,将权重层划分为三部分,原始权重的数值范围(xmin,xmax)被划分为权重值密集的中间区域p1=[t1,t2]以及边缘区域p2=[xmin,t1)∪(t2,xmax];
32、两区域的量化方案选择相互独立,量化方案表示为:
33、
34、式中,s1、s2为量化比例因子,z1、z2为量化值的偏移量。
35、优选地,所述步骤s4中所述最优解的寻找方法包括:
36、量化的目标函数采用均方误差mse进行最小化求解;
37、将量化模型的目标函数定义为量化前后权重w和对应输入x乘积的均方误差mse,其表达式为:
38、
39、式中,wi和xi分别是权重和输入的原始值,q(wi,bw,region)和q(xi,bx,region)是权重和输入的量化值,bw和bx分别为权重和激活中的分界点;
40、q(w,bw,pw)={q(w,b):w∈w,b=select_bit(w,bw,pw)}
41、q(x,bx,px)={q(x,b):x∈x,b=select_bit(w,bx,px)}
42、式中,select_()用于根据权重的值和分界点选择相应的量化位数,具体为:
43、
44、
45、引入置信度引导的退火算法寻找所述最优解,置信度函数表达式为:
46、
47、式中,var(mset-n:t)为计算均方误差mse在过去n次迭代中的方差,使用sigmoid函数来评估均方误差mse改善的一致性和幅度,其中是近n次迭代的平均均方误差mse的改善率,的表达式为:
48、
49、新解的接受概率表达式为:
50、
51、式中,δmse为当前解与新解间的均方误差mse的差异,t为当前的温度。
52、优选地,所述步骤s5中所述微调的方法包括:
53、预设微调训练数据集,使用所述微调训练数据集来调整量化后的模型参数;
54、微调过程中使用与原始模型训练时的设置基本相同的损失函数和优化器;
55、通过前向传播、损失计算、反向传播和参数更新等步骤,调整量化后的权重和偏置,进一步优化模型性能;
56、在反向传播过程中,计算每一层的梯度,计算过程中注意量化带来的误差,并采用误差补偿技术,在梯度计算中加入量化误差的补偿项;重复上述微调步骤,直至模型收敛或达到预设的训练轮次。
5本文档来自技高网...
【技术保护点】
1.一种深度神经网络的分段线性混合量化方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤S2包括:
3.根据权利要求2所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述分配量化精度的规则为:
4.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤S3包括:
5.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤S4中所述分段量化包括:
6.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤S4中所述最优解的寻找方法包括:
7.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤S5中所述微调的方法包括:
8.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤S5中的所述验证的方法包括:
9.一种计算机设备,其特征在于,该设备包括:存储器、处理器,所述存储
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种深度神经网络的分段线性混合量化方法的程序,所述一种深度神经网络的分段线性混合量化方法程序被处理器执行时,实现如权利要求1至8中任一项所述的一种深度神经网络的分段线性混合量化方法的步骤。
...【技术特征摘要】
1.一种深度神经网络的分段线性混合量化方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤s2包括:
3.根据权利要求2所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述分配量化精度的规则为:
4.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤s3包括:
5.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤s4中所述分段量化包括:
6.根据权利要求1所述的一种深度神经网络的分段线性混合量化方法,其特征在于,所述步骤s4中所述最优解的寻找方法包括:
7.根据权利要求1所述的一种深度...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。