CN115238874A - 一种量化因子的搜索方法、装置、计算机设备及存储介质 - Google Patents
一种量化因子的搜索方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115238874A CN115238874A CN202211159553.2A CN202211159553A CN115238874A CN 115238874 A CN115238874 A CN 115238874A CN 202211159553 A CN202211159553 A CN 202211159553A CN 115238874 A CN115238874 A CN 115238874A
- Authority
- CN
- China
- Prior art keywords
- value
- quantization factor
- quantization
- optimal
- activation
- 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
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
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)
- Feedback Control In General (AREA)
Abstract
本申请涉及神经网络技术领域,特别是一种量化因子的搜索方法、装置、计算机设备及存储介质,所述方法包括如下步骤:获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;判断所述激活值最优二次量化因子值是否符合要求;若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。降低量化因子的搜索空间,使得搜索空间由指数变为线性,保证搜索到的解接近理论最优解,减小深度学习算法模型要部署的功耗。
Description
技术领域
本申请涉及神经网络技术领域,特别是一种量化因子的搜索方法、装置、计算机设备及存储介质。
背景技术
深度学习算法要部署到端侧,需要做到体积小,运算量小和低功耗,以便有更好的性能,故模型部署时,需要对模型和激活值进行量化,以减少模型体积和计算量,进而减少功耗,现有技术中神经网络模型对激活值的量化通常是选取一些模型部署后实际输入的数据,根据神经网络每层的输出范围,计算量化的尺度因子,然而这种方法导致搜索空间过大,无法有效确定最优量化因子系数。
发明内容
本申请一种量化因子的搜索方法、装置、计算机设备及存储介质,旨在解决现有技术中存在的“搜索空间过大,无法有效确定最优量化因子系数”的技术问题。
为此,本申请提出一种量化因子的搜索方法,包括:
获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;
基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;
基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;
判断所述激活值最优二次量化因子值是否符合要求;
若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。
进一步地,所述获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值的步骤包括:
获取所述神经网络激活函数y =wx +b决定,其中w,b是权值,x是输入特征,所述激活值y随着输入数据变化而变化;
通过所述神经网络激活函数y =wx +b确定所述激活值,以及给所述激活值量化因子初值赋值为0。
进一步地,所述基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值,包括:
当基于所述测试数据集对迭代过程中各所述神经网络进行量化得到对应的最优量化因子值时,对所述神经网络进行逐层量化,得到每一层对应的所述激活值最优一次量化因子值,其中,对当前层量化时,已量化完成的所述神经网络层不再参与量化。
进一步地,所述基于测试数据集在量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值的步骤包括:
将所述测试数据集的数据输入到所述神经网络中得到测试输出数据,基于所述测试输出数据评估所述神经网络,根据评估分数得到所述激活值最优一次量化因子值:所述量化范围由量化级数决定。
进一步地,所述基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值的步骤,包括:
当基于所述测试数据集对迭代中各神经网络层进行量化时得到对应的评估分数时,根据所述评估分数的高低排序依次对各神经网络层进行二次量化,得到所述激活值最优二次量化因子值。
进一步地,所述判断所述激活值最优二次量化因子值是否符合要求的步骤包括:
判断评估分数是否不再提高,或达到预设的量化阈值次数;
若是,则判定所述激活值最优二次量化因子值符合要求。
本申请提供一种量化因子的搜索装置,其特征在于,包括:
激活值模块,用于获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;
最优一次量化因子值模块,用于基于测试数据集在量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;
最优二次量化因子值模块,用于基于所述测试数据集在所述激活值最优量化因子的搜索范围内获取激活值最优二次量化因子值;
判断模块,用于判断所述激活值最优二次量化因子值是否符合要求;
最优n次量化因子值模块,用于将对所述神经网络每层进行遍历,直至获取激活值最优n次量化因子值。
进一步地,所述就激活值模块,包括:
激活值子模块,用于获取所述神经网络激活函数y =wx +b,其中w,b是权值,x是输入特征,所述激活值y随着输入数据变化而变化;
通过所述神经网络激活函数y =wx +b确定所述激活值,以及给所述激活值量化因子初值赋值为0。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请是一种量化因子的搜索方法、装置、计算机设备及存储介质,包括获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;判断所述激活值最优二次量化因子值是否符合要求;若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。降低量化因子的搜索空间等,使得搜索空间由指数变为线性,保证搜索到的解接近理论最优解,从而减小深度学习算法模型要部署时的功耗。
附图说明
图1为本申请一实施例的一种量化因子的搜索方法流程示意图;
图2 为本申请一实施例的一种量化因子的搜索装置结构示意图;
图3为本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一种量化因子的搜索方法,包括:
S1:用于获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;
S2:基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;
S3:基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;
S4:用于判断所述激活值最优二次量化因子值是否符合要求;
S5:用于若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。
本申请的目的在于降低量化因子的搜索空间,使得搜索空间由指数变为线性,保证搜索到的解接近理论最优解,从而减小深度学习算法模型要部署时的功耗。
如上述步骤S1所述,用于获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值。
本实施例中,构建一个神经网络模型,通过所述激活函数获取所述神经网络激活值,其中所述激活值的量化范围由所述量化方法决定,例如将所述神网络模型的所述激活值量化因子进行8bit量化,则所述量化范围为2^1-2^7,所述神经网络(Neural Networks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统,神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。
如上述步骤S2所述:基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值。
本实施例中,其中所述测试数据集是用来测试神经网络模型的实际学习能力,评估模型的泛化能力,所述泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力,简而言之是在原有的数据集上添加新的数据集,通过训练输出一个合理的结果,在机器学习和模式识别等领域中,一般需要将样本分成独立的三部分训练集(trainset),验证集(validation set ) 和测试集(test set),其中训练集用来估计模型,验证集用来确定网络结构或者控制模型复杂程度的参数,而测试集则检验最终选择最优的模型的性能如何。一个典型的划分是训练集占总样本的50%,而其它各占25%,三部分都是从样本中随机抽取,但是,当样本总量少的时候,上面的划分就不合适了。常用的是留少部分做测试集。然后对其余N个样本采用K折交叉验证法。就是将样本打乱,然后均匀分成K份,轮流选择其中K-1份训练,剩余的一份做验证,计算预测误差平方和,最后把K次的预测误差平方和再做平均作为选择最优模型结构的依据。特别的K取N,就是留一法(leave one out)。所述神经网络每层量化是指对所述神经网络模型的权值,激活值等从高精度转化成低精度的操作过程,例如将 float32 转化成 int8,同时我们期望转换后的模型准确率与转化前相近。由于模型量化是一种近似算法方法,精度损失是一个严峻的问题,大部分的研究都在关注这一问题。所述量化是指将信号的连续取值近似为有限多个离散值的过程。可理解成一种信息压缩的方法。在计算机系统上考虑这个概念,一般用“低比特”来表示。也有人称量化为“定点化”,但是严格来讲所表示的范围是缩小的。定点化特指scale 为2的幂次的线性量化,是一种更加实用的量化方法,保证了较高的精度。
如上述步骤S3所述:基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值。
本实施例中,所述搜索范围是指在最优一次量化因子范围内,例如其中一个所述最优量化因子值为5,可以选择在5的正负2,也就是在4的范围内进行搜索,从而确定最优二次量化因子值,所述基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值的过程中对所述神经网络模型量化的步骤包括步骤1-在输入数据(通常是权重或者激活值)中统计出相应的 min_value 和 max_value;步骤2-选择合适的量化类型,对称量化(int8)还是非对称量化(uint8);步骤3-根据量化类型、min_value 和 max_value 来计算获得量化的参数 Z/Zero point 和 S/Scale;步骤4-根据标定数据对模型执行量化操作,即将其由 FP32 转换为 INT8;步骤5-验证量化后的模型性能,如果效果不好,尝试着使用不同的方式计算 S 和 Z,重新执行上面的操作。
如上述步骤S4所述:用于判断所述激活值最优二次量化因子值是否符合要求。
本实施例中,例如将所述神网络模型的所述激活值量化因子进行8bit,有20层激活值量化,则所述是否符合要求包括在所述测试集评估的分数不再提高以及当搜索次数达到num_try次时,其中所述num_try表示对所述神经网络层量化迭代的次数。
如上述步骤S5所述:当若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。
本实施例中,当最优二次量化因子不符合要求时,将最优二次量化因子值依次继续在其值范围内进行再一次量化,确定出在测试集上最优的得分,根据得分获取最优三次量化因子值,若此时在测试集上的得分没有提高或者达到预设的量化阈值次数,则此时将最优三次量化因子值更新为神经网络激活值的量化因子,若不符合,则将最优三次量化因子值在其值范围内进一步的量化,直到测试分数不再提高或者达到量化阈值次数。在机器学习和模式识别等领域中,一般需要将样本分成独立的三部分训练集(train set),验证集(validation set ) 和测试集(test set)。其中训练集用来估计模型,验证集用来确定网络结构或者控制模型复杂程度的参数,而测试集则检验最终选择最优的模型的性能如何。一个典型的划分是训练集占总样本的50%,而其它各占25%,三部分都是从样本中随机抽取。但是,当样本总量少的时候,上面的划分就不合适了。常用的是留少部分做测试集。然后对其余N个样本采用K折交叉验证法。就是将样本打乱,然后均匀分成K份,轮流选择其中K-1份训练,剩余的一份做验证,计算预测误差平方和,最后把K次的预测误差平方和再做平均作为选择最优模型结构的依据。特别的K取N,就是留一法(leave one out)。
在一个实施例中,所述获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值的步骤包括:获取所述神经网络激活函数y =wx +b决定,其中w,b是权值,x是输入特征,所述激活值y随着输入数据变化而变化;通过所述神经网络激活函数y =wx +b确定所述激活值,以及给所述激活值量化因子初值赋值为0。
本实施例中,所述神经网络的激活函数的主要作用就是将线性函数转换成非线性函数。神经网络都是由一系列的y=wx+b组成,y=wx+b是线性函数,不管采用多少个隐藏层其组合也都是线性函数,不能解决非线性问题,因此,需要引入激活函数来进行非线性变换。如果不采用激活函数,那么不论神经网络有多少层,每层输出都是线性函数的组合,只跟有一个隐藏层是没有区别的,因此要求激活函数是可微的以保证能够进行梯度下降,常见的激活函数主要有relu、leaky-relu、sigmoid、tanh和softmax函数。所述神经网络的权值是通过对网络的训练得到的,使用MATLAB的话,newff之后会自动赋值,也可以手动:net.IW{}= ; net.bias{}=,一般来说输入归一化,那么w和b取0-1的随机数就行。神经网络的权值确定的目的是为了让神经网络在训练过程中学习到有用的信息,这意味着参数梯度不应该为0。所述神经网络激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容。在人工神经网络中,一个节点的激活函数定义了该节点在给定的输入或输入集合下的输出。标准的计算机芯片电路可以看作是根据输入得到开(1)或关(0)输出的数字电路激活函数,因此,激活函数是确定神经网络输出的数学方程式,所述激活函数是所述神经网络中用于计算输入和偏差的加权和的函数,用于确定神经元是否可以释放,它通常通过梯度下降法的某种梯度处理来操纵数据,然后产生神经网络的输出,该输出包含数据中的参数,有时所述激活函数通常称为传递函数,所述激活函数具有改善数据学习模式的能力,从而实现了特征检测过程的自动化,并证明它们在神经网络的隐藏层中的使用合理性,并且对于跨领域进行分类很有用。
在一个实施例中,所述基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值,包括:当基于所述测试数据集对迭代过程中各所述神经网络进行量化得到对应的最优量化因子值时,对所述神经网络进行逐层量化,得到每一层对应的所述激活值最优一次量化因子值,其中,对当前层量化时,已量化完成的所述神经网络层不再参与量化。
本实施例中,构建一个神经网络模型,对所述神经网络模型每层所述激活值对应的所述量化因子初值赋值0,例如所述神经网络模型中有20层所述激活值需要量化,则所述量化因子初值赋值为[0,.,0]共20个,当所述每层神经网络完成量化,则将量化因子值更新至所述最优量化因子初值,所述测试数据集包括图像识别、语音识别等。
在一个实施例中,所述基于测试数据集在量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值的步骤包括:将所述测试数据集的数据输入到所述神经网络中得到测试输出数据,基于所述测试输出数据评估所述神经网络,根据评估分数得到所述激活值最优一次量化因子值:所述量化范围由量化级数决定。
本实施例中,所述神经网络模型评估包括当训练好一个所述神经网络模型时,首先看准确率如何,如果准确率很低即偏差很高,甚至无法拟合数据,则先检查训练集的性能,如果没问题,则需要选择一个新的网络模型(更大的网络或者训练更长的时间)重新训练,然后不断重复以上步骤,直到解决问题,起码直到可以拟合或者过拟合训练集。当偏差处在可接受的范围内时,就需要验证方差有没有问题。为了评估方差,就需要看验证集的性能。如果方差高,则采用更多数据的训练集来训练。若没有更多数据,则可以使用正则化来减少过拟合(正则化通常有助于避免过度拟合),不断尝试以上的方法,直到找到低偏差、低方差的网络框架。
在一个实施例中,所述基于所述测试数据集在所述激活值最优一次量化因子值的搜素范围内获取激活值最优二次量化因子值的步骤,包括: 当基于所述测试数据集对迭代中各神经网络层进行量化时得到对应的评估分数时,根据所述评估分数的高低排序依次对各神经网络层进行二次量化,得到所述激活值最优二次量化因子值。
本实施例中,将所述各神经网络层的激活值最优一次量化因子值按照评估分数从低到高排序,根据所述评估分数排序依次对各神经网络层进行二次量化,得到最优二次量化因子值的过程中,对所述神经网络模型的量化可分为训练中量化和训练后量化,还可分为对称量化和非对称量化。我们用的是训练后对称量化,即先训练好用浮点表示的模型参数等,然后再去量化,量化某类值(比如weight) 时看其绝对值的最大值,从而可以知道用什么定标的Q格式最合适,目前用的是主流的8比特量化方式。模型的量化主要包括两方面的内容:各层参数的量化和各层输出的量化。先看各层输出的量化。在评估时把测试数据集中各个文件每层的输出保存下来,然后看每层输出值的绝对值的最大值,比如绝对值最大值为3.6,可以从8比特量化表看出用Q2.5量化最为合适(也可以用公式np.ceil(np.log2(max))算出整数的表示位数,然后确定小数的表示位数,从而确定定标)。再来看各层参数的量化。参数主要包括weight和bias,这两种参数要分别量化,量化方法同上面的每层输出的量化方法一样,这里不再赘述。需要注意的是如果当前层是卷积层或者全连接层,为了减少运算量,一般部署模型时都会将BatchNormal(BN)层参数融合到卷积层或者全连接层(只有当卷积层或者全连接层后面紧跟BN层时才可以融合参数,否则不可以)。具体怎么融合如下:假设层的输入为X.不管是卷积层还是全连接层,运算均可以写成WX + b (W为权重weight, b为bias), BN层执行了两个操作,一个是归一化,另一个是缩放。
在一个实施例中,所述判断所述激活值最优二次量化因子值是否符合要求的步骤包括:判断所述所述评估分数是否不再提高,或达到预设的量化阈值次数;若是,则判定所述激活值最优二次量化因子值符合要求。
本实施例中,所述评估分数为测试集数据在已经训练完成的神经网络模型中的测试获得的结果,根据测试结果对该神经网络模型评分,当评估分数不再变化或者变化浮动不大时,以及达到预设的量化阈值次数时,则不再进行下一步的量化行为,具体地,在一实施例中,量化阈值次数为10万次,量化阈值次数可根据需要设置,测试集是用于在完成神经网络训练过程后,为了客观评价模型在其未见过(未曾影响普通参数和超参数选择)的数据上的性能,若测试准确率不高,那么训练集和验证集构建的最优模型是失败的,使用验证集是为了快速调参,也就是用验证集选择超参数(网络层数,网络节点数,迭代次数,学习率这些),通过多次测试使量化因子的值更优。
本实施例中提供了一种量化因子的搜索方法,包括获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;基于所述测试数据集在所述激活值最优一次量化因子值的搜素范围内获取激活值最优二次量化因子值;判断所述激活值最优二次量化因子值是否符合要求;若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。降低量化因子的搜索空间,使得搜索空间由指数变为线性,保证搜索到的解接近理论最优解,减小深度学习算法模型要部署的功耗。
参照图2,本申请实施例提供一种量化因子搜素装置,包括:
激活值模块1,用于获获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;
最优一次量化因子值模块2,用于将基于测试数据集在量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;
最优二次量化因子值模块3,用于将基于所述测试数据集在所述激活值最优量化因子的搜素范围内获取激活值最优二次量化因子值;
判断模块4,用于判断所述激活值最优二次量化因子值是否符合要求;
最优n次量化因子模块值5,用于将对所述神经网络每层进行遍历,直至获取激活值最优n次量化因子值。
如上所述,可以理解地,本申请中提出的所述的量化因子的搜索装置的各组成部分可以实现如上所述的量化因子的搜索方法任一项的功能。
在一个实施例中,所述激活值模块1还包括执行:
激活值子模块,用于获取所述神经网络激活函数y =wx +b,其中w,b是权值,x是输入特征,所述激活值y随着输入数据变化而变化;通过所述神经网络激活函数y =wx +b确定所述激活值,以及给所述激活值量化因子初值赋值为0。
在一个实施例中,所述激活值模块1还包括执行:
当基于所述测试数据集对迭代过程中各所述神经网络进行量化得到对应的最优量化因子值时,对所述神经网络进行逐层量化,得到每一层对应的所述激活值最优一次量化因子值,其中,对当前层量化时,已量化完成的所述神经网络层不再参与量化。
在一个实施例中,所述激活值模块1还包括执行:
将所述测试数据集的数据输入到所述神经网络中得到测试输出数据,基于所述测试输出数据评估所述神经网络,根据评估分数得到所述激活值最优一次量化因子值:所述量化范围由量化级数决定。
在一个实施例中,所述最优一次量化因子初值模块2还包括执行:
当基于所述测试数据集对迭代中各神经网络层进行量化时得到对应的评估分数时,根据所述评估分数的高低排序依次对各神经网络层进行二次量化,得到所述激活值最优二次量化因子值。
在一个实施例中,所述判断模块4,还包括执行:
判断评估分数是否不再提高,或达到预设的量化阈值次数;
若是,则判定所述激活值最优二次量化因子值符合要求。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于决策树的数据计算方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种量化因子的搜索方法。上述处理器执行上述一种量化因子的搜索方法,所述方法包括如下步骤:获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;判断所述激活值最优二次量化因子值是否符合要求;若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。降低量化因子的搜索空间,使得搜索空间由指数变为线性,保证搜索到的解接近理论最优解,减小深度学习算法模型要部署的功耗。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现量化因子的搜索方法,其中所述方法包括的步骤分别与执行前述实施方式的量化因子的搜索方法的步骤一一对应,在此不再赘述。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现一种量化因子的搜索方法,所述方法包括如下步骤:获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;判断所述激活值最优二次量化因子值是否符合要求;若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。降低量化因子的搜索空间等,使得搜索空间由指数变为线性,保证搜索到的解接近理论最优解,从而减小深度学习算法模型要部署时的功耗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种量化因子的搜索方法,其特征在于,所述方法包括:
获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;
基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;
基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值;
判断所述激活值最优二次量化因子值是否符合要求;
若不符合,则继续迭代计算激活值的最优量化因子值,直至获取满足要求的激活值最优n次量化因子值。
2.根据权利要求1所述的量化因子的搜索方法,其特征在于,所述获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值的步骤包括:
获取所述神经网络激活函数y =wx +b决定,其中w,b是权值,x是输入特征,所述激活值y随着输入数据变化而变化;
通过所述神经网络激活函数y =wx +b确定所述激活值,以及给所述激活值量化因子初值赋值为0。
3.根据权利要求1或2所述的量化因子的搜索方法,其特征在于,所述基于测试数据集在规定量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值的步骤,包括:
当基于所述测试数据集对迭代过程中各所述神经网络进行量化得到对应的最优量化因子值时,对所述神经网络进行逐层量化,得到每一层对应的所述激活值最优一次量化因子值,其中,对当前层量化时,已量化完成的所述神经网络层不再参与量化。
4.根据权利要求1所述的量化因子的搜索方法,其特征在于,所述基于测试数据集在量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值的步骤包括:
将所述测试数据集的数据输入到所述神经网络中得到测试输出数据,基于所述测试输出数据评估所述神经网络,根据评估分数得到所述激活值最优一次量化因子值,所述量化范围由量化级数决定。
5.根据权利要求1所述的量化因子的搜索方法,其特征在于,所述基于所述测试数据集在所述激活值最优一次量化因子值的搜索范围内获取激活值最优二次量化因子值的步骤,包括:
当基于所述测试数据集对迭代中各神经网络层进行量化时得到对应的评估分数时,根据所述评估分数的高低排序依次对各神经网络层进行二次量化,得到所述激活值最优二次量化因子值。
6.根据权利要求1所述的量化因子的搜索方法,其特征在于,所述判断所述激活值最优二次量化因子值是否符合要求的步骤包括:
判断评估分数是否不再提高,或达到预设的量化阈值次数;
若是,则判定所述激活值最优二次量化因子值符合要求。
7.一种量化因子的搜索装置,其特征在于,包括:
激活值模块,用于获取神经网络模型每层对应的激活值以及所述激活值的量化因子初值;
最优一次量化因子值模块,用于基于测试数据集在量化范围内获取所述神经网络每层量化后的激活值最优一次量化因子值;
最优二次量化因子值模块,用于基于所述测试数据集在所述激活值最优量化因子的搜索范围内获取激活值最优二次量化因子值;
判断模块,用于判断所述激活值最优二次量化因子值是否符合要求;
最优n次量化因子值模块,用于将对所述神经网络每层进行遍历,直至获取激活值最优n次量化因子值。
8.根据权利要求7所述的量化因子的搜索装置,其特征在于,所述激活值模块,包括:
激活值子模块,用于获取神经网络激活函数y =wx +b,其中w,b是权值,x是输入特征,激活值y随着输入数据变化而变化;
通过所述神经网络激活函数y =wx +b确定所述激活值,以及给所述激活值量化因子初值赋值为0。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的量化因子的搜索方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的量化因子的搜索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159553.2A CN115238874A (zh) | 2022-09-22 | 2022-09-22 | 一种量化因子的搜索方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159553.2A CN115238874A (zh) | 2022-09-22 | 2022-09-22 | 一种量化因子的搜索方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238874A true CN115238874A (zh) | 2022-10-25 |
Family
ID=83667222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211159553.2A Pending CN115238874A (zh) | 2022-09-22 | 2022-09-22 | 一种量化因子的搜索方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238874A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036860A (zh) * | 2023-08-15 | 2023-11-10 | 奕行智能科技(广州)有限公司 | 一种模型量化方法、电子装置及介质 |
-
2022
- 2022-09-22 CN CN202211159553.2A patent/CN115238874A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036860A (zh) * | 2023-08-15 | 2023-11-10 | 奕行智能科技(广州)有限公司 | 一种模型量化方法、电子装置及介质 |
CN117036860B (zh) * | 2023-08-15 | 2024-02-09 | 奕行智能科技(广州)有限公司 | 一种模型量化方法、电子装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI769754B (zh) | 基於隱私保護確定目標業務模型的方法及裝置 | |
US10762426B2 (en) | Multi-iteration compression for deep neural networks | |
CN111563706A (zh) | 一种基于lstm网络的多变量物流货运量预测方法 | |
Durrant | winGamma: A non-linear data analysis and modelling tool with applications to flood prediction | |
CN108304679A (zh) | 一种自适应可靠性分析方法 | |
EP3888007A1 (en) | Computer architecture for artificial image generation using auto-encoder | |
CN108879732B (zh) | 电力系统暂态稳定评估方法及装置 | |
JP2018185771A (ja) | 文ペア分類装置、文ペア分類学習装置、方法、及びプログラム | |
CN113190688A (zh) | 基于逻辑推理和图卷积的复杂网络链接预测方法及系统 | |
Liu et al. | A theory for dynamic weighting in Monte Carlo computation | |
CN116681104B (zh) | 分布式空间图神经网络的模型建立及实现方法 | |
Qiao et al. | Identification of fuzzy neural networks by forward recursive input-output clustering and accurate similarity analysis | |
CN111428866A (zh) | 一种增量学习方法、装置、存储介质及电子设备 | |
CN115238874A (zh) | 一种量化因子的搜索方法、装置、计算机设备及存储介质 | |
CN112766496A (zh) | 基于强化学习的深度学习模型安全性保障压缩方法与装置 | |
CN115374792A (zh) | 联合预训练和图神经网络的政策文本标注方法及系统 | |
Reddy et al. | A concise neural network model for estimating software effort | |
CN114169502A (zh) | 一种基于神经网络的降水预测方法、装置和计算机设备 | |
EP3888008A1 (en) | Computer architecture for artificial image generation | |
CN108875960A (zh) | 一种基于梯度下降的时序模糊认知图的学习方法及系统 | |
CN115359297B (zh) | 一种基于高阶脑网络的分类方法、系统、电子设备及介质 | |
CN110866838A (zh) | 基于转移概率预处理的网络表示学习算法 | |
CN111026661B (zh) | 一种软件易用性全面测试方法及系统 | |
West | Discovery sampling and selection models | |
CN111160419B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221025 |