CN113313250A - 采用混合精度量化与知识蒸馏的神经网络训练方法及系统 - Google Patents
采用混合精度量化与知识蒸馏的神经网络训练方法及系统 Download PDFInfo
- Publication number
- CN113313250A CN113313250A CN202110521580.9A CN202110521580A CN113313250A CN 113313250 A CN113313250 A CN 113313250A CN 202110521580 A CN202110521580 A CN 202110521580A CN 113313250 A CN113313250 A CN 113313250A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- sub
- pool
- precision
- 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
- 238000012549 training Methods 0.000 title claims abstract description 122
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 31
- 238000011002 quantification Methods 0.000 title claims abstract description 11
- 238000013139 quantization Methods 0.000 claims abstract description 61
- 238000004821 distillation Methods 0.000 claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000000644 propagated effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 239000000203 mixture Substances 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
- 238000005070 sampling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
- G06N3/045—Combinations of 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)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提出一种采用混合精度量化与知识蒸馏的神经网络训练方法,包括:获取已知数据构建为数据集;根据该超参数,对神经网络各层的卷积操作设置多个精度量化位宽并构建超网,将该超网的所有子模型划分至第一模型池和第二模型池;从该第一模型池和该第二模型池中取出多个子模型进行训练和验证;将验证精度高于训练阈值的子模型放入该第一模型池,剩余的子模型放入该第二模型池;进行多轮迭代,直到该第一模型池的更新率小于更新阈值;对该第一模型池中的子模型进行蒸馏训练,得到任务模型。本发明还提出一种神经网络训练系统,以及一种数据处理装置。
Description
技术领域
本发明属于人工智能技术领域,具体涉及一种基于贪婪搜索的神经网络混合精度量化与知识蒸馏训练方法和系统。
背景技术
混合精度量化通过为网络模型中的不同操作选择不同的量化位宽,从而可以有效地减少模型计算量。模型架构搜索使用自动化的方式寻找性能更优的网络结构,从而起到代替人工设计复杂网络模型的目的。模型蒸馏是一种有效的压缩技术,主要用于将性能更优、参数量大的模型知识迁移到参数量少的小模型中。
尽管混合精度量化十分有效,但人工设计不同网络层的量化位宽依然十分困难,通过实验试错来找到一种性能优异的混合量化方案需要大量的计算开销。并且,进行混合精度量化后的模型,其性能相比原始模型通常会下降,从头训练时往往很难恢复原有精度。
发明内容
针对人工设计混合精度量化方案困难以及量化模型难以重训练的问题,本发明通过基于贪婪搜索的知识蒸馏,提出了一种采用混合精度量化的神经网络训练方法,包括:获取已知数据构建为数据集,将该数据集根据神经网络的超参数划分为训练集、验证集和测试集;根据该超参数,对神经网络各层的卷积操作设置多个精度量化位宽并构建超网,将该超网的所有子模型划分至第一模型池和第二模型池;从该第一模型池和该第二模型池中取出多个子模型,以该训练集和该验证集进行训练和验证,将验证精度高于训练阈值的子模型放入该第一模型池,剩余的子模型放入该第二模型池;对本步骤进行多轮迭代,直到该第一模型池的更新率小于更新阈值;对该第一模型池中的子模型进行蒸馏训练,得到任务模型,并以该测试集获得该任务模型的模型精度。
本发明所述的神经网络训练方法,于该训练更新步骤中,从第一候选池P中随机取出m个子模型,并从第二模型池P'中随机取出n个子模型,对取出的m+n个子模型分别进行前向传播,并通过反向传播更新每个子模型包含的参数权重,m、n为正整数。其中,第一模型池P的更新率θ为:
Pt-1表示第t-1轮迭代后的第一模型池,Pt表示第t轮迭代后的第一模型池,t为正整数。
本发明所述的神经网络训练方法,其特征在于,获取任务模型的步骤具体包括以下四种步骤中的任一种:
1、指定多个已知模型集成为教师模型,蒸馏训练第一模型池P中验证精度最高的子模型,得到该任务模型。
2、在第一模型池P的所有子模型中,选取验证精度最高的前K个子模型进行训练,将完成训练的子模型集成为教师模型,蒸馏训练第一模型池P中当前验证精度最高的子模型,得到该任务模型;K为正整数。
3、对第一模型池P中验证精度最高的前K个子模型按照模型参数量由大到小进行排序,获得子模型序列P(k)={pK,pK-1,……,p2,p1};指定已知模型为教师模型蒸馏训练子模型pK;该已知模型与子模型pK具有最高结构相似度,且该已知模型的模型精度高于子模型pK的验证精度;以蒸馏训练后的子模型pk为教师模型蒸馏训练子模型pk-1;依序对P(k)中所有K个子模型进行蒸馏训练;以当前验证精度最高的子模型为该任务模型;其中,k∈[1,K],K、k为正整数。
4、对第一模型池P中验证精度最高的前K个子模型按照模型参数量由大到小进行排序,获得子模型序列P(k)={pK,pK-1,……,p2,p1};指定已知模型为第一教师模型T1,蒸馏训练子模型pK;该已知模型与子模型pK具有最高结构相似度,且该已知模型的模型精度高于子模型pK的验证精度;以蒸馏训练后的子模型pk为第二教师模型T2,以T1和T2获得集成教师模型T蒸馏训练子模型pk-1;依序对P(k)中所有K个子模型进行蒸馏训练;以当前验证精度最高的子模型为该任务模型;其中,设置第一权重λ1和第二权重λ2,以得到T的输出soft_label,soft_label=λ1*outputT1+λ2*outputT2;outputT1和outputT2分别为T1和T2的输出,k∈[1,K],K、k为正整数。
本发明还提出一种采用混合精度量化与知识蒸馏的神经网络训练系统,包括:数据读取及预处理模块,用于获取已知数据构建为数据集,将该数据集根据神经网络的超参数划分为训练集、验证集和测试集;超网构建模块,用于根据该超参数,对神经网络各层的卷积操作设置多个精度量化位宽并构建超网,以及将该超网的所有子模型划分至第一模型池和第二模型池;神经网络架构搜索及优化模块,用于更新该第一模型池;其中,从该第一模型池和该第二模型池中取出多个子模型,以该训练集和该验证集进行训练和验证;将验证精度高于训练阈值的子模型放入该第一模型池,剩余的子模型放入该第二模型池;进行多轮迭代,直到该第一模型池的更新率小于更新阈值;搜得量化模型蒸馏训练模块,用于对该第一模型池中的子模型进行蒸馏训练,得到该任务模型;量化模型性能验证模块,用于以该测试集获得该任务模型的模型精度。
本发明还提出一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,当该计算机可执行指令被处理器执行时,实现如前所述的采用混合精度量化与知识蒸馏的神经网络训练方法。
本发明还提出一种数据处理装置,包括如前所述的计算机可读存储介质,当该数据处理装置的处理器调取并执行该计算机可读存储介质中的计算机可执行指令时,执行采用混合精度量化与知识蒸馏的神经网络训练。
附图说明
图1是本发明的采用混合精度量化与知识蒸馏的神经网络训练方法流程图。
图2是本发明的超网结构示意图。
图3是本发明的采用混合精度量化与知识蒸馏的神经网络训练系统示意图。
图4是本发明的数据处理装置示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。
发明人在进行模型压缩的相关研究时,发现现有混合精度量化的搜索空间非常大,导致为不同的网络层手工选择合适的量化位宽非常困难,发明人经过调研神经网络架构搜索发现,可以应用相关的架构搜索技术来解决量化位宽的选择问题。因此,发明人提出,为每一层操作提供多种不同量化位宽的候选项,使用贪婪搜索的方法,训练一个每层包含不同量化位宽的超网,并不断地将超网中性能优异的混合精度量化的子模型放入一个候选池,当超网训练收敛后,直接从候选池中选出合适的子模型即可,从而解决了为不同的网络层人工设计量化位宽的困难。由于经过混合精度量化的模型从头训练会导致性能下降,发明人经过研究发现,知识蒸馏可以辅助小模型学习,从而使其更容易收敛。因此,本发明提出,对搜索得到的不同混合精度量化模型,使用知识蒸馏技术来辅助其收敛,从而可以提升混合精度量化模型的性能。
本发明的目的是解决人工设计混合精度量化方案困难以及量化模型难以重训练的问题,提出了一种贪婪搜索的混合精度量化与知识蒸馏的神经网络训练方法。
本发明实施例的贪婪搜索的混合精度量化与知识蒸馏的神经网络训练方法,包括:为每个网络层构建不同量化位宽的候选操作组建超网、随机采样训练超网并使用贪婪搜索算法来为不同的网络层选择合适的量化位宽、使用知识蒸馏技术对搜得量化模型进行蒸馏训练。本申请依次对上述步骤进行如下详细说明。
图1是本发明的采用混合精度量化与知识蒸馏的神经网络训练方法流程图。如图1所示,本发明的采用混合精度量化与知识蒸馏的神经网络训练方法具体包括:
S11、定义目标数据集和原始未经过量化的神经网络模型,本发明实施例以CIFAR-10数据集和ResNet-18神经网络模型为例,进行图像分类任务;可以理解的是,本发明的神经网络训练方法并不限于采用CIFAR-10数据集和ResNet-18神经网络进行图像分类任务,例如,执行语义分割任务时,可采用Cityscapes数据集,以HRNet作为教师使用本文方案蒸馏训练ICNet、DeepLab模型;执行机器翻译任务,采用WMT2014 English-German数据集,使用Transformer Cycle模型作为教师使用本文方案蒸馏训练DynamicConv、ByteNet模型;执行说话人识别任务,则采用Voxceleb数据集,使用DTDNN模型作为教师蒸馏训练E-TDNN、T-DNN模型等,本发明并不以此为限。
将CIFAR-10训练集图片经过随机剪裁、翻转、归一化后,生成数据集,并根据ResNet-18模型的超参数,将数据集划分为训练集和验证集。
S12、根据硬件限制和任务需求,将ResNet-18模型每一层的卷积操作,替换为多种不同量化位宽的卷积操作,从而构建超网。
具体来说,为ResNet-18模型的每个网络层构建不同精度量化位宽的候选操作组建超网。通常神经网络的每一层都包含一个网络操作。对于为量化的神经网络而言,每层包含的操作通常为一个浮点运算操作。为了达到量化的目的,本发明实施例将神经网络模型的每一层替换为16bit/8bit/4bit等不同精度量化位宽的操作,从而使得神经网络的每层包含相同结构不同精度量化位宽的操作。如此构建出的模型又可称为“超网”,如图2所示。精度量化位宽还可以设置为其他精度,本发明并不以此为限。
在超网中的每一层选择一个量化位宽的操作,从而可形成超网中的一个子模型。可以看出,超网中的每个子模型代表一种不同的量化方案。
将超网的所有子模型进行划分,一部分子模型放入候选模型池(第一模型池),剩余的子模型放入其他模型池(第二模型池)。
S13、从候选模型池P中取出m个子模型,并从其他模型池中取出n个子模型进行训练,将训练集图片分别送入(m+n)个子模型,前向传播后得到模型输出与标签计算交叉熵损失,并进行反向传播计算梯度,使用SGD优化器依据梯度方向优化(m+n)个子模型包含的参数权重,从而达到训练超网的目的。
超网中每层不同量化位宽的操作需要经过充分训练才能得到合适的权重,因此首先需要对超网进行训练优化。本发明采用一种贪婪搜索算法的优化策略对超网中包含的所有权重W进行训练。总体而言,对超网N(A,W)的子模型集合A中的子模型a进行前向传播,并通过反向传播更新子模型a包含的参数。其优化目标为使得超网在训练集的损失Ltrain最小,从而得到收敛后的权重WA,用公式表示如下:
训练完成后,通过验证集的一个子集对这(m+n)个子模型进行验证,得到子模型的代理验证集精度。根据代理验证集精度的排序,将这(m+n)个子模型中性能优异的子模型放入候选模型池中,从而达到更新候选模型池P的目的,并将这(m+n)个子模型中剩余的子模型放入其他模型池中;
本实施例的性能优异是指子模型的代理验证集精度高于训练阈值,而训练其他任务的模型过程中,性能优异是指子模型的交并比高于训练阈值(语义分割模型)或损失低于训练阈值(回归预测模型)等。
S14、重复迭代上述步骤S13,直至超网训练收敛,即候选模型池P的更新率θ小于设定阈值α为止。
定义候选模型池P的更新率如下:
其中,Pt-1和Pt分别表示t-1和t轮迭代后的候选模型池,使用候选模型池的更新率θ表示模型池的更新幅度。经过一定训练轮数后,当候选模型池P的更新率θ小于设定更新阈值α时,表示超网训练收敛,则结束超网训练,直接从候选模型池P中选出满足任务需求的子模型作为搜索得到的量化模型;
本实施例的满足(图像分类)任务需求是指子模型的代理验证集精度高于任务需求阈值,训练其他任务的模型过程中,满足需求是指子模型的交并比高于任务需求阈值(语义分割任务)或损失低于任务需求阈值(回归预测任务)等。
S15、当超网训练收敛后,从模型候选池P中选出最能满足任务需求的量化模型作为任务模型,并以测试集对任务模型进行测试验证,获得任务模型的模型精度,然后以任务模型执行对图像分类任务。
然而,经过混合精度量化的模型从头训练会导致任务模型的性能下降,发明人经过研究发现,知识蒸馏可以辅助小模型学习,从而使其更容易收敛。因此,本发明的神经网络训练方法对量化模型进行蒸馏训练,以得到任务模型,并在测试集上进行测试验证。
使用知识蒸馏技术对搜得的量化模型进行蒸馏训练,本发明实施例公开了4种不同的蒸馏方案:
(1)由于不同的教师模型可能有包含不同的结构偏好,因此可以选择多个性能优异的已知模型作为集成教师模型,直接对候选模型池P中最满足需求的一个量化模型进行蒸馏训练,获得任务模型;
其中,已知模型是指本领域执行图像分类任务(语义分割任务或回归预测任务)的常用模型;
(2)由于最终的候选模型池P中包含性能优异的前K个子模型,因此可以对这K个量化模型进行训练,并将训练后的模型集成为教师模型,对候选模型池P中当前最满足需求的一个量化模型进行蒸馏训练,获得任务模型;
(3)根据模型参数量的大小,对候选模型池P中包含的性能优异的前K个量化模型p按照模型参数量大小进行排序如下:
p1<p2<……<pK-1<pK
选取一个结构相似且性能优异的已知模型作为教师模型T首先对参数量最大的模型PK进行蒸馏训练;然后使用模型pK蒸馏训练模型pK-1,依次类推,对K个量化模型p进行蒸馏训练,并从完成蒸馏训练的子模型中最满足需求的一个量化模型作为任务模型。
(4)根据模型参数量的大小,对候选模型池P中性能优异的前K个量化模型p按照模型参数量大小进行排序如下:
p1<p2<……<pK-1<pK
选取一个结构相似且性能优异的已知模型作为第一教师模型T1首先对参数量最大的模型pK进行蒸馏训练;然后将完成蒸馏训练的pK作为第二教师模型T2,将第一教师模型T1和第二教师模型T2生成集成教师模型T,
生成集成教师模型T采用加权求和方式,即为两个教师设置不同的权重λ1和λ2,将第一教师模型T1的输出outputT1和第二教师模型T2的输出outputT2加权求和后作为集成教师模型T的输出soft_label,公式表示为:
soft_label=λ1*outputT1+λ2*outputT2;
利用softlabel蒸馏训练模型PK-1,并依次类推,对K个量化模型p进行蒸馏训练,并从完成蒸馏训练的子模型中最满足需求的一个量化模型作为任务模型。
通过以上4种蒸馏方案,可将候选模型池P的不同大小的量化模型知识迁移至最终的任务模型中,如此一来,就可以使用得到的任务模型针对目标数据执行图像分类任务,或其他例如语义分割任务、机器翻译任务或说话人识别任务等。
本发明另一实施提供一种采用混合精度量化与知识蒸馏的神经网络训练系统,图3是本发明的采用混合精度量化与知识蒸馏的神经网络训练系统示意图。如图3所示,本发明的神经网络训练系统包括以下模块:
A、数据读取及预处理模块:该模块将训练数据(例如CIFAR-10数据集)根据相应超参数设置划分为训练集、验证集和测试集供贪婪搜索混合精度量化的模型,将训练集、验证集和测试集读入并进行预处理供搜得单模型进行训练和验证;
B、超网构建模块:该模块根据未量化的原生网络结构,基于硬件限制和任务需求,构建可供搜索的、包含不同量化位宽的超网;
C、神经网络架构搜索及优化模块:该模块主要包含两个部分。第一部分用于将经过预处理的训练数据送入超网进行前向传播,并通过反向传播来优化超网中不同候选操作自身的权重参数;第二部分为一个候选模型池,用于储存神经网络架构搜索过程中搜索得到的性能优异的网络结构,并不断更新;
D、搜得量化模型蒸馏训练模块:该模块从上述得到的候选模型池中选择满足任务需求的量化模型,使用经过预处理的训练集对搜得量化模型进行训练,并在训练过程中利用上述知识蒸馏技术方案进行知识蒸馏,从而加速量化模型的收敛速度;
E、量化模型性能验证模块:该模块使用任务数据集的测试集部分,经过数据预处理后,使用训练好的量化模型进行前向传播,得到模型输出与标签进行对比,从而验证该搜索得到的量化模型的性能好坏。
本发明实施例所提供的贪婪搜索混合精度量化与知识蒸馏训练的装置中,各个模块的工作过程与贪婪搜索混合精度量化与知识蒸馏训练的方法具有相同的技术特征,因此,同样可以实现前述功能,在此不再赘述。
本发明的采用混合精度量化与知识蒸馏的神经网络训练可以适用于其他任务模型的训练,例如对于图像分类、目标检测、图像分割等,本发明并不以此为限。
本发明还提出一种计算机可读存储介质,以及一种数据处理装置,如图4所示。本发明的计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被数据处理装置的处理器执行时,实现上述采用混合精度量化与知识蒸馏的神经网络训练方法。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器、FPGA、ASIC等)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
与现有技术相比,本发明具有以下的有益效果:
(1)与手工设计量化网络相比,自动化搜索包含不同量化位宽操作的网络无需丰富的专家先验知识,自主搜索出最优的量化网络结构;
(2)使用蒸馏的方法对搜得的量化网络进行训练,不仅可以加快量化网络的收敛速度,还可以提升网络性能,从而缩小量化网络与原始网络的性能差异。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变形,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种采用混合精度量化与知识蒸馏的神经网络训练方法,其特征在于,包括:
获取已知数据构建为数据集,将该数据集根据神经网络的超参数划分为训练集、验证集和测试集;
根据该超参数,对神经网络各层的卷积操作设置多个精度量化位宽并构建超网,将该超网的所有子模型划分至第一模型池和第二模型池;
从该第一模型池和该第二模型池中取出多个子模型,以该训练集和该验证集进行训练和验证,将验证精度高于训练阈值的子模型放入该第一模型池,剩余的子模型放入该第二模型池;对本步骤进行多轮迭代,直到该第一模型池的更新率小于更新阈值;
对该第一模型池中的子模型进行蒸馏训练,得到任务模型,并以该测试集获得该任务模型的模型精度。
2.如权利要求1所述的神经网络训练方法,其特征在于,该训练更新步骤中,从第一候选池P中随机取出m个子模型,并从第二模型池P'中随机取出n个子模型,对取出的m+n个子模型分别进行前向传播,并通过反向传播更新每个子模型包含的参数权重,m、n为正整数。
4.如权利要求1所述的神经网络训练方法,其特征在于,获取任务模型的步骤具体包括:
指定多个已知模型集成为教师模型,蒸馏训练第一模型池P中验证精度最高的子模型,得到该任务模型。
5.如权利要求1所述的神经网络训练方法,其特征在于,获取任务模型的步骤具体包括:
在第一模型池P的所有子模型中,选取验证精度最高的前K个子模型进行训练,将完成训练的子模型集成为教师模型,蒸馏训练第一模型池P中当前验证精度最高的子模型,得到该任务模型;K为正整数。
6.如权利要求1所述的神经网络训练方法,其特征在于,获取任务模型的步骤具体包括:
对第一模型池P中验证精度最高的前K个子模型按照模型参数量由大到小进行排序,获得子模型序列P(k)={pK,pK-1,……,p2,p1};
指定已知模型为教师模型蒸馏训练子模型pK;该已知模型与子模型pK具有最高结构相似度,且该已知模型的模型精度高于子模型pK的验证精度;
以蒸馏训练后的子模型pk为教师模型蒸馏训练子模型pk-1;依序对P(k)中所有K个子模型进行蒸馏训练;
以当前验证精度最高的子模型为该任务模型;
其中,k∈[1,K],K、k为正整数。
7.如权利要求1所述的神经网络训练方法,其特征在于,获取任务模型的步骤具体包括:
对第一模型池P中验证精度最高的前K个子模型按照模型参数量由大到小进行排序,获得子模型序列P(k)={pK,pK-1,……,p2,p1};
指定已知模型为第一教师模型T1,蒸馏训练子模型pK;该已知模型与子模型pK具有最高结构相似度,且该已知模型的模型精度高于子模型pK的验证精度;
以蒸馏训练后的子模型pk为第二教师模型T2,以T1和T2获得集成教师模型T蒸馏训练子模型pk-1;依序对P(k)中所有K个子模型进行蒸馏训练;
以当前验证精度最高的子模型为该任务模型;
其中,设置第一权重λ1和第二权重λ2,以得到T的输出soft_label,
soft_label=λ1*outputT1+λ2*outputT2;
outputT1和outputT2分别为T1和T2的输出,k∈[1,K],K、k为正整数。
8.一种采用混合精度量化与知识蒸馏的神经网络训练系统,其特征在于,包括:
数据读取及预处理模块,用于获取已知数据构建为数据集,将该数据集根据神经网络的超参数划分为训练集、验证集和测试集;
超网构建模块,用于根据该超参数,对神经网络各层的卷积操作设置多个精度量化位宽并构建超网,以及将该超网的所有子模型划分至第一模型池和第二模型池;
神经网络架构搜索及优化模块,用于更新该第一模型池;其中,从该第一模型池和该第二模型池中取出多个子模型,以该训练集和该验证集进行训练和验证;将验证精度高于训练阈值的子模型放入该第一模型池,剩余的子模型放入该第二模型池;进行多轮迭代,直到该第一模型池的更新率小于更新阈值;
搜得量化模型蒸馏训练模块,用于对该第一模型池中的子模型进行蒸馏训练,得到该任务模型;
量化模型性能验证模块,用于以该测试集获得该任务模型的模型精度。
9.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,当该计算机可执行指令被处理器执行时,实现如权利要求1~7任一项所述的采用混合精度量化与知识蒸馏的神经网络训练方法。
10.一种数据处理装置,包括如权利要求9所述的计算机可读存储介质,当该数据处理装置的处理器调取并执行该计算机可读存储介质中的计算机可执行指令时,执行采用混合精度量化与知识蒸馏的神经网络训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110521580.9A CN113313250B (zh) | 2021-05-13 | 2021-05-13 | 采用混合精度量化与知识蒸馏的神经网络训练方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110521580.9A CN113313250B (zh) | 2021-05-13 | 2021-05-13 | 采用混合精度量化与知识蒸馏的神经网络训练方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113313250A true CN113313250A (zh) | 2021-08-27 |
CN113313250B CN113313250B (zh) | 2023-11-24 |
Family
ID=77373147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110521580.9A Active CN113313250B (zh) | 2021-05-13 | 2021-05-13 | 采用混合精度量化与知识蒸馏的神经网络训练方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313250B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023193190A1 (en) * | 2022-04-07 | 2023-10-12 | Nvidia Corporation | Adjusting precision of neural network weight parameters |
CN117893975A (zh) * | 2024-03-18 | 2024-04-16 | 南京邮电大学 | 一种电力监控识别场景下的多精度残差量化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200110994A1 (en) * | 2018-10-04 | 2020-04-09 | International Business Machines Corporation | Neural networks using intra-loop data augmentation during network training |
CN111445008A (zh) * | 2020-03-24 | 2020-07-24 | 暗物智能科技(广州)有限公司 | 一种基于知识蒸馏的神经网络搜索方法及系统 |
CN111985523A (zh) * | 2020-06-28 | 2020-11-24 | 合肥工业大学 | 基于知识蒸馏训练的2指数幂深度神经网络量化方法 |
CN112016674A (zh) * | 2020-07-29 | 2020-12-01 | 魔门塔(苏州)科技有限公司 | 一种基于知识蒸馏的卷积神经网络的量化方法 |
-
2021
- 2021-05-13 CN CN202110521580.9A patent/CN113313250B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200110994A1 (en) * | 2018-10-04 | 2020-04-09 | International Business Machines Corporation | Neural networks using intra-loop data augmentation during network training |
CN111445008A (zh) * | 2020-03-24 | 2020-07-24 | 暗物智能科技(广州)有限公司 | 一种基于知识蒸馏的神经网络搜索方法及系统 |
CN111985523A (zh) * | 2020-06-28 | 2020-11-24 | 合肥工业大学 | 基于知识蒸馏训练的2指数幂深度神经网络量化方法 |
CN112016674A (zh) * | 2020-07-29 | 2020-12-01 | 魔门塔(苏州)科技有限公司 | 一种基于知识蒸馏的卷积神经网络的量化方法 |
Non-Patent Citations (1)
Title |
---|
徐礼淮 等: "高精度轻量级的人脸关键点检测算法", 《激光与光电子学进展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023193190A1 (en) * | 2022-04-07 | 2023-10-12 | Nvidia Corporation | Adjusting precision of neural network weight parameters |
CN117893975A (zh) * | 2024-03-18 | 2024-04-16 | 南京邮电大学 | 一种电力监控识别场景下的多精度残差量化方法 |
CN117893975B (zh) * | 2024-03-18 | 2024-05-28 | 南京邮电大学 | 一种电力监控识别场景下的多精度残差量化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113313250B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022545038A (ja) | リソース制約付きニューラルネットワークアーキテクチャ検索 | |
CN110852168A (zh) | 基于神经架构搜索的行人重识别模型构建方法及装置 | |
US20100076911A1 (en) | Automated Feature Selection Based on Rankboost for Ranking | |
CN113313250A (zh) | 采用混合精度量化与知识蒸馏的神经网络训练方法及系统 | |
CN111612134A (zh) | 神经网络结构搜索方法、装置、电子设备及存储介质 | |
CN112149721B (zh) | 一种基于主动学习降低标注需求的目标检测方法 | |
CN114549894A (zh) | 基于嵌入增强和自适应的小样本图像增量分类方法及装置 | |
CN113741886B (zh) | 一种基于图的语句级程序修复方法及系统 | |
CN111027292B (zh) | 一种限定采样文本序列生成方法及其系统 | |
CN113204976B (zh) | 一种实时问答方法及系统 | |
CN112733964A (zh) | 一种强化学习自动感知权重分布的卷积神经网络量化方法 | |
CN112381208A (zh) | 一种深度渐进且逐步寻优的神经网络架构搜索方法与系统 | |
Malashin | Principle of least action in dynamically configured image analysis systems | |
CN115511069A (zh) | 神经网络的训练方法、数据处理方法、设备及存储介质 | |
WO2021257160A1 (en) | Model selection learning for knowledge distillation | |
CN113128689A (zh) | 一种调控知识图谱的实体关系路径推理方法及系统 | |
CN114049527B (zh) | 基于在线协作与融合的自我知识蒸馏方法与系统 | |
CN116910210A (zh) | 基于文档的智能问答模型训练方法、装置及其应用 | |
CN115422321B (zh) | 一种知识图谱复杂逻辑推理方法、组件和知识图谱的查询检索方法 | |
CN115457269A (zh) | 一种基于改进DenseNAS的语义分割方法 | |
ZiWen et al. | Multi-objective Neural Architecture Search for Efficient and Fast Semantic Segmentation on Edge | |
Yang et al. | NAM net: meta-network with normalization-based attention for few-shot learning | |
WO2021226709A1 (en) | Neural architecture search with imitation learning | |
CN117172323B (zh) | 一种基于特征对齐的专利多领域知识抽取方法及系统 | |
CN116629374B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |