CN116468095A - 神经网络架构搜索方法及装置、设备、芯片、存储介质 - Google Patents
神经网络架构搜索方法及装置、设备、芯片、存储介质 Download PDFInfo
- Publication number
- CN116468095A CN116468095A CN202310342597.7A CN202310342597A CN116468095A CN 116468095 A CN116468095 A CN 116468095A CN 202310342597 A CN202310342597 A CN 202310342597A CN 116468095 A CN116468095 A CN 116468095A
- Authority
- CN
- China
- Prior art keywords
- sub
- network
- networks
- performance parameter
- performance
- 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
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 239000002131 composite material Substances 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 description 28
- 238000005457 optimization Methods 0.000 description 15
- 210000000349 chromosome Anatomy 0.000 description 13
- 238000013461 design Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000035772 mutation Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000010845 search algorithm Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013209 evaluation strategy Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000008909 emotion recognition Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation 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/08—Learning methods
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了神经网络架构搜索方法及装置、设备、芯片、存储介质;其中,所述方法包括:根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
Description
技术领域
本申请涉及人工智能技术,涉及但不限于神经网络架构搜索方法及装置、设备、芯片、存储介质。
背景技术
神经网络结构搜索(Neural Network Architecture Search,NAS)是指对于神经网络模型,通过算法自动化完成最优架构的设计,以替代算法专家的手工设计。NAS的优势主要体现在以下几方面:一是能够大幅减少人工设计网络成本,这在场景复杂和任务数量巨大时尤为明显;二是NAS能够最大可能地通过自动化手段挖掘潜在最优模型;三是能够在很大程度上避免手工设计网络带来的弊端,如避免人类固有的知识体系和认知对模型设计带来的偏差。
如何使NAS搜索出的子网络达到更好的用户体验,依然是待解决的技术问题。
发明内容
有鉴于此,本申请提供的神经网络架构搜索方法及装置、设备、芯片、存储介质,能够自动搜索出满足多个性能参数要求的目标子网络。
根据本申请实施例的一个方面,提供一种神经网络架构搜索方法,包括:根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
根据本申请实施例的一个方面,提供一种神经网络架构搜索装置,包括:确定模块,配置成根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;搜索模块,配置成根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
根据本申请实施例的一个方面,提供一种电子设备,包括第一存储器和第一处理器,所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现本申请实施例所述的方法。
根据本申请实施例的一个方面,提供一种芯片,所述芯片包括第二存储器和第二处理器,所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现本申请实施例所述的方法。
根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例所述的方法。
在本申请实施例中,基于多目标进行神经网络架构搜索,也就是根据第一子网络集合中第一子网络的多个性能参数值而非是单一性能参数值,进行神经网络架构搜索;如此,有益于搜索出满足多种性能参数指标的目标子网络,也就是搜索出综合性能满足需求的目标子网络,从而达到更好的用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1为本申请实施例提供的神经网络架构搜索方法的实现流程示意图;
图2为本申请实施例提供的神经网络架构搜索方法的实现流程示意图;
图3为帕累托最优解示意图;
图4为单目标帕累托最优解示意图;
图5为本申请实施例提供的神经网络架构搜索方法的实现流程示意图;
图6为本申请实施例提供的基于简单线性加权(Simple Additive Weighting,SAW)的适应度排序示意图;
图7为本申请实施例提供的神经网络架构搜索装置的结构示意图;
图8为本申请实施例提供的电子设备的硬件实体示意图;
图9为本申请实施例提供的芯片的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”、“本实施例”、“本申请实施例”以及举例等等,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
本申请实施例中出现的“第一、第二、第三”等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
本申请实施例提供一种神经网络架构搜索方法,图1为本申请实施例提供的神经网络架构搜索方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤102:
步骤101,根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;
步骤102,根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
在本申请实施例中,对于数据处理任务不做限定,可以是各种各样的数据处理任务,比如,该数据处理任务可以是图像处理任务、语音数据处理任务或文本数据处理任务等;其中,图像处理任务,例如可以是图像识别及分类(如人脸识别、车牌识别、标志识别等)、图像降噪或超分辨率重构等;语音数据处理任务,例如可以是翻译或文字转换等语音识别任务等;文本数据处理任务,例如可以是情感识别或文本分类等。
在一些实施例中,可以根据对该目标子网络的架构配置对应的子网络进行训练,从而得到训练好的目标子网络用来完成数据处理任务。
在一些实施例中,也可以预先对超网(Super Net)进行训练,得到训练好的超网;基于此,在得到目标子网络的架构配置后,基于该架构配置从训练好的超网中获取对应的权重参数/模型参数(如全连接层中的权重矩阵和卷积层中的卷积核等)。可以理解,在得到目标子网络的超参数(即架构配置)和权重参数之后,即可用来完成数据处理任务。当然,也可以对该目标子网络进行进一步的训练之后再用来完成相应的数据处理任务。
可以理解,所谓超网是指拥有最大的深度、宽度和卷积核等信息,其是一个在深度、宽度和卷积核大小等方面可变化的动态网络;该超网包括神经网络架构搜索空间包括的子网络。
可以理解,在本申请实施例中,基于多目标进行神经网络架构搜索,也就是根据第一子网络集合中第一子网络的多个性能参数值而非是单一性能参数值,进行神经网络架构搜索;如此,有益于搜索出满足多种性能参数指标的目标子网络,也就是搜索出综合性能满足需求的目标子网络,从而达到更好的用户体验。
需要说明的是,本申请实施例出现的“多个性能参数值”也可以理解为“子网络在多个目标上的值”。
在一些实施例中,多个性能参数值包括第一子网络的精确度和所述第一子网络在第一芯片上完成数据处理任务所表现的硬件性能。可以理解,所谓第一子网络的精确度,也就是第一子网络本身的性能,比如第一子网络是用于完成分类任务的神经网络,则精确度可以是第一子网络的分类准确度。又如,第一子网络是用于完成图像降噪任务的神经网络,则精确度可以是降噪后的图像的峰值信噪比(Peak Signal to Noise Ratio,PSNR)。
进一步地,在一些实施例中,所述硬件性能包括延迟、功耗和/或内存开销。可以理解,所谓延迟是指第一子网络在第一芯片上完成数据处理任务所花费的时长,也可以理解为计算量。所谓功耗是指第一子网络在第一芯片上完成数据处理任务所花费的电量。第一芯片可以是指在使用阶段/应用阶段/在线阶段用以运行目标子网络的芯片。
当然,多个性能参数值具体包括的参数类型也不限于精确度、延迟、功耗和/或内存开销,也可以包括其他类型的性能参数的值。
以下分别对上述各个步骤的进一步的可选的实施方式以及相关名词等进行说明。
在步骤101中,根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络。
可以理解,NAS主要包含三个内容:搜索空间设计、搜索策略设计以及模型评估策略/子网络评估策略。在进行神经网络架构搜索之前,需要预先配置神经网络架构搜索空间,其描述了潜在可能的神经网络架构集合,即待搜索网络架构的候选集合,是一个包含多种网络架构的离散空间。例如,神经网络架构搜索空间如表1所示,当然表1仅仅是为了帮助理解神经网络架构搜索空间,但是并不构成对本申请实施例所述的神经网络架构搜索空间的限定。
表1
一个卷积层的超参数类型 | 候选集 |
卷积核的数量 | {24,36,48,64} |
卷积核的大小 | {3x3,5x5,7x7} |
步长 | {1,2} |
在一些实施例中,可以这样确定第一子网络集合:对所述神经网络架构搜索空间进行采样,得到第一子网络的架构配置;将至少一个性能参数值满足约束条件的第一子网络添加至所述第一子网络集合中。
当然,在另一些实施例中,也可以直接将从神经网络架构搜索空间中采样得到的第一子网络的架构配置(也就是第一子网络)添加至第一子网络集合中。但是,相比于该实施例,前一实施例中将至少一个性能参数值满足约束条件的第一子网络添加至第一子网络集合中,也就是第一子网络集合中包括的并非是采样得到的所有第一子网络,而是从该所有第一子网络筛选得到的部分第一子网络(即至少一个性能参数值满足约束条件的第一子网络),这样有益于搜索出综合性能更优的目标子网络。
可以理解,不同类型的性能参数对应的约束条件不同,性能参数值越大表征对应的子网络的性能越好,则约束条件为性能参数值大于或等于对应阈值。例如,其中一个性能参数为第一子网络的分类准确度,则约束条件为分类准确度大于或等于分类准确度阈值;又如,其中一个性能参数为第一子网络的峰值信噪比(Peak Signal to Noise Ratio,PSNR),则约束条件为PSNR大于或等于PSNR阈值。
当然,还有些类型的性能参数,其数值越小表征对应的子网络的性能越好,则约束条件为性能参数值小于或等于对应阈值。例如,其中一个性能参数为第一子网络在第一芯片上完成数据处理任务所表现的硬件性能(如延迟、功耗或内存开销),则约束条件为延迟小于或等于延迟阈值,或者功耗小于或等于功耗阈值,或者内存开销小于或等于内存开销阈值。
在实现时,可以是边采样边判断,即对神经网络架构搜索空间进行一次采样,得到一个第一子网络的架构配置后,就判断该子网络的至少一个性能参数值是否满足约束条件;如果满足,则将该第一子网络添加至第一子网络集合中,然后重复上述过程,继续对神经网络架构搜索空间进行一次采样,得到一个新的第一子网络的架构配置,并判断该子网络的至少一个性能参数值是否满足约束条件,如果满足,则将该第一子网络添加至第一子网络集合中;如此,经过多次采样和判断,最终得到具有固定数量的第一子网络的第一子网络集合。
在实现时,也可以先采样多次从而得到多个第一子网络的架构配置,然后再串行或并行判断这多个第一子网络的至少一个性能参数值是否满足约束条件。
当然,在本申请实施例中,第一子网络集合中的第一子网络的数量也可以是非固定的,而采样次数是固定的。在一些实施例中,采样方式为随机采样。
可以理解,在本申请实施例中,能够添加至第一子网络集合中的第一子网络,可以是任一性能参数值满足约束条件的子网络,也可以是多个性能参数值满足约束条件的子网络。
在本申请实施例中,对于第一子网络的性能参数值的确定方法不做限定,可以是利用预先训练好的目标预测器(其结构为神经网络结构)对第一子网络的性能进行预测,从而得到该子网络的一个或多个性能参数值,例如将第一子网络的架构配置输入至预先训练好的目标预测器中,从而输出该第一子网络的一个或多个性能参数值。又如,也可以在第一芯片上运行第一子网络,使第一子网络在第一芯片上完成数据处理任务,从而得到该第一子网络的一个或多个性能参数值。
在步骤102中,根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置。
在本申请实施例中,对于实现步骤102的算法不做限定,可以是进化算法、粒子群算法、基于相互关系的多目标优化方法或者其他多目标优化算法,总之,是根据子网络的多个性能参数值而不是一个性能参数值进行的神经网络架构搜索即可。
在一些实施例中,可以这样实现步骤102:将所述第一子网络集合作为当前集合,执行第一过程,所述第一过程包括:确定所述当前集合中子网络的多个性能参数值;以及根据所述当前集合中子网络的多个性能参数值,确定所述子网络的综合性能得分;以及根据所述当前集合中子网络的综合性能得分,生成第二子网络集合;其中,所述第二子网络集合包括多个具有不同架构配置的第二子网络;
然后,将所述第二子网络集合作为当前集合,迭代执行所述第一过程直至满足迭代终止条件,根据最终迭代得到的第二子网络集合中子网络的综合性能得分,从所述最终迭代得到的第二子网络集合中选取所述目标子网络的架构配置。
进一步地,在一些实施例中,如前文所述,可以利用预先训练好的目标预测器对子网络的性能进行预测,从而得到该子网络的多个性能参数值;或者,也可以在第一芯片上运行该子网络,使该子网络在第一芯片上完成数据处理任务,从而得到该子网络的多个性能参数值。
在一些实施例中,可以仅根据子网络的多个性能参数值,确定该子网络的综合性能得分。例如,先将多个性能参数值进行归一化处理,然后将归一化处理后的该多个性能参数值的均值作为该子网络的综合性能得分。
在另一些实施例中,也可以这样确定子网络的综合性能得分:根据所述多个性能参数值的预设权重和所述多个性能参数值,确定所述子网络的综合性能得分。
可以理解,用户可以根据对各个性能参数的指标要求的严格程度,设置各个性能参数的预设权重。比如,用户对延迟的指标要求严于功耗,则可以设置延迟这一性能参数的权重大于功耗的权重。如此,有益于用户根据实际工程需求灵活设置每个性能参数值(也就是性能参数的参数值),从而能够搜索出符合用户定制化需求的目标子网络。
可以理解,由于多个性能参数值的量纲不同,因此在确定综合性能得分之前,需要先对各个性能参数值进行归一化处理,基于此,利用各个性能参数值的预设权重,对该多个性能参数值进行加权求和或加权平均,从而得到该子网络的综合性能得分。
例如,可以根据如下公式(1)将性能参数值缩放至0至1的范围内:
式(1)中,f′i,t(x)表示子网络x在当前轮次/迭代t中的性能参数i的参数值的缩放值,fi(x)表示子网络x在当前轮次/迭代t中的性能参数i的参数值,表示当前集合中所有子网络在当前轮次/迭代t中的性能参数i的参数值的最小值,/>表示当前集合中所有子网络在当前轮次/迭代t中的性能参数i的参数值的最大值;其中,子网络x是指当前集合中的任一子网络,性能参数i是指所述多个性能参数中的任一性能参数。
对各个性能参数值进行归一化处理之后,根据如下公式(2)确定子网络x的综合性能得分:
vx,t=∑wif′i,t(x),i=1,…,m (2);
式(2)中,vx,t表示子网络x在当前轮次/迭代t中的综合性能得分,wi表示性能参数i的预设权重,m表示性能参数值的数目(即所述多个性能参数值)。
进一步地,在一些实施例中,可以这样得到第二子网络集合:根据所述当前集合中子网络的综合性能得分,从所述当前集合中选取综合性能最优的多个子网络添加至精英集合中;对所述精英集合中的子网络进行选择、交叉和变异操作,得到多个第二子网络;根据所述多个第二子网络,生成所述第二子网络集合。
在本申请实施例中,第二子网络集合是基于综合性能最优的多个子网络生成的,如此有益于搜索出综合性能更优的目标子网络。
可以理解,在综合性能得分越高表示子网络的性能越优/越好的情况下,可以将当前集合中的所有子网络的综合性能得分按照由大到小的顺序排序,取前K个综合性能得分最高的子网络添加至精英集合中。当然,也可以按照由小到大的顺序排序,取后K个综合性能得分最高的子网络添加至精英集合中;其中,K为大于1的整数,可以预先配置K的值。
反之,在综合性能得分越小表示子网络的性能越优/越好的情况下,则可以将当前集合中的所有子网络的综合性能得分按照由小到大的顺序排序,取前K个综合性能得分最低的子网络添加至精英集合中。当然,也可以按照由大到小的顺序排序,取后K个综合性能得分最低的子网络添加至精英集合中;其中,K为大于1的整数。
可以理解,所谓对精英集合中的子网络进行选择,是指按照预先配置的变异概率/变异比例从精英集合中随机选出待变异的子网络。对子网络进行变异是指改变/更改子网络的一个或多个架构参数/超参数,对子网络进行交叉是指将两个子网络的一个或多个架构参数进行互换。
可以理解,交叉和变异后的子网络的性能参数值不一定满足约束条件,为了帮助搜索出综合性能更优的目标子网络,示例性地,在一些实施例中,可以将至少一个性能参数值满足约束条件的第二子网络添加至第二子网络集合中。
当然,在另一些实施例中,也可以从基于交叉和变异操作得到的多个第二子网络中随机选出固定数量的第二子网络添加至第二子网络集合中。
本申请实施例再提供一种神经网络架构搜索方法,图2为本申请实施例提供的神经网络架构搜索方法的实现流程示意图,如图2所示,该方法包括如下步骤201至步骤210:
步骤201,对所述神经网络架构搜索空间进行采样,得到第一子网络的架构配置;
步骤202,将至少一个性能参数值满足约束条件的第一子网络添加至第一子网络集合中;
步骤203,确定第一子网络集合中的第一子网络的数量是否等于预设数量;如果是,将所述第一子网络集合作为当前集合,进入步骤204;否则,返回执行步骤201;
步骤204,确定所述当前集合中子网络的多个性能参数值;
步骤205,根据所述当前集合中子网络的多个性能参数值和所述多个性能参数值的预设权重,确定所述子网络的综合性能得分;
步骤206,根据所述当前集合中子网络的综合性能得分,从所述当前集合中选取综合性能最优的多个子网络添加至精英集合中;
步骤207,对所述精英集合中的子网络进行选择、交叉和变异操作,得到多个第二子网络;
步骤208,将至少一个性能参数值满足约束条件的第二子网络添加至第二子网络集合中;其中,所述第二子网络集合包括多个具有不同架构配置的第二子网络;
步骤209,确定迭代次数是否等于预设次数;如果是,执行步骤210;否则,将所述第二子网络集合作为当前集合,返回执行步骤204;
步骤210,根据最终迭代得到的第二子网络集合中子网络的综合性能得分,从所述最终迭代得到的第二子网络集合中选取所述目标子网络的架构配置。
示例性地,在一些实施例中,可以将最终迭代得到的第二子网络集合中综合性能最优的一个或多个子网络作为目标子网络。
例如,对于综合性能得分越高表示子网络的性能越优/越好的情况,则将最终迭代得到的第二子网络集合中综合性能得分最高的一个或多个子网络作为目标子网络。反之,对于综合性能得分越低表示子网络的性能越优/越好的情况,则将最终迭代得到的第二子网络集合中综合性能得分最低的一个或多个子网络作为目标子网络。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
NAS是指对于神经网络模型,通过算法自动化完成最优架构的设计,以替代算法专家的手工设计。NAS的优势主要体现在以下几方面:一是能够大幅减少人工设计网络成本,这在场景复杂、任务数量巨大时尤为明显;二是NAS能够最大可能地通过自动化手段挖掘潜在最优模型;三是能够在很大程度上避免手工设计网络带来的弊端,如避免人类固有的知识体系和认知对模型设计带来的偏差。
NAS主要包含三个内容:搜索空间设计、搜索策略设计、以及模型评估策略。
硬件感知的神经架构搜索技术是指在NAS的基础上,加入了硬件感知的功能。在现实应用中,神经网络通常需要部署在特定的目标硬件上。如某型号的芯片需要在部署特定场景神经网络时,同时达到精确度、延迟、功耗和内存开销(即多个性能参数值的示例)等较优的状态。因此,在目标硬件(即第一芯片)上部署神经网络时,不仅需要考虑模型(也即神经网络)的性能表现,同时也要权衡模型在目标硬件上的延迟和功耗等硬件指标/硬件性能参数,从而使产品达到最佳的用户体验。为了达到上述目的,本申请实施例提出了一种基于SAW的多目标硬件感知架构搜索算法,挖掘超网络中的最优神经网络模型(即目标子网络)。在本申请实施例中,基于SAW的多目标适应度计算方法进行架构搜索任务,在满足搜索效率的同时,实现模型精确度、延迟和/或功耗等多目标的协同优化,从而在实际场景中达到最佳的用户体验。
在基于遗传算法的网络搜索中,超网络训练和搜索过程可以是解耦来进行的。即在搜索之前,先进行超网络训练。这里,超网络可以被看作是一个包含大量子网络的网络池。在相关进化算法中,需要给定目标硬件约束c,在满足c约束下进行优化性能的搜索,得到最优子网模型架构,也即数学意义上的帕累托最优解(Pareto Optimal Solution)。其中,帕累托最优解的定义为:如果一个解x*被称之为帕累托最优解,当且仅当x*不被其他的解支配(Dominance)。其中,支配的定义为x支配y,记为当且仅当:
且/>
也即在架构搜索中求得的最优模型,即帕累托最优解,需要满足的条件是:不存在在所有目标上都有更好效果的模型。在不牺牲其他目标的情况下无法使当前目标更好。换句话说,要想进一步优化当前目标,就必须对其他某个目标造成损失。相关的搜索算法如图3所示。通过给定一个硬件目标约束,进行精确度P这一个方向上的搜索。
换句话说,图3对应的搜索算法是将单一硬件目标作为固定强约束,这在多目标寻优的场景中,是很难达到帕累托最优解的。例如从图4中可以看出,如果多个模型/多个子网络在硬件指标C上比较接近时,图3对应的搜索算法极易搜索出非用户需要的最佳模型。
帕累托前沿中的模型,如图3所示,理想的假设是随着硬件指标的增长而模型的精确度P随之提高。但是,在实际应用中,架构搜索过程会存在一些非理想情况。一种情况是硬件指标C的放宽不一定会带来搜索效果体验的提升,也就是不一定能收获精确度P较好的模型。这是受到超网络的训练、评估算法和模型训练随机性等的影响而导致的。另一种情况是模型精确度P的提升幅度会随着硬件指标C的放宽越来越慢。在这种情况下,用户通常不希望通过牺牲过多的硬件指标C换取微弱的精确度P(也就是模型的精确度)的提升,目标之间的优化比例取决于实际场景需求。图4就给出了这样一个案例的说明,在硬件指标C高于某个特定值之后,精确度P的增长其实非常缓慢。在精确度要求不是非常严苛的场景下,用户通常是希望牺牲小幅度的精确度P来换取较大的硬件指标C的优化空间。
同时,图3对应的搜索算法也不支持多目标(模型的精确度、延迟和功耗)同时进行的架构搜索任务。
综上,图3对应的搜索算法存在的问题有:搜索结果可能不是帕累托最优;目标之间的优化比例无法把握;不支持多目标搜索。
基于上述问题,进一步地,在本申请实施例中,提出基于SAW的多目标适应度排序方法的进化算法,基于此来实现对上述问题的改进。
需要说明的是,在上文或下文出现的“多目标”可以理解为本申请实施例出现的“多个性能参数值”。
在一种可能的实现方式中,多目标适应度排序方法的进化算法的算法流程包括如下步骤1至步骤5:
步骤1,用户参数定义:用户自定义设置采用的目标,包括其可选的固定约束(即约束条件)以及对应权重,如延迟、功耗、计算量和/或内存开销(即性能参数的一种示例)等,精确度P可以默认无固定约束且对应权重为1。以及用户自定义设置进化算法相关参数、初始种群(即第一子网络集合的一种示例)的大小、迭代轮次、交叉概率、变异概率和比例系数等。
步骤2,初始种群生成:首先在架构搜索空间中随机采样多次,从而生成若干条染色体(即第一子网络的架构配置),并计算该染色体在各个目标下的目标值,将目标值满足固定约束(即约束条件)的染色体加入到初始种群中,直至满足初始种群大小。其中,若某个目标下有固定约束,则选择满足约束的染色体添加至初始种群中。
步骤3,基于SAW的多目标适应度排序:针对不同的染色体,利用本申请实施例提出的基于SAW的多目标适应度作为该染色体的适应度(即综合性能得分的一种示例)。最后,将适应度最高的前K条染色体保存并添加到精英集合中,K大于1;
步骤4,交叉和变异:根据预定义的交叉概率和/或变异概率从精英集合中选择精英进行变异和交叉以获得新的种群(即第二子网络集合的一种示例),然后基于该新的种群返回步骤3。也就是选择、变异和交叉的过程重复进行,直到达到设置的迭代轮次。若某个目标下有固定约束,则用以变异过程/变异操作和交叉过程/交叉操作的染色体皆选择满足固定约束的染色体。
步骤5,返回搜索结果:返回最优的染色体(也就是最优的模型架构)以及该模型对应的权重参数(如卷积核的值和全连接层的权重参数等)。
整体流程如图5所示,包括如下步骤501至步骤506:
步骤501,生成初始种群;其中,初始种群可以理解为第一子网络集合的一种示例;
步骤502,对当前种群中的模型的各项目标值进行评估;其中,当前种群可以理解为当前集合的一种示例,当前种群中的模型可以理解为当前种群中的染色体,也即当前集合中的子网络,各项目标值可以理解为多个性能参数值。
步骤503,确定是否达到迭代轮次E或当前种群中最佳模型是否满足所有目标约束;即当前种群中最佳模型的多个性能参数值是否均满足各自对应的约束条件;如果是,返回种群中最佳模型(即目标子网络);否则,执行步骤504;
在一些实施例中,最佳模型是指所在种群中综合性能最优的模型/子网络。
步骤504,根据基于SAW的适应度对当前种群中的染色体进行排序,并取前K个作为父代集合(也就是精英集合);
步骤505,在父代集合中随机采样并执行M次变异,并添加至新的种群(即第二子网络集合的一种示例)中;
步骤506,在父代集合中随机采样,进行N-M次交叉,并添加到新的种群(即第二子网络集合的一种示例)中,然后返回执行步骤502。
在本申请实施例中,多目标适应度排序方法的进化算法的算法流程中,提出了基于SAW的适应度排序方法。主要包括三步,第一步首先对每个目标值进行缩放计算,使目标值缩放到0-1的范围内,以平衡各目标之间的规模,更方便用户衡量不同目标之间的差距以设计目标权重(即预设权重)。第二步则是根据用户定义的权重(即预设权重)进行适应度计算,第三步则是根据计算出来的适应度来对种群中的模型进行排序。
假设对于硬件感知架构搜索中存在多个目标f1,f2,f3等,x代表种群中的任意模型,fi(x)代表模型x在目标i上的值:
1.如下式(3)所示,缩放得到当前轮次/迭代t中目标i的缩放值f′i,t(x):
其中,代表当前轮次t中候选模型池(即当前种群)中在目标i上的最大值,代表当前轮次t中候选模型池中在目标i上的最小值。该缩放可以将每一次种群中的目标值约束在[0,1]内,并且最大的缩放目标值为1,最小的为0。
此处可以根据用户需求和实际情况采用其他缩放算法,例如采用超网络中最大模型和最小模型的目标值来替代上述方法。
2.如下式(4)所示,根据用户定义的目标权重进行当前轮次适应度vx,t的计算:
vx,t=∑wif′i,t(x) (4);
3.根据适应度对种群中的染色体进行排序。
举例而言,以精确度P和硬件指标C两个目标为例,可以构成二维平面(P,C)。模型m1在超网络中的帕累托前沿。如图6所示,设精确度P的权重向量为Wp,硬件指标C的权重向量为Wc,其构成的夹角为θ,优化方向为Osaw=Wc+Wp。设某个模型的适应度与模型m1一致,则有Wp*p1+Wc*c1=Wp*p2+Wc*c2。p1-p2/c1-c2=Wc/Wp,过m1作斜率为Wc/Wp的直线L1,则L1上的模型都是适应度与m1相等的模型,L1上方的面U1是适应度大于m1的解域,即适应度大于m1的模型。
帕累托前沿上,对于模型m2,虽然p2>p1,但并未落在U1,所以排序将低于m1。对于模型m3,虽然c3>c1,但属于U1,所以m3排序将大于m1。对于m4,由于m4落在L1上,m4排序等于m1。所以,采用基于SAW的适应度排序方法得到最终的适应度排序为:m3>m1=m4>m2。
基于上述实施例提出的多目标适应度排序方法的进化算法,可形成基于SAW的硬件感知多目标神经网络架构搜索方法,算法流程包括如下步骤1至步骤4:
步骤1,搜索空间定义:定义超网络的架构搜索空间,如分辨率搜索空间、每层的卷积核搜索空间、宽度(卷积核通道数)搜索空间、深度(层堆叠次数)搜索空间;
步骤2,超网络训练:可用三明治法则或渐进式收缩等方法对超网络进行训练;
步骤3,目标预测器训练(可选的):包括精确度预测器和硬件指标预测器,预测器可由神经网络等机器学习方法进行回归,输入一个模型架构参数(即子网络的结构配置),可以输出该模型的相关指标的预测值,从而替代实际的评估策略(例如在目标硬件上测试获得硬件指标),进而加速架构搜索的效率。
步骤4,架构搜索:此处即可采用上述实施例提出的多目标适应度排序方法的进化算法,输出搜索得到目标模型(即目标子网络)。
综上,本申请实施例的技术脉络如下展示:
基于SAW的适应度排序方法→多目标适应度排序方法的进化算法→基于SAW的硬件感知多目标神经网络架构搜索方法。
在本申请实施例中,多目标优化能够搜索出精确度、延迟和功耗等更佳的模型,从而带来更好的用户体验。
在本申请实施例中,基于SAW的进化算法能够搜索出压缩效果更佳的模型,也就是在相等的模型精确度的情况下,具有更低延迟和更低功耗的模型。
在本申请实施例中,能够结合用户需求进行多目标比重权衡,从而搜索到定制多目标优化的模型。
在本申请实施例中,提出了一种多目标优化HW-NAS算法,以及提出了一种用户自定义的多目标权重比例优化策略,以及提出了基于SAW的多目标适应度排序进化算法,优化进化搜索算法性能。
需要说明的是,在缩放方法中,可以尝试不同的缩放算法。
在本申请实施例中,对于多目标优化问题,可以分析不同目标之间的相关性或者冲突性以进一步对本算法进行优化。也可以采取其他的多目标优化算法方案,例如粒子群算法或基于相互关系的多目标优化方法等等。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等;或者,将不同实施例中步骤组合为新的技术方案。
基于前述的实施例,本申请实施例提供一种神经网络结构搜索装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为AI加速引擎(如NPU等)、GPU、中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等等。
图7为本申请实施例提供的神经网络架构搜索装置的结构示意图,如图7所示,神经网络架构搜索装置70包括:
确定模块701,配置成根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;
搜索模块702,配置成根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
在一些实施例中,搜索模块702,配置成:将所述第一子网络集合作为当前集合,执行第一过程,所述第一过程包括:确定所述当前集合中子网络的多个性能参数值;以及根据所述当前集合中子网络的多个性能参数值,确定所述子网络的综合性能得分;以及根据所述当前集合中子网络的综合性能得分,生成第二子网络集合;其中,所述第二子网络集合包括多个具有不同架构配置的第二子网络;
将所述第二子网络集合作为当前集合,迭代执行所述第一过程直至满足迭代终止条件,根据最终迭代得到的第二子网络集合中子网络的综合性能得分,从所述最终迭代得到的第二子网络集合中选取所述目标子网络的架构配置。
进一步地,在一些实施例中,搜索模块702,配置成:根据所述多个性能参数值的预设权重和所述多个性能参数值,确定所述子网络的综合性能得分。
进一步地,在一些实施例中,搜索模块702,配置成:根据所述当前集合中子网络的综合性能得分,从所述当前集合中选取综合性能最优的多个子网络添加至精英集合中;对所述精英集合中的子网络进行选择、交叉和变异操作,得到多个第二子网络;根据所述多个第二子网络,生成所述第二子网络集合。
示例性地,在一些实施例中,搜索模块702,配置成:将至少一个性能参数值满足约束条件的第二子网络添加至第二子网络集合中。
在一些实施例中,确定模块701,配置成:对所述神经网络架构搜索空间进行采样,得到第一子网络的架构配置;将至少一个性能参数值满足约束条件的第一子网络添加至所述第一子网络集合中。
在一些实施例中,所述多个性能参数值包括所述第一子网络的精确度和所述第一子网络在第一芯片上完成数据处理任务所表现的硬件性能。
进一步地,在一些实施例中,所述硬件性能包括延迟、功耗和/或内存开销。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图7所示的神经网络架构装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种电子设备,图8为本申请实施例提供的电子设备的硬件实体示意图,如图8所示,电子设备80包括第一存储器801和第一处理器802,第一存储器801存储有可在第一处理器802上运行的计算机程序,第一处理器802执行所述程序时实现本申请实施例所述的方法。
需要说明的是,第一存储器801配置为存储由第一处理器802可执行的指令和应用,还可以缓存在第一处理器802以及电子设备80中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
在本申请实施例中,电子设备80在实施本申请实施例所述的神经网络架构搜索方法的过程中,可以是各种类型的具有信息处理能力的设备,例如电子设备80可以包括手机、平板电脑、台式机、笔记本电脑、主机等。
本申请实施例提供一种芯片,图9为本申请实施例提供的芯片的结构示意图,如图9所示,芯片90包括第二存储器901和第二处理器902,第二存储器901存储有可在第二处理器902上运行的计算机程序,第二处理器902执行所述程序时实现本申请实施例所述的方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。
这里需要指出的是:以上存储介质、芯片实施例和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种神经网络架构搜索方法,其特征在于,所述方法包括:
根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;
根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置,包括:
将所述第一子网络集合作为当前集合,执行第一过程,所述第一过程包括:确定所述当前集合中子网络的多个性能参数值;以及根据所述当前集合中子网络的多个性能参数值,确定所述子网络的综合性能得分;以及根据所述当前集合中子网络的综合性能得分,生成第二子网络集合;其中,所述第二子网络集合包括多个具有不同架构配置的第二子网络;
将所述第二子网络集合作为当前集合,迭代执行所述第一过程直至满足迭代终止条件,根据最终迭代得到的第二子网络集合中子网络的综合性能得分,从所述最终迭代得到的第二子网络集合中选取所述目标子网络的架构配置。
3.根据权利要求2所述的方法,其特征在于,所述根据当前集合中子网络的多个性能参数值,确定所述子网络的综合性能得分,包括:
根据所述多个性能参数值的预设权重和所述多个性能参数值,确定所述子网络的综合性能得分。
4.根据权利要求2或3所述的方法,其特征在于,所述根据当前集合中子网络的综合性能得分,生成第二子网络集合,包括:
根据所述当前集合中子网络的综合性能得分,从所述当前集合中选取综合性能最优的多个子网络添加至精英集合中;
对所述精英集合中的子网络进行选择、交叉和变异操作,得到多个第二子网络;
根据所述多个第二子网络,生成所述第二子网络集合。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多个第二子网络,生成所述第二子网络集合,包括:
将至少一个性能参数值满足约束条件的第二子网络添加至第二子网络集合中。
6.根据权利要求1所述的方法,其特征在于,所述根据神经网络架构搜索空间,确定第一子网络集合,包括:
对所述神经网络架构搜索空间进行采样,得到第一子网络的架构配置;
将至少一个性能参数值满足约束条件的第一子网络添加至所述第一子网络集合中。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述多个性能参数值包括所述第一子网络的精确度和所述第一子网络在第一芯片上完成所述数据处理任务所表现的硬件性能。
8.根据权利要求7所述的方法,其特征在于,所述硬件性能包括延迟、功耗和/或内存开销。
9.一种神经网络架构搜索装置,其特征在于,包括:
确定模块,配置成根据神经网络架构搜索空间,确定第一子网络集合;其中,所述第一子网络集合包括多个具有不同架构配置的第一子网络;
搜索模块,配置成根据所述第一子网络集合中第一子网络的多个性能参数值,进行神经网络架构搜索,得到目标子网络的架构配置;其中,所述目标子网络用于完成数据处理任务。
10.一种电子设备,包括第一存储器和第一处理器,所述第一存储器存储有可在第一处理器上运行的计算机程序,其特征在于,所述第一处理器执行所述程序时实现权利要求1至8任一项所述的方法。
11.一种芯片,所述芯片包括第二存储器和第二处理器,所述第二存储器存储有可在第二处理器上运行的计算机程序,其特征在于,所述第二处理器执行所述程序时实现权利要求1至8任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310342597.7A CN116468095A (zh) | 2023-03-31 | 2023-03-31 | 神经网络架构搜索方法及装置、设备、芯片、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310342597.7A CN116468095A (zh) | 2023-03-31 | 2023-03-31 | 神经网络架构搜索方法及装置、设备、芯片、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116468095A true CN116468095A (zh) | 2023-07-21 |
Family
ID=87172728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310342597.7A Pending CN116468095A (zh) | 2023-03-31 | 2023-03-31 | 神经网络架构搜索方法及装置、设备、芯片、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116468095A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648946A (zh) * | 2024-01-30 | 2024-03-05 | 南湖实验室 | 一种面向安全关键系统的dnn模型自动生成方法 |
-
2023
- 2023-03-31 CN CN202310342597.7A patent/CN116468095A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648946A (zh) * | 2024-01-30 | 2024-03-05 | 南湖实验室 | 一种面向安全关键系统的dnn模型自动生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Post-training quantization for vision transformer | |
Swaminathan et al. | Sparse low rank factorization for deep neural network compression | |
Huang et al. | Deep neural networks compression learning based on multiobjective evolutionary algorithms | |
CN112288086A (zh) | 一种神经网络的训练方法、装置以及计算机设备 | |
US11593619B2 (en) | Computer architecture for multiplier-less machine learning | |
WO2021042857A1 (zh) | 图像分割模型的处理方法和处理装置 | |
EP3239905A1 (en) | Methods and apparatus for use in predicting non-stationary time-series data | |
JP7096431B2 (ja) | ビデオ分析方法及びそれに関連するモデル訓練方法、機器、装置 | |
CN112561028A (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
EP3637327A1 (en) | Computing device and method | |
CN109726291B (zh) | 分类模型的损失函数优化方法、装置及样本分类方法 | |
CN112949610A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
Pichel et al. | Sparse matrix classification on imbalanced datasets using convolutional neural networks | |
CN116468095A (zh) | 神经网络架构搜索方法及装置、设备、芯片、存储介质 | |
CN112988548A (zh) | 一种基于降噪算法的改进Elman神经网络的预测方法 | |
Liu et al. | Evolutionary quantization of neural networks with mixed-precision | |
CN114841296A (zh) | 设备聚类方法、终端设备以及存储介质 | |
Cai et al. | Efficient methods for deep learning | |
Termritthikun et al. | Evolutionary neural architecture search based on efficient CNN models population for image classification | |
CN111882048A (zh) | 一种神经网络结构搜索方法及相关设备 | |
Kokhazadeh et al. | A Design space exploration methodology for enabling tensor train decomposition in edge devices | |
CN116823699A (zh) | 一种图像的质量评价方法及装置 | |
Zhao et al. | Fast sparse deep neural networks: theory and performance analysis | |
Layeb | Novel Feature Selection Algorithms Based on Crowding Distance and Pearson Correlation Coefficient | |
Chakraborty et al. | Pcadriven hybrid network design for enabling intelligence at the edge |
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 |