CN111008693B - 一种基于数据压缩的网络模型构建方法、***和介质 - Google Patents
一种基于数据压缩的网络模型构建方法、***和介质 Download PDFInfo
- Publication number
- CN111008693B CN111008693B CN201911200896.7A CN201911200896A CN111008693B CN 111008693 B CN111008693 B CN 111008693B CN 201911200896 A CN201911200896 A CN 201911200896A CN 111008693 B CN111008693 B CN 111008693B
- Authority
- CN
- China
- Prior art keywords
- data set
- distiller
- data
- density
- search
- 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.)
- Active
Links
- 238000013144 data compression Methods 0.000 title claims abstract description 28
- 238000010276 construction Methods 0.000 title claims abstract description 17
- 238000012549 training Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000001537 neural effect Effects 0.000 claims abstract description 41
- 238000004821 distillation Methods 0.000 claims abstract description 30
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 238000013135 deep learning Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 208000024891 symptom Diseases 0.000 claims description 4
- 238000005457 optimization Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007774 longterm Effects 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
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010189 synthetic method 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于数据压缩的网络模型构建方法、***及介质,该方法包括:S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器;S200,将蒸馏器用于合成高密度蒸馏数据;S300,将合成的高密度蒸馏数据用于进行神经架构搜索,从而搜索出最优网络模型。本发明通过蒸馏器来压缩数据集,通过去除用于神经架构搜索的大规模数据集中的冗余信息,将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息。压缩后的小规模数据集能够极大地减少神经架构搜索中训练不同模型所需的计算量,加速模型搜索。
Description
所属技术领域
本发明涉及图像处理领域,更具体地,特别是指一种神经网络模型的构建方法、设备以及可读存储介质。
背景技术
传统深度学习的算法模型设计,一般依赖资深算法开发人员长期实践并通过大量的试错过程。由于模型结构空间巨大,人工设计方法开发成本较高,同时开发周期较长,不利于深度学习算法的快速发展。
NAS(Neural Architecture Search,神经架构搜索),是自动搜索深度学习算法模型结构的一类方法的总称,属于深度学习的一个开放研究领域,该领域旨在利用强大的计算资源自动搜索出优于专家设计的深度学习模型结构。NAS的出现是为了利用强大的计算资源自动搜索深度学习算法模型结构。通过设计搜索空间和搜索策略,计算机可以自动化地得到性能优异的算法模型。从这个领域现有的工作来看,已经出现了不少通过NAS搜索出来的优于人类设计的网络结构。
现有的NAS工作做法不尽相同,总结下来,通常的搜索方式是先设计一个复杂而庞大的搜索空间,这个空间会尽可能地包含众多子网络结构。在这个空间中进行搜索时,会依据设定的策略,利用常见的训练数据集对其中包含的子网络进行训练,训练的结果会作为搜索任务的评价指标,从而引导搜索算法最终获得性能优异的网络结构。
NAS虽然一定程度上解放了人力,但需要消耗大量计算资源。许多NAS工作动辄需要成百上千的GPU进行数周至数月的计算,硬件成本高昂的同时,也带来了巨大的能源消耗。NAS任务是一个高度自动化的过程,需要机器反复尝试不同的网络结构,并且要用不同的初始化参数反复尝试后,选出最优解。这个过程需要在训练数据上反复训练、测试,而用于深度学习的数据集一般非常大,从而导致了高昂的计算开销。
为减少过大数据集的开销,有学者提出先在较小数据集上进行神经架构搜索,并将搜索出的模型结构用于大规模任务。这类方法的局限在于不同任务上的最优模型结构不尽相同,小规模任务上搜索的模型结构无法保证在大规模任务的较优性能。
发明内容
为解决该技术问题,本发明提出了一种基于数据压缩的网络模型构建方法和***,从压缩数据集的角度出发,通过去除用于神经架构搜索的大规模数据集中的冗余信息,将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息。压缩后的小规模数据集能够极大地减少神经架构搜索中训练不同模型所需的计算量,加速模型搜索。
本发明的目的在于提供一种基于数据压缩的网络模型构建方法和***。
第一方面,本发明实施例提供了一种基于数据压缩的网络模型构建方法,包括:
S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器;
S200,将蒸馏器用于合成高密度蒸馏数据;
S300,将合成的高密度数据用于进行神经架构搜索。
其中,S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器包括:
S1110,提取原始数据集中每个训练样本的高维特征;
S1120,对每个训练样本的高维特征进行聚类,从而获得原始数据集在高维特征空间的一个或多个团簇;
S1130,估计每个团簇的密度;
S1140,在一个或多个团簇中逐步选取不同密度、不同位置处的特征样本,直至达到预设终止条件。
其中,S1110,提取原始数据集中每个训练样本的高维特征包括,采用SOTA网络对原始数据集S进行前向推理,提取每个训练样本的高维特征,提取出的训练样本的高维特征数值表示为高维特征集F。
其中,S1120,对每个训练样本的高维特征进行聚类,从而获得原始数据集在高维特征空间的一个或多个团簇包括,
S1121,选取聚类算法的距离公式;
S1122,使用选取的聚类算法的距离公式,应用聚类算法对原始数据集的高维特征进行聚类。
其中,聚类算法的距离公式是余弦相似度,对于高维特征集F=(F1,F2,...,Fk),任意两个特征Fa、Fb之间的距离表示为:
dist(Fa,Fb)=dot(Fa,Fb)/(|Fa||Fb|),其中dot为点积,|F|为F的二范数。
其中,通过聚类算法DBSCAN或MeanShift进行聚类。
其中,S1140,在一个或多个团簇中逐步选取不同密度、不同位置处的特征样本,直至达到预设终止条件包括,采用贪心算法选取密度最大的团簇作为高密度数据
其中,直接选择密度最大的团簇的中心。
其中,S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器包括:
S1210,将原始数据集的训练样本输入数据集蒸馏器,按照预定的蒸馏比得到与原始数据集维度一致的高密度信息;
S1220,将数据集蒸馏器输出的高密度特征数据输入到SOTA网络,SOTA网络输出的交叉熵损失函数作为数据集蒸馏器的评价指标;
S1230,如此迭代直至收敛。
其中,S1210,将原始数据集的训练样本输入数据集蒸馏器,按照预定的蒸馏比得到与原始数据集维度一致的高密度信息包括,
将原始数据集的训练样本依照分类输入一个由神经网络构建的数据集蒸馏器,数据集蒸馏器按照预定的蒸馏比,得到与原数据集维度一致的高密度信息。
其中,在执行步骤S1210-S1230过程中,当梯度反传时,冻结SOTA网络的权重,只训练蒸馏器部分。
第二方面,本发明实施例提供了一种基于数据压缩的网络模型构建***,包括存储器和处理器,所述存储器存储指令;其特征在于,所述处理器用于根据存储在存储器中的指令,执行上述的方法。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机该程序被处理器执行时实现上述的方法。
本发明通过去除用于神经架构搜索的大规模数据集中的冗余信息,将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息,压缩后的小规模数据集极大地减少模型搜索中训练不同模型所需的计算量,从而加速模型搜索。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为数据压缩的网络模型构建方法的流程框图。
图2为本发明的基于数据压缩的网络模型构建方法的流程图。
图3为实施例一的蒸馏器构建方法的流程图。
图4为将合成的高密度数据用于进行神经架构搜索的流程图。
图5为实施例二的蒸馏器构建方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的一个方面,提供了一种基于数据压缩的网络模型构建方法,具体实现思路为从压缩数据集的角度出发,将用于神经架构搜索的数据集进行蒸馏,从而去除大规模数据集中的冗余信息。如图1所述,其示出了本申请基数据压缩的网络模型构建方法的流程框图。通过本申请下述的实施例,通过蒸馏器将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息,压缩后的小规模数据集极大地减少模型搜索中训练不同模型所需的计算量,从而加速模型搜索。
实施例一
如图2所示,本申请的一种基于数据压缩的网络模型构建方法,可以包括以下步骤:
S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器;
S200,将蒸馏器用于合成高密度蒸馏数据;
S300,将合成的高密度蒸馏数据用于进行神经架构搜索,从而搜索出最优网络模型。
本发明通过采用蒸馏器去除了用于神经架构搜索的大规模数据集中的冗余信息,将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息,从而将大数据集提炼成高密度小数据集直接用于训练,压缩后的小规模数据集能够极大地减少神经架构搜索中训练不同模型所需的计算量,从而加速了模型搜索。
对于步骤S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器。
本发明的实施例中,采用蒸馏器对神经架构搜索的数据集进行数据压缩,从而得到数据压缩后的数据集。
蒸馏是一种压缩策略,通常指将规模较大的深度学习网络中包含的信息迁移到规模较小的网络中。本发明中,蒸馏也具有相似的涵义,区别在于将该策略应用于将大规模训练数据集压缩到小规模训练数据集。
蒸馏是一种将大网络中的“知识”提炼到小网络中的技术。蒸馏算法中有两个网络,即老师网络和学生网络。老师网络为大网络模型,学生网络为小的网络模型,老师网络指导学生网络的训练。训练的目标是使学生网络的输出逼近教师网络的输出。由于老师网络的输出相对于图片的标签包含更多的信息,因此蒸馏技术相对于传统的网络训练方法能够更好地训练网络。在蒸馏算法中,将复杂模型的“知识”提炼或者蒸馏到小模型,指导小模型的训练,从而也实现了对大模型的压缩。该类方法能够提升小模型的性能,减小大模型的运算量。
现有技术中用于神经架构搜索时,由于需要尽可能多地包含众多子网络结构,并需要在训练数据上反复训练、测试,所以数据集规模一般非常大。数据集中样本之间存在大量冗余信息,且存在大量与当前任务无关的信息,本发明中蒸馏器的作用就在于提取数据集中的有效信息并存储于少量的数据中,从而筛除数据集中与当前任务无关的冗余信息。
在本实施例中,基于第一种方式来构建蒸馏器。如图3所示,该蒸馏器构建方法可以包括如下步骤:
S1110,提取原始数据集中每个训练样本的高维特征。
通过SOTA(State-of-the-art)网络对原始数据集中的每个训练样本数据进行计算,从而获得这些数据的高维特征集,即获得数据集中每个训练样本特征在高维特征空间的数值表示。
在一个可选实施例中,采用例如ResNet-101的SOTA网络对原始数据集S进行前向推理,提取每个训练样本的高维特征,提取出的训练样本的高维特征数值表示为高维特征集F。
S1120,对每个训练样本的高维特征进行聚类,从而获得原始数据集在高维特征空间的一个或多个团簇。
在高维特征空间对通过步骤S1110获得的原始数据集S中的每个训练样本的高维特征进行聚类,即对高维特征集F进行聚类,进而能够获得原始数据集S在高维特征空间的一个或多个团簇。这些团簇是由不同数量的样本数据构成的,在高维特征空间中所处的位置也不同。那么,整个数据集S就被映射到了不同密度,不同位置的高维特征空间团簇中。
在一个可选实施例中,该聚类的具体方式可以包括:
S1121,选取聚类算法的距离公式。
聚类算法的距离公式的一个典型的例子是余弦相似度,即对于上述高维特征集F=(F1,F2,...,Fk),其中包含的任意两个特征Fa、Fb之间的距离可以表示为:
dist(Fa,Fb)=dot(Fa,Fb)/(|Fa||Fb|),其中dot为点积,|F|为F的二范数。
S1122,使用选取的聚类算法的距离公式,应用聚类算法对原始数据集的高维特征进行聚类。
例如可以通过DBSCAN,MeanShift等聚类算法进行聚类。具体的聚类方式是本领域的公知手段,在此不再赘述。
S1130,估计每个团簇的密度。
团簇是由不同数量的样本数据构成的,在高维特征空间中所处的位置也不同。那么,整个数据集S就被映射到了不同密度,不同位置的高维特征空间团簇中。高密度样本代表了高密度区域的样本,即团簇的密度代表了样本的密度。
团簇的密度的估计有许多方法,例如可以采用聚类成员个数,或聚类成员到中心的平均距离,或是两者的某种数值组合来表示。
在一个可选实施例中,还包括计算各个团簇的中心位置。团簇的中心位置的计算为本领域的工作方式,在此不再赘述。
S1140,在一个或多个团簇中逐步选取不同密度、不同位置处的特征样本,直至达到预设终止条件。
在一个可选实施例中,该选取可以为在一个或多个团簇中逐步选取密度高、同时离已选样本远的样本,直至达到预设终止条件。
在一个可选实施例中,通过使用贪心算法逐步选取密度高同时离已选样本远的样本直至达到预设终止条件。具体地,可以采用贪心算法选取密度最大的团簇作为高密度数据,例如可以直接选择密度最大的团簇的中心。当然亦可以采用其它方式进行贪心选取,只要满足贪心选取的原则:选择与之前已选的样本所在的团簇距离最远且密度最大的团簇的中心,数学上可以简单表示为距离与密度的乘积,当然也可以采用其他形式。
在一个可选实施例中,该预设的终止条件,例如可以是已选团簇个数的上限,或剩余未选择的团簇中心与已选的样本距离的下限,或者两者的组合均可。
本申请中通过高密度样本代表高密度区域的样本,并通过距离进行多样性的选择保证对原始数据分布范围的刻画。从而通过该蒸馏器可以近似原数据集对模型结构的评估能力,同时大量减少运算成本,加速算法的迭代。
S200,将蒸馏器用于合成高密度蒸馏数据。
通过步骤S100构建蒸馏器后,在本步骤中将获得的蒸馏器用于合成高密度的蒸馏数据。具体合成方式是本领域公知的,在此不再赘述。
通过该步骤合成的高密度蒸馏数据尽量多地保留了蒸馏前大规模数据集中的信息,从而将大数据集提炼成高密度小数据集用于训练,压缩后的小规模数据集能够极大地减少神经架构搜索中训练不同模型所需的计算量,从而加速模型搜索。
S300,将合成的高密度数据用于进行神经架构搜索。
通过步骤S200将蒸馏器合成为高密度蒸馏数据后,可以将该合成的高密度数据用于进行神经架构搜索,从而能够快速搜索出针对该任务的最优网络结构。具体地,如图4所示,将合成的高密度数据用于进行神经架构搜索包括:
S310,建立搜索空间。
在本步骤中,建立一个NAS搜索空间,从而通过神经架构搜索的方式在搜索空间中深度学习算法模型结构。
建立搜索空间前,一般要对数据集进行分类。根据用户上传的数据,按照一定比例(例如8:1:1)将数据集分为训练集、验证集和测试集,其中训练集用于训练深度神经网络模型,验证集用于在众多神经网络架构中筛选出最优架构,即精确度或者准确率最高的网络架构,而测试集则用于测试最优架构并作为的最终评分标准。
***利用上述测试集建立搜索空间,该搜索空间可以包括以下参数:卷积核的个数,步长以及大小、卷积层的个数、隐藏层的参数个数、是否使用跳跃连接(skipconnection)以及激活函数种类等。NAS搜索空间的具体建立方式是本领域公知的,在此不再赘述。
可选地,NAS搜索空间中尽可能地包含众多子网络模型。
S320,在建立的搜索空间中搜索出深度学习算法模型。
基于神经架构在搜索空间中搜索预设的深度神经网络架构,神经架构搜索算法可采用随机搜索、贝叶斯优化、进化算法、基于梯度的算法、蒙特卡罗树搜索以及基于强化学习的搜索等算,在搜索空间中采样不同的参数建立对应的深度神经网络架构。
在搜索空间中进行搜索时,会依据设定的策略,利用常见的训练数据集对其中包含的子网络进行训练,训练的结果会作为搜索任务的评价指标,从而引导搜索算法最终获得性能优异的网络结构。
具体地,在搜索过程中,利用验证集来对搜索出来的深度神经网络架构进行测试并记录测试结果。从而,可以引导搜索算法获得性能优异的网络结构。
本实施例通过采用第一种方式的蒸馏器去除了用于神经架构搜索的大规模数据集中的冗余信息,将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息,从而将大数据集提炼成高密度小数据集直接用于训练,压缩后的小规模数据集能够极大地减少神经架构搜索中训练不同模型所需的计算量,从而加速了模型搜索。
实施例二
本实施例与实施例一的步骤方法类似,其区别点在于构建的蒸馏器不同。本实施例是基于第二种深度学习方法来构建蒸馏器。
基于第二种深度学习方法的蒸馏器是直接将待求解的小数据集作为优化变量,该小数据集决定了模型参数的优化,进行决定了模型参数在整个训练集上性能。由于整个过程可导,通过优化小数据集最大化训练集上性能进行优化求解。该方法通过直接端到端的优化策略,能够直接压缩出与当前任务相关的信息。
具体地,该该方法可以包括如下步骤:
S1210,将原始数据集的训练样本输入数据集蒸馏器,按照预定的蒸馏比得到与原始数据集维度一致的高密度信息。
在本步骤中,将原始数据集的训练样本,依照分类输入一个由神经网络构建的数据集蒸馏器,蒸馏器按照预定的蒸馏比,得到与原数据集维度一致(CxHxW)的高密度信息。通过神经网络构建数据集蒸馏器是本领域的常用手段,在此不再赘述。
该原始数据集的训练集例如可以为ImageNet。
对于预定的蒸馏比,例如原数据为100000张,蒸馏比为1%,则对于100000x3x224x224的ImageNet输入,蒸馏器输出的高密度信息为1000x3x224x224。
S1220,将数据集蒸馏器输出的高密度特征数据输入到SOTA网络,SOTA网络输出的交叉熵损失函数作为数据集蒸馏器的评价指标。
用蒸馏器输出的高密度特征数据,来替代原始训练集,输入到一个SOTA(State-of-the-art)网络中,从而利用高密度特征的数据对SOTA网络进行训练。而SOTA输出的交叉熵损失函数则作为数据集蒸馏器的评价指标,来对数据集蒸馏器进行评价,以得到性能优异的蒸馏器。SOTA网络及其输出的交叉熵损失函数是本领域的现有技术,在此不再展开描述。
S1230,如此迭代直至收敛。
可选地,在执行步骤S1210-S1230过程中,当梯度反传时,则冻结SOTA网络的权重,只训练蒸馏器部分。
经过蒸馏器后的小数据集蕴含了原数据集高密度的信息,在NAS中可以近似原数据集对模型结构的评估能力,同时大量减少运算成本,加速算法的迭代。
本实施例中的其他步骤与实施例一相同,在此不再赘述。
本实施例通过采用基于第二种深度学习方法的蒸馏器去除用于神经架构搜索的大规模数据集中的冗余信息,将大规模数据集转化为小规模数据集,并尽量多地保留大规模数据集中的信息,从而将大数据集提炼成高密度小数据集直接用于训练,压缩后的小规模数据集能够极大地减少神经架构搜索中训练不同模型所需的计算量,从而加速了模型搜索。
基于深度学习方法蒸馏器。该方法直接将待求解的小数据集作为优化变量,该小数据集决定了模型参数的优化,进行决定了模型参数在整个训练集上性能。由于整个过程可导,通过优化小数据集最大化训练集上性能进行优化求解。该方法通过直接端到端的优化策略,能够直接压缩出与当前任务相关的信息。
本申请还涉及一种基于数据压缩的网络模型构建***,包括存储器和处理器,所述存储器存储指令;所述处理器用于根据存储在存储器中的指令,执行实施例一或实施例二种的方法。
本申请还涉及一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机该程序被处理器执行时实现实施例一或实施例二种的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的各模块、各指令的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于数据压缩的网络模型构建方法,应用于图像处理领域,该方法包括如下步骤:
S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器;所述原始数据集包括图片数据;
S200,将蒸馏器用于合成高密度蒸馏数据;
S300,将合成的高密度蒸馏数据用于进行神经架构搜索,从而搜索出最优网络模型;
其中,S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器包括如下步骤:
S1110,提取原始数据集中每个训练样本的高维特征;
S1120,对每个训练样本的高维特征进行聚类,从而获得原始数据集在高维特征空间的一个或多个团簇;
S1130,估计每个团簇的密度;
S1140,在一个或多个团簇中逐步选取不同密度、不同位置处的特征样本,直至达到预设终止条件;
其中,S1110,提取原始数据集中每个训练样本的高维特征包括,
采用SOTA网络对原始数据集S进行前向推理,提取每个训练样本的高维特征,提取出的训练样本的高维特征数值表示为高维特征集F;
其中,S1120,对每个训练样本的高维特征进行聚类,从而获得原始数据集在高维特征空间的一个或多个团簇包括,
S1121,选取聚类算法的距离公式;
S1122,使用选取的聚类算法的距离公式,应用聚类算法对原始数据集的高维特征进行聚类;
其中,S300,将合成的高密度数据用于进行神经架构搜索包括:
根据用户上传的数据,按照一定比例将数据集分为训练集、验证集和测试集;
利用所述测试集建立搜索空间;
在建立的搜索空间中搜索出深度学习算法模型。
2.根据权利要求1所述的方法,其中,聚类算法的距离公式是余弦相似度,对于高维特征集F=(F1,F2,...,Fk),任意两个特征Fa、Fb之间的距离表示为:
dist(Fa,Fb)=dot(Fa,Fb)/(|Fa||Fb|),其中dot为点积,|F|为F的二范数。
3.一种基于数据压缩的网络模型构建方法,应用于图像处理领域,该方法包括如下步骤:
S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器;所述原始数据集包括图片数据;
S200,将蒸馏器用于合成高密度蒸馏数据;
S300,将合成的高密度蒸馏数据用于进行神经架构搜索,从而搜索出最优网络模型;
其中,S100,构建用于对神经架构搜索的原始数据集进行数据压缩的蒸馏器包括如下步骤:
S1210,将原始数据集的训练样本输入数据集蒸馏器,按照预定的蒸馏比得到与原始数据集维度一致的高密度特征数据;
S1220,将数据集蒸馏器输出的高密度特征数据输入到SOTA网络,SOTA网络输出的交叉熵损失函数作为数据集蒸馏器的评价指标;
S1230,如此迭代直至收敛;
其中,S1210,将原始数据集的训练样本输入数据集蒸馏器,按照预定的蒸馏比得到与原始数据集维度一致的高密度特征数据包括,
将原始数据集的训练样本依照分类输入一个由神经网络构建的数据集蒸馏器,数据集蒸馏器按照预定的蒸馏比,得到与原数据集维度一致的高密度特征数据;
其中,在执行步骤S1210-S1230过程中,当梯度反传时,冻结SOTA网络的权重,只训练蒸馏器部分;
其中,S300,将合成的高密度数据用于进行神经架构搜索包括:
根据用户上传的数据,按照设定比例将数据集分为训练集、验证集和测试集;
利用所述测试集建立搜索空间;
在建立的搜索空间中搜索出深度学习算法模型。
4.一种基于数据压缩的网络模型构建***,包括存储器和处理器,所述存储器存储指令;其特征在于,所述处理器用于根据存储在存储器中的指令,执行权利要求1-3中任一项所述的方法。
5.一种计算机可读存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机该程序被处理器执行时实现如权利要求1-3任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200896.7A CN111008693B (zh) | 2019-11-29 | 2019-11-29 | 一种基于数据压缩的网络模型构建方法、***和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200896.7A CN111008693B (zh) | 2019-11-29 | 2019-11-29 | 一种基于数据压缩的网络模型构建方法、***和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111008693A CN111008693A (zh) | 2020-04-14 |
CN111008693B true CN111008693B (zh) | 2024-01-26 |
Family
ID=70112528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200896.7A Active CN111008693B (zh) | 2019-11-29 | 2019-11-29 | 一种基于数据压缩的网络模型构建方法、***和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008693B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582481B (zh) * | 2020-05-09 | 2023-10-03 | 北京百度网讯科技有限公司 | 用于对模型蒸馏的方法和装置 |
CN111860572B (zh) * | 2020-06-04 | 2024-01-26 | 北京百度网讯科技有限公司 | 数据集蒸馏方法、装置、电子设备及存储介质 |
CN113837374A (zh) * | 2020-06-23 | 2021-12-24 | 中兴通讯股份有限公司 | 神经网络的生成方法、设备及计算机可读存储介质 |
CN111967594A (zh) | 2020-08-06 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种神经网络压缩方法、装置、设备及存储介质 |
CN112489012A (zh) * | 2020-11-27 | 2021-03-12 | 大连东软教育科技集团有限公司 | 一种用于ct图像识别的神经网络架构方法 |
CN113762368A (zh) * | 2021-08-27 | 2021-12-07 | 北京市商汤科技开发有限公司 | 数据蒸馏的方法、装置、电子设备和存储介质 |
CN114692197A (zh) * | 2022-01-26 | 2022-07-01 | 索尼集团公司 | 用于隐私保护的方法、装置和*** |
CN117952190B (zh) * | 2024-01-31 | 2024-07-23 | 天津大学 | 一种面向大模型神经架构搜索的联邦协同训练方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886406A (zh) * | 2019-02-25 | 2019-06-14 | 东南大学 | 一种基于深度压缩的复数卷积神经网络压缩方法 |
CN110059747A (zh) * | 2019-04-18 | 2019-07-26 | 清华大学深圳研究生院 | 一种网络流量分类方法 |
CN110097177A (zh) * | 2019-05-15 | 2019-08-06 | 电科瑞达(成都)科技有限公司 | 一种基于伪孪生网络的网络剪枝方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713540B2 (en) * | 2017-03-07 | 2020-07-14 | Board Of Trustees Of Michigan State University | Deep learning system for recognizing pills in images |
US10943176B2 (en) * | 2017-03-22 | 2021-03-09 | Ebay Inc. | Visual aspect localization presentation |
US11741342B2 (en) * | 2018-05-18 | 2023-08-29 | Baidu Usa Llc | Resource-efficient neural architects |
US20230153577A1 (en) * | 2021-11-16 | 2023-05-18 | Qualcomm Incorporated | Trust-region aware neural network architecture search for knowledge distillation |
-
2019
- 2019-11-29 CN CN201911200896.7A patent/CN111008693B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109886406A (zh) * | 2019-02-25 | 2019-06-14 | 东南大学 | 一种基于深度压缩的复数卷积神经网络压缩方法 |
CN110059747A (zh) * | 2019-04-18 | 2019-07-26 | 清华大学深圳研究生院 | 一种网络流量分类方法 |
CN110097177A (zh) * | 2019-05-15 | 2019-08-06 | 电科瑞达(成都)科技有限公司 | 一种基于伪孪生网络的网络剪枝方法 |
Non-Patent Citations (2)
Title |
---|
"深度神经网络模型压缩综述";李江昀等;《工程科学学报》;第41卷(第10期);全部页 * |
深度神经网络压缩与加速综述;纪荣嵘;林绍辉;晁飞;吴永坚;黄飞跃;;计算机研究与发展(第09期);全部页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111008693A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008693B (zh) | 一种基于数据压缩的网络模型构建方法、***和介质 | |
WO2020167490A1 (en) | Incremental training of machine learning tools | |
CN103116766B (zh) | 一种基于增量神经网络和子图编码的图像分类方法 | |
CN110782015A (zh) | 神经网络的网络结构优化器的训练方法、装置及存储介质 | |
CN110175628A (zh) | 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法 | |
CN106779087A (zh) | 一种通用机器学***台 | |
CN103116762A (zh) | 一种基于自调制字典学习的图像分类方法 | |
CN105893609A (zh) | 一种基于加权混合的移动app推荐方法 | |
CN111898703B (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
CN107229693A (zh) | 基于深度学习的大数据***配置参数调优的方法和*** | |
CN105184367A (zh) | 深度神经网络的模型参数训练方法及*** | |
CN112000772A (zh) | 面向智能问答基于语义特征立方体的句子对语义匹配方法 | |
Chen et al. | Binarized neural architecture search for efficient object recognition | |
CN111796917A (zh) | 算子运算调度方法和装置 | |
CN109241298A (zh) | 语义数据存储调度方法 | |
CN114496099A (zh) | 细胞功能注释方法、装置、设备及介质 | |
CN110956277A (zh) | 一种交互式的迭代建模***及方法 | |
CN109523016A (zh) | 面向嵌入式***的多值量化深度神经网络压缩方法及*** | |
CN107133631A (zh) | 一种识别电视台图标的方法及装置 | |
CN114647752A (zh) | 基于双向可切分深度自注意力网络的轻量化视觉问答方法 | |
CN111475158A (zh) | 子领域划分方法、装置、电子设备和计算机可读存储介质 | |
CN114297025A (zh) | 数据中心资源分析***及方法、存储介质及电子设备 | |
CN117371511A (zh) | 图像分类模型的训练方法、装置、设备及存储介质 | |
CA2330878A1 (en) | Pre-processing and post-processing for enhancing knowledge discovery using support vector machines | |
CN113516019A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220727 Address after: Room 618, 6 / F, building 5, courtyard 15, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing 100176 Applicant after: Xiaomi Automobile Technology Co.,Ltd. Address before: 100080 soho1219, Zhongguancun, 8 Haidian North 2nd Street, Haidian District, Beijing Applicant before: SHENDONG TECHNOLOGY (BEIJING) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |