CN112446462A - 目标神经网络模型的生成方法和装置 - Google Patents
目标神经网络模型的生成方法和装置 Download PDFInfo
- Publication number
- CN112446462A CN112446462A CN201910814558.6A CN201910814558A CN112446462A CN 112446462 A CN112446462 A CN 112446462A CN 201910814558 A CN201910814558 A CN 201910814558A CN 112446462 A CN112446462 A CN 112446462A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- candidate
- operator
- information
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 318
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000006870 function Effects 0.000 claims description 116
- 230000015654 memory Effects 0.000 claims description 62
- 238000012549 training Methods 0.000 claims description 55
- 238000004590 computer program Methods 0.000 claims description 20
- 238000005070 sampling Methods 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 238000013528 artificial neural network Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 239000013598 vector Substances 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 16
- 238000013461 design Methods 0.000 description 14
- 238000011176 pooling Methods 0.000 description 14
- 238000013527 convolutional neural network Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- 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)
- Image Analysis (AREA)
Abstract
本申请公开了人工智能领域中的一种目标神经网络模型的生成方法和装置。该方法包括:获取多个候选操作符的评分权值和多个神经网络模型;根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,所述损失函数为准确率和时延的联合函数;根据所述可微关系信息更新所述多个候选操作符的评分权值;根据更新后的评分权值生成目标神经网络模型;发送目标模型配置信息,所述目标模型配置信息用于配置所述目标神经网络模型。本申请实施例可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种目标神经网络模型的生成方法和装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自动化机器学习(Auto Machine Learning,Automl)是一类自动化设计卷积神经网络的方法,向Automl系统输入目标数据集和评价标准,Automl系统会输出目标神经网络。
Automl系统在确定目标神经网络过程中,需要生成不同的神经网络模型,并对每个神经网络模型进行单独训练,得到每个神经网络模型的准确率和时延,将该准确率和时延作为反馈信息,根据反馈信息更新神经网络模型的参数和生成规则,以确定目标神经网络。
上述确定目标神经网络的方式,需要采样得到大量神经网络模型进行训练,所消耗的计算资源和时间较多。
发明内容
本申请提供一种目标神经网络模型的生成方法和装置,以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
第一方面,本申请实施例提供一种目标神经网络模型的生成方法,该方法可以包括:获取多个候选操作符的评分权值和多个神经网络模型;根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,所述损失函数为准确率和时延的联合函数;根据所述可微关系信息更新所述多个候选操作符的评分权值;根据更新后的评分权值生成目标神经网络模型;发送目标模型配置信息,所述目标模型配置信息用于配置所述目标神经网络模型。
在本申请的方案中,通过确定损失函数关于评分变量的可微关系信息,根据该可微关系信息优化候选操作符的评分权值,可以提升基于候选操作符的评分权值生成目标神经网络模型的效率,减少计算资源和时间的消耗。
在一种可能的设计中,所述多个神经网络模型中的每个神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个,所述损失函数关于评分变量的可微关系信息包括L*N个可微关系信息,每个可微关系信息对应一个选择块的一个候选操作符;所述根据所述可微关系信息更新所述多个候选操作符的评分权值,包括:根据所述L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值;其中, L和N为任意正整数。
在本申请的方案中,通过确定每一个选择块的每一个候选操作对应的可微关系信息,根据该可微关系信息优化每一个候选操作符的评分权值,可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
在一种可能的设计中,所述方法还包括:获取目标数据集和时延调节参数;根据所述时延调节参数确定所述损失函数;根据所述目标数据集更新所述候选操作符的内部参数;根据更新后的内部参数和所述多个候选操作符的评分权值确定所述多个神经网络模型。
在本申请的方案中,通过获取目标数据集和时延调节参数,以使得生成的目标神经网络模型满足相应的功能需求,根据目标数据集更新候选操作符的内部参数,根据更新后的内部参数和候选操作的评分权值确定多个神经网络模型,根据候选操作符的评分权值、每个神经网络模型的准确率和时延确定损失函数关于评分变量的可微关系信息,根据该可微关系信息优化候选操作符的评分权值,从而实现优化候选操作符的内部参数和评分权值,可以提升基于候选操作符的评分权值生成目标神经网络模型的效率,减少计算资源和时间的消耗。
在一种可能的设计中,所述根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定所述损失函数关于评分变量的可微关系信息,包括:根据每个选择块的N个候选操作符的评分权值和每个神经网络模型的准确率确定第l个选择块的第m个准确率可微关系信息,所述每个神经网络模型的准确率为根据所述目标数据集确定的;根据每个选择块的N个候选操作符的评分权值确定每个神经网络模型的每个选择块的操作符的采样概率和每个选择块的每个候选操作符的采样概率关于评分变量的可微关系信息;根据每个神经网络模型的L-1个选择块的操作符的采样概率、第l个选择块的第m个候选操作符的采样概率关于评分变量的可微关系信息和所述每个神经网络模型的时延确定所述第l 个选择块的第m个时延可微关系信息,所述L-1个选择块包括L个选择块中除所述第l个选择块之外的选择块;根据所述第l个选择块的第m个准确率可微关系信息和所述第l个选择块的第m个时延可微关系信息,确定所述第l个选择块的第m个可微关系信息。其中,l取值为大于等于1且小于等于L的正整数,m取值为大于等于1且小于等于N的正整数。
在本申请的方案中,优化后的评分权值使得同时最小化准确率误差和平均网络时延,进而提升基于候选模型所构建的目标神经网络模型的准确率并且减少网络时延。
在一种可能的设计中,所述根据所述L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值,包括:分别将所述L*N个可微关系信息和每个候选操作符的评分权值输入至随机梯度下降算法,输出更新后的每个选择块中每个候选操作符的评分权值。
在一种可能的设计中,所述根据所述目标数据集更新所述候选操作符的内部参数,包括:使用所述目标数据集训练第一神经网络模型,所述第一神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个;根据训练结果,更新所述L个候选操作符的内部参数;其中,L为任意正整数。
在一种可能的设计中,所述方法还包括:根据所述更新后的评分权值和预设条件,确定是否存在第一操作符,所述第一操作符为L个选择块的候选操作符中的一个或多个;若存在第一操作符,则在第一操作符对应的选择块的候选操作符中剔除所述第一操作符。
在本申请的方案中,通过在候选操作符中剔除评分权值较小的候选操作符,可以减少得到目标神经模型所耗费的计算资源和时间。
在一种可能的设计中,在所述根据所述可微关系信息更新所述多个候选操作符的评分权值之后,所述方法还包括:判断是否满足截止条件,若不满足截止条件,则执行使用所述目标数据集训练第一神经网络模型的步骤;若满足截止条件,则执行根据更新后的评分权值生成目标神经网络模型的步骤。
在一种可能的设计中,每个选择块的每个候选操作符被选取作为所述第一神经网络模型的一个操作符的概率相等。
在本申请的方案中,通过将每个选择块的每个候选操作符被选取作为所述第一神经网络模型的一个操作符的概率设置为相等的,可以提升更新各个候选操作符的内部参数的均匀性。
在一种可能的设计中,所述方法还包括:获取测速装置的标识信息;根据所述标识信息,向所述测速装置发送神经网络模型配置信息,所述神经网络模型配置信息用于配置所述多个神经网络模型;接收所述测速装置发送的每个神经网络模型的时延。
在本申请的方案中,通过获取测速装置的标识信息,在相应的测速装置上测量每个神经网络模型的时延,基于此优化各个候选操作符的评分权值,可以使得生成的目标神经网络模型满足实际使用需求。
在一种可能的设计中,所述神经网络模型配置信息包括多个网络结构编码信息,每个网络结构编码信息用于配置一个神经网络模型的各个操作符和操作符的连接关系。
在一种可能的设计中,所述根据更新后的评分权值生成目标神经网络模型,包括:在每个选择块中选取所述选择块中评分权值最大的候选操作符作为所述目标神经网络模型的一个操作符,所述操作符的内部参数为更新后的内部参数。
在一种可能的设计中,所述获取目标数据集和时延调节参数,包括:接收用户输入的所述目标数据集和所述时延调节参数;或者,接收用户输入的数据集选择信息和所述时延调节参数,根据所述数据集选择信息确定所述目标数据集;或者,接收用户输入的数据集选择信息和期望复杂度信息,根据所述数据集选择信息确定所述目标数据集,根据所述期望复杂度信息确定所述时延调节参数。
第二方面,本申请实施例提供一种目标神经网络模型的生成装置,所述目标神经网络模型的生成装置用于执行上述第一方面或第一方面的任一可能的实现方式中的目标神经网络模型的生成方法。具体地,所述目标神经网络模型的生成装置可以包括用于执行第一方面或第一方面的任一可能的实现方式中的目标神经网络模型的生成方法的模块。
第三方面,本申请实施例提供一种终端设备,所述终端设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行上述第一方面或第一方面的任一可能的实现方式中的目标神经网络模型的生成方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面或第一方面的任一可能的实现方式中的方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括指令,在计算机上运行时,使得计算机执行上述第一方面中任一项所述的方法。
第六方面,本申请提供一种芯片,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第一方面中任一项所述的方法。
本申请的目标神经网络模型的生成方法和装置,通过获取多个候选操作符的评分权值和多个神经网络模型,根据该多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,该损失函数为准确率和时延的联合函数,根据该可微关系信息更新该多个候选操作符的评分权值,根据更新后的评分权值生成目标神经网络模型,发送目标模型配置信息,该目标模型配置信息用于配置目标神经网络模型,本实施例通过确定损失函数关于评分变量的可微关系信息,根据该可微关系信息优化操作符的评分权值,可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2A为本申请实施例提供的一种应用环境示意图;
图2B为本申请实施例提供的一种应用环境示意图;
图3为本申请实施例提供的一种候选模型示意图;
图4为本申请实施例提供的一种卷积神经网络结构示意图;
图5为本申请实施例提供的一种卷积神经网络结构示意图;
图6为本申请实施例的一种目标神经网络模型的生成方法;
图7为本申请实施例的另一种目标神经网络模型的生成方法;
图8为本申请实施例的另一种目标神经网络模型的生成方法;
图9为本申请实施例提供的一种候选模型示意图;
图10为本申请实施例提供的一种神经网络模型示意图;
图11A为本申请实施例提供的一种目标神经网络模型的生成方法的示意图;
图11B为本申请实施例提供的一种更新选择块1中的各个候选操作符的评分权值的示意图;
图12为本申请实施例的另一种目标神经网络模型的生成方法的流程图;
图13为本申请实施例提供的一种芯片的结构示意图;
图14为本申请实施例提供的一种系统架构300的示意图;
图15为本申请实施例提供的目标神经网络模型的生成装置1600的示意性框图;
图16为本申请提供的电子设备1700的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
参见附图2A,本申请实施例提供了一种系统架构200。数据采集设备260用于采集目标数据并存入数据库230,训练设备220基于数据库230中维护的目标数据生成目标模型/规则 201。下面将详细地描述训练设备220如何基于目标数据得到目标模型/规则201,目标模型/ 规则201能够应用于图像分类、语音识别等。
深度神经网络可以包括多个层,每个层可以设置相同或不同的操作符。该操作符可以是卷积操作符、池化操作符、全连接操作符等。示例性的,该卷积操作符可以是3*3的卷积操作符、或5*5的卷积操作符等。
深度神经网络中的每一层的操作符可以用数学表达式来描述:从物理层面深度神经网络中的每一层的操作符可以理解为通过五种对输入空间(输入向量的集合) 的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括: 1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
上述五种操作的不同的组合方式可以实现池化操作、卷积操作、全连接操作等。
因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss) 越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
训练设备220通过本申请实施例的目标神经网络模型的生成方法可以根据目标数据集确定深度神经网络中每一层的操作符,以及每一层操作符的内部参数,例如,如上所述的权重向量。
以所需要得到的深度神经网络包括L个层为例,如图3所示,该深度神经网络的候选模型包括L个层(也可以称之为选择块),每个层包括N个候选操作符,每个候选操作符与其上一层之间的评分权值(α)可以相同也可以不同。例如,如图3所示,输入数据为x0,第一层的输出数据为x1,第二层的输出数据为x2,……,第L层的输出数据为xL,第一层的第一个候选操作符与输入数据x0之间的评分权值为α1,1,第一层的第二个候选操作符与输入数据x0之间的评分权值为α1,2,……,第一层的第N个候选操作符与输入数据x0之间的评分权值为α1,N。通过本申请实施例的目标神经网络模型的生成方法可以在每个层的N个候选操作符中确定一个操作符组成目标神经网络模型。该目标神经网络模型也可以称之为目标模型/规则。其中,L和N为任意正整数。任意一个候选操作符可以是卷积操作符、池化操作符、或全连接操作等。
需要说明的是,图3所示的候选模型中L个选择块采用串联的方式为一种可能的实现方式,L个选择块还可以采用并联的方式、或串联和并联组合的方式组成一个有向无环图,该有向无环图可以作为候选模型,本申请实施例以如图3所示的候选模型做举例说明,其并不以此作为限制。
训练设备220得到的目标模型/规则可以应用不同的系统或设备中。在附图2A中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向 I/O接口212输入数据。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。
计算模块211使用目标模型/规则201对输入的数据进行处理,通过I/O接口212将处理结果返回给客户设备240,提供给用户。
更深层地,训练设备220可以针对不同的目标,基于不同的数据生成相应的目标模型/规则201,以给用户提供更佳的结果。
在附图2A中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在I/O 接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到目标数据存入数据库230。
值得注意的,附图2A仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图2A中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210 中。
再例如,参见附图2B,本申请实施例提供了另一种系统架构400,该系统架构400可以包括客户设备410和服务器420,该客户设备410可以与服务器420建立连接,服务器420可以通过本申请实施例的目标神经网络模型的生成方法生成目标模型/规则,将目标模型/规则提供给客户设备410。在一些实施例中,可以由客户设备410将目标模型/规则配置到相应的执行设备上,例如,嵌入式神经网络处理器(Neural-network Processing Unit,NPU)。
本申请实施例的目标神经网络模型的生成方法可以基于图3所示的候选模型(其中,L取 9)生成一个如图4所示的卷积神经网络(CNN,Convolutional neuron network)。CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构, CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。
如图4所示,卷积神经网络(CNN)可以包括输入层,中间层121-127,以及输出层130。其中,输入层110可以是图3所示的第一个选择块中的一个候选操作符,中间层121-127可以是如图3所示的第2个至第8个选择块中的一个候选操作符,输出层130可以是如图3所示的第9个选择块中的一个候选操作符。
中间层121-177,可以是池化、卷积或全连接操作,进行池化操作的中间层为池化层,进行卷积操作的中间层为卷积层,进行全连接操作的中间层为全连接层。
在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
需要说明的是,如图4所示的卷积神经网络仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,可以利用本申请实施例的目标神经网络模型的生成方法(采用15个选择块的候选模型,候选模型采用串联和并联组合的方式) 生成例如如图5所示的卷积神经网络,即多个中间层并行,将分别提取的特征均输入给中间层127进行处理。
本申请可以通过如下所述的目标神经网络模型的生成方法得到目标神经网络模型,该目标神经网络模型可以应用于人脸识别、图像分类、图像超分辨率、前车障碍物检测等。例如,应用于人脸识别中,本申请实施例的目标神经网络模型可以对输入的人脸图像进行处理,输出用于相似度匹配的向量。应用于图像分类中,本申请实施例的目标神经网络模型可以对输入的待分类图像进行处理,输出张量(Tensor),该Tensor用于分类结果的确定。应用于图像超分辨率中,本申请实施例的目标神经网络模型可以对输入的传感器原始图像进行处理,输出高分辨率图像。本申请实施例的目标神经网络模型的生成方法的具体解释说明可以参见下述实施例。
图6为本申请实施例的一种目标神经网络模型的生成方法的流程图,如图6所示,本实施例的方法可以由如图2A所示的训练设备220或训练设备220的处理器执行,或者,可以由如图2B所示的服务器420或服务器420的处理器执行,本实施例的方法可以包括:
步骤101、获取多个候选操作符的评分权值和多个神经网络模型。
以图3所示的候选模型为例进行举例说明,通过步骤101可以获取该候选模型中各个候选操作符的评分权值,例如,α1,1、α1,2等。该多个候选操作符的评分权值可以是初始化操作后的评分权值,也可以是预设的评分权值,也可以是上一次执行本申请实施例的目标神经网络模型的生成方法后该候选模型中的评分权值。基于该候选模型中的各个候选操作符可以确定多个神经网络模型,例如,一个神经网络模型为第一个选择块中的第一个候选操作符、第二个选择块的第二个候选操作符、……、第L个选择块的第二个候选操作符所组成的网络模型。换言之,该多个神经网络模型可以是对如图3所示的候选模型进行采样得到的神经网络模型。
步骤102、根据该多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,该损失函数为准确率和时延的联合函数。
示例性的,每个神经网络模型的准确率可以是上述多个神经网络模型中的每个神经网络模型的准确率,每个神经网络模型的准确率可以是每个神经网络模型的输出与目标值的欧式距离。每个神经网络模型的时延可以是每个神经网络模型前向传播所需要的时间,该时延可以是在真实设备上测量的该神经网络模型的时延,该真实设备可以是如图2A所示的执行设备。根据该多个候选操作符的评分权值和每个神经网络模型的准确率可以确定准确率函数Lacc关于评分变量α的可微关系信息,根据该多个候选操作符的评分权值和每个神经网络模型的时延可以确定时延函数T(α)关于评分变量α的可微关系信息,进而根据准确率函数Lacc关于评分变量α的可微关系信息和时延函数T(α)关于评分变量α的可微关系信息确定损失函数关于评分变量α的可微关系信息。
步骤103、根据该可微关系信息更新该多个候选操作符的评分权值。
通过上述步骤可以得到损失函数关于评分变量α的可微关系信息,则可以根据该可微关系信息对多个候选操作符的评分权值进行更新,以基于损失函数优化候选操作符的评分权值。
在一些实施例中,该多个神经网络模型中的每个神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个,该损失函数关于评分变量的可微关系信息包括L*N个可微关系信息,每个可微关系信息对应一个选择块的一个候选操作符。上述步骤103的一种可实现方式为:根据该L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值;其中,L和N为任意正整数。
步骤104、根据更新后的评分权值生成目标神经网络模型。
以上述图3所示的候选模型为例做进一步举例说明,通过上述步骤可以对该候选模型中的候选操作符的评分权值进行更新,之后可以在更新后的候选模型中选择操作符构成目标神经网络模型。
步骤105、发送目标模型配置信息,该目标模型配置信息用于配置目标神经网络模型。
以图2A所示的应用场景进行举例说明,训练设备220可以向执行设备210发送目标模型配置信息,执行设备210根据该目标模型配置信息建立对应的目标神经网络模型,以使用该目标神经网络模型实现相应数据处理功能,例如,人脸识别等。
以图2B所示的应用场景进行举例说明,服务器420可以向客户设备410发送目标模型配置信息,客户设备420可以根据该目标模型配置信息建立对应的目标神经网络模型,以使用该目标神经网络模型实现相应数据处理功能,例如,人脸识别等。或者,客户设备420可以将该目标神经网络模型配置到相应的执行设备上,例如,NPU等。
该目标模型配置信息用于配置该目标神经网络模型的各个操作符和操作符的连接关系。还可以配置各个操作符的内部参数等。
本实施例,通过获取多个候选操作符的评分权值和多个神经网络模型,根据该多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,该损失函数为准确率和时延的联合函数,根据该可微关系信息更新该多个候选操作符的评分权值,根据更新后的评分权值生成目标神经网络模型,发送目标模型配置信息,该目标模型配置信息用于配置目标神经网络模型,本实施例通过确定损失函数关于评分变量的可微关系信息,根据该可微关系信息优化操作符的评分权值,可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
图7为本申请实施例的一种目标神经网络模型的生成方法的流程图,如图7所示,本实施例的方法可以由如图2A所示的训练设备220或训练设备220的处理器执行,或者,可以由如图2B所示的服务器420或服务器420的处理器执行,本实施例的方法可以包括:
步骤201、获取多个候选操作符的评分权值、目标数据集和时延调节参数。
其中,获取多个候选操作符的评分权值的解释说明可以参见图6所示实施例的步骤101,此处不再赘述。
例如,训练设备220可以在接收到模型生成指令时,获取目标数据集和时延调节参数。该模型生成指令可以是终端设备发送的,该终端设备可以是如图2A所示的客户设备。
该目标数据集可以包括多个训练数据,该训练数据可以包括输入数据和对应的目标值。该目标数据集可以是预设的,也可以是用户输入的,例如,该训练设备220接收终端设备发送的该目标数据集。该时延调节参数可以是预设的,也可以是用户输入的,例如,该训练设备220接收终端设备发送的该时延调节参数。
例如,一种可实现方式,接收用户输入的该目标数据集和该时延调节参数。举例而言,如图2A所示的数据库230中没有满足用户需求的目标数据时,用户可以向训练设备220提供目标数据集,以使得训练设备220通过本申请实施例的方法得到目标神经网络模型,例如,用于人脸识别的神经网络模型。
另一种可实现方式,接收用户输入的数据集选择信息和时延调节参数,根据该数据集选择信息确定目标数据集。举例而言,如图2A所示的数据库230中存在多个数据集,训练设备 220可以根据用户输入的数据集选择信息,将该数据集选择信息对应的数据集作为目标数据集。
另一种可实现方式,接收用户输入的数据集选择信息和期望复杂度信息,根据数据集选择信息确定该目标数据集,根据该期望复杂度信息确定该时延调节参数。例如,该期望复杂度信息可以是高、中、低等多个级别,每个级别对应一个时延调节参数,训练设备220可以根据用户输入的期望复杂度信息确定与该期望复杂度信息对应的时延调节参数。例如,级别越高,其对应的时延调节参数的取值越小。
步骤202、根据时延调节参数确定损失函数,该损失函数为准确率和时延的联合函数。
该准确率和时延的联合函数可以是准确率函数和时延函数之和,也可以是准确率函数和时延函数的加权之和,例如,该损失函数用L表示,准确率函数用Lacc表示,时延函数用T表示,时延调节参数用β表示,该损失函数可以如下述公式(1)。
L=Lacc+βT (1)
需要说明的是,本申请实施例的损失函数关于评分权值变量可微。准确率函数Lacc的具体形式可以根据需求进行灵活设置,例如,可以是神经网络模型的输出与目标值的欧式距离。
步骤203、根据该目标数据集更新候选操作符的内部参数。
例如,训练设备220设置有如图3所示的候选模型,在执行本申请实施例的目标神经网络模型的生成方法之前,可以对该候选模型中的各个候选操作符的内部参数进行初始化,训练设备220可以在每个层中选取候选操作符,进而构成一个神经网络模型,可以使用该目标数据集对该神经网络模型进行训练,以对构成该神经网络模型的各个候选操作符的内部参数进行更新。
步骤204、根据更新后的内部参数和多个候选操作符的评分权值确定多个神经网络模型。
以上述图3所示的候选模型为例做进一步举例说明,每个层中的N个候选操作符,每个候选操作符有评分权值,训练设备220可以根据每一层的候选操作符的评分权值,在候选模型中选取多个候选操作符构成一个神经网络模型,被选取作为该神经网络模型的候选操作符的内部参数可以是通过上述步骤203更新后的内部参数。训练设备220采用相同的方式构建多个神经网络模型。
步骤205、根据多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定该损失函数关于评分变量的可微关系信息。
该可微关系信息可以是导数值。
本申请实施例的时延函数可以如下述公式(2)
根据多个候选操作符的评分权值和每个神经网络模型的时延确定该时延函数T(α)关于评分变量α的可微关系信息和准确率函数Lacc关于评分变量α的可微关系信息,进而根据公式(1) 可以确定损失函数关于评分变量α的可微关系信息。
一种可实现方式,候选模型包括L个选择块,每个选择块包括N个候选操作符,损失函数关于评分变量α的可微关系信息包括L*N个可微关系信息(l取值为大于等于1且小于等于L的正整数,m取值为大于等于1且小于等于N的正整数),每个可微关系信息对应一个选择块一个候选操作符。上述步骤205的一种可实现方式,根据每个选择块的N个候选操作符的评分权值和每个神经网络模型的准确率确定第l个选择块的第m个准确率可微关系信息,该每个神经网络模型的准确率为根据所述目标数据集确定的。根据每个选择块的N个候选操作符的评分权值确定每个神经网络模型的每个选择块的候选操作符的采样概率( l取值为大于等于1且小于等于L的正整数,m取值为大于等于1且小于等于N的正整数) 和每个选择块的每个候选操作符的采样概率关于评分变量的可微关系信息根据每个神经网络模型的L-1个选择块的候选操作符的采样概率、第l个选择块的第m个候选操作符的采样概率关于评分变量的可微关系信息和每个神经网络模型的时延确定第l个选择块的第 m个时延可微关系信息,该L-1个选择块包括L个选择块中除第l个选择块之外的选择块。根据第l个选择块的第m个准确率可微关系信息和第l个选择块的第m个时延可微关系信息,确定所述第l个选择块的第m个可微关系信息。其中,l取值为大于等于1且小于等于L 的正整数。
上述P(θk|α)可以表示为如下公式(3)。
根据公式(2)以及上述公式(3)和公式(4),该时延函数关于评分变量αl,m的导数关系如下公式(5)。需要说明的是,上述公式(4)是确定pl,m的一种可实现方式,其还可以是其他方式,本申请实施例不以此作为限制。
本申请实施例的准确率函数关于评分变量αl,m的导数关系可以如下述公式(6)。
步骤206、根据该损失函数关于评分变量的可微关系信息更新多个候选操作符的评分权值。
通过上述步骤可以得到损失函数关于评分变量的可微关系信息,则可以根据该可微关系信息对多个候选操作符的评分权值进行更新,以基于损失函数优化候选操作符的评分权值。
步骤207、根据更新后的评分权值和更新后的内部参数生成目标神经网络模型。
以上述图3所示的候选模型为例做进一步举例说明,通过上述步骤可以对该候选模型中的候选操作符的内部参数、候选操作符的评分权值进行更新,之后训练设备220可以在更新后的候选模型中选择候选操作符构成目标神经网络模型。
步骤208、发送目标模型配置信息,该目标模型配置信息用于配置目标神经网络模型。
其中,步骤208的解释说明可以参见图6所示实施例的步骤105,此处不再赘述。
本实施例,通过获取多个候选操作符的评分权值、目标数据集和时延调节参数,根据时延调节参数确定损失函数,该损失函数为准确率和时延的联合函数,根据该目标数据集更新候选操作符的内部参数,根据更新后的内部参数和多个候选操作符的评分权值确定多个神经网络模型,根据该多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定该损失函数关于评分变量的可微关系信息,根据该损失函数关于评分变量的可微关系信息更新多个候选操作符的评分权值,根据更新后的评分权值和更新后的内部参数生成目标神经网络模型,本实施例通过确定损失函数关于评分变量的可微关系信息,根据该可微关系信息优化候选操作符的评分权值,可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
图8为本申请实施例的另一种目标神经网络模型的生成方法的流程图,如图8所示,本实施例的方法可以由如图2A所示的训练设备220或训练设备220的处理器执行,或者,可以由如图2B所示的服务器420或服务器420的处理器执行,本实施例的方法可以包括:
步骤301、获取多个候选操作符的评分权值、目标数据集和时延调节参数。
步骤302、根据时延调节参数确定损失函数,该损失函数为准确率和时延的联合函数。
其中,上述步骤301至步骤302的解释说明可以参见上述实施例的步骤201和步骤202,此处不再赘述。
步骤303、使用目标数据集训练第一神经网络模型,根据训练结果,更新L个候选操作符的内部参数。
该第一神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个。
在一些实施例中,每个选择块的候选操作符中的每个候选操作符被选取作为该第一神经网络模型的一个候选操作符的概率相等。
步骤304、根据更新后的内部参数和多个候选操作符的评分权值确定多个神经网络模型。
步骤305、根据该多个候选操作符的评分权、每个神经网络模型的准确率和每个神经网络模型的时延确定该损失函数关于评分变量的可微关系信息。
步骤306、根据该可微关系信息更新多个候选操作符的评分权值。
其中,上述步骤304至步骤306的解释说明可以参见上述实施例的步骤204至步骤206,此处不再赘述。
步骤307、根据更新后的评分权值和预设条件,确定是否存在第一操作符,若存在,则执行步骤308,若不存在,则执行步骤309。
该第一操作符为L个选择块的候选操作符中的一个或多个。该预设条件可以是评分权值小于预设阈值,当更新后的评分权值小于预设阈值时,则该更新后的评分权值对应的候选操作符为一个第一操作符。
步骤308、在第一操作符对应的选择块的候选操作符中剔除该第一操作符。
剔除该第一操作符的方式可以为清除该第一操作符的内部参数和评分权值。
步骤309、判断是否满足截止条件,若是,则执行步骤310,若否,则执行步骤303。
需要说明的是,在不满足截止条件,执行步骤303时,构成该第一神经网络模型的L个候选操作符来自于剔除第一操作符之后的剩余候选操作符。
步骤310、根据更新后的评分权值和更新后的内部参数生成目标神经网络模型。
例如,在每个选择块中选取选择块中评分权值最大的候选操作符作为目标神经网络模型的一个候选操作符。
本实施例,通过确定损失函数关于评分变量的可微关系信息,根据该可微关系信息优化候选操作符的评分权值,可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。并且,通过在候选操作符中剔除评分权值较小的候选操作符,可以减少得到目标神经模型所耗费的计算资源和时间。
以L=2,N=4为例,对更新候选操作符的内部参数和更新候选操作符的评分权值进行举例说明。
候选模型可以如图9所示,输入xi,经过选择块1,输出xj,经过选择块2,输出xk。选择块1和选择块2中分别有4个候选操作符,分别为候选操作符1、候选操作符2、候选操作符3以及候选操作符4。
更新候选操作符的内部参数的一次优化过程可以为,随机在两个选择块中选择一个候选操作符组成一个神经网络模型,以在选择块1中选取候选操作符3,在选择块2中选取候选操作符2为例进行举例说明,所组成的神经网络模型可以如图10所示,可以使用目标数据集对图10所示的神经网络模型进行训练,以更新选择块1的候选操作符3和选择块2的候选操作符2中的内部参数。
以训练设备包括内部参数优化模块、可微关系确定模块和动态路径决策模块为例,对选择块1和选择块2中的各个候选操作符的评分权值(α1,1、α1,2、α1,3和α1,4,α2,1、α2,2、α2,3和α2,4)进行更新进行举例说明,如图11A和图11B所示,该目标神经网络模型的生成装置可以包括内部参数优化模块、可微关系确定模块和动态路径决策模块,内部参数优化模块可以采用如上所述的方式更新选择块1的候选操作符和选择块2的候选操作符中的内部参数,可微关系确定模块向测速装置发送神经网络模型配置信息,以使得测速装置还原出相应的神经网络模型θk,测速装置测量神经网络模型θk的时延t(θk),并将时延t(θk)反馈给可微关系确定模块,可微关系确定模块根据各个神经网络模型的时延t(θk)、各个神经网络模型的准确率、各个神经网络模型的各个候选操作符的评分权值以及各个候选操作符的评分权值,使用公式 (3)至公式(5)得到时延函数关于α1,1、α1,2、α1,3、α1,4、α2,1、α2,2、α2,3和α2,4的导数值,使用公式(6)得到准确率函数关于α1,1、α1,2、α1,3、α1,4、α2,1、α2,2、α2,3和α2,4的导数值,根据公式(1)得到损失函数关于根据α1,1、α1,2、α1,3、α1,4、α2,1、α2,2、α2,3和α2,4的导数值,将损失函数关于根据α1,1、α1,2、α1,3、α1,4、α2,1、α2,2、α2,3和α2,4的导数值提供给动态路径决策模块,动态路径决策模块将α1,1、α1,2、α1,3、α1,4、α2,1、α2,2、α2,3和α2,4、以及损失函数关于α1,1、α1,2、α1,3、α1,4、α2,1、α2,2、α2,3和α2,4的导数值输入至随机梯度下降算法中,优化各个候选操作符的评分权值。例如,优化后的评分权值为α′1,1、α′1,2、α′1,3、α′1,4、α′2,1、α′2,2、α′2,3和α′2,4。需要说明的是该目标神经网络模型的生成装置可以是如图2A所示的训练设备 220或训练设备220的处理器,或者如图2B所示的服务器420或服务器420的处理器。
本实施例,通过确定损失函数关于各个候选操作符的评分变量的导数值,对选择块1和选择块2中的各个候选操作符的评分权值进行优化,优化后的评分权值使得同时最小化准确率误差和平均网络时延,进而提升基于候选模型所构建的目标神经网络模型的准确率并且减少网络时延。
图12为本申请实施例的另一种目标神经网络模型的生成方法的流程图,如图12所示,本申请实施例涉及目标神经网络模型的生成装置和测速装置。该目标神经网络模型的生成装置可以是由如图2A所示的训练设备220或训练设备220的处理器,或者如图2B所示的服务器420或服务器420的处理器。如图11A所示该测速装置可以是服务器或服务器的内部芯片、也可以是终端设备或终端设备的内部芯片,例如,该终端设备可以是无线通信设备、物联网 (Internet of Things,IoT)设备、可穿戴设备或车载设备、移动终端、客户终端设备(Customer Premise Equipment,CPE)等。在上述任一实施例的基础上,本申请实施例的目标神经网络模型的生成方法还可以包括:
步骤401、目标神经网络模型的生成装置获取测速装置的标识信息。
该标识信息用于标识该测速装置,该标识信息可以是用户输入的,例如,用户通过客户设备240向目标神经网络模型的生成装置提供该标识信息。该标识信息也可以是目标神经网络模型的生成装置根据目标训练集确定的,例如,目标训练集为基于机器视觉的车辆检测的训练集,则目标神经网络模型的生成装置可以根据该目标训练集的应用场景确定测速装置的标识信息为车载设备的标识信息。
该测速装置的标识信息可以是主机名(Hostname)、介质访问控制(Media AccessControl, MAC)地址,IP地址(Internet Protocol Address)、用户代理(user agent)信息,域名系统(Domain Name System,DNS)信息、国际移动用户识别码(International MobileSubscriber Identity, IMSI)中任意一项或多项组合。
步骤402、目标神经网络模型的生成装置根据该标识信息,向该测速装置发送神经网络模型配置信息。
该神经网络模型配置信息用于配置多个神经网络模型。例如,该神经网络模型配置信息用于配置如图6所示实施例的步骤101的多个神经网络模型。
示例性的,该神经网络模型配置信息可以包括多个网络结构编码信息,每个网络结构编码信息用于配置一个神经网络模型的各个操作符和操作符的连接关系。例如,如图10所示的神经网络模型的网络结构编码信息可以是013 122,其中,013表示输入xi(节点0)至xj(节点1)之间的操作符为候选操作符3,122表示xj(节点1)至输出xk(节点2)之间的操作符为候选操作符2。再例如,如图10所示的神经网络模型的网络结构编码信息可以是00100100,其中,0010对应选择块1中的各个候选操作符,0表示未被选中,1表示被选中,0100对应选择块2中的各个候选操作符,0表示未被选中,1表示被选中。
需要说明的是,神经网络模型的时延通常与神经网络模型的结构有关,即与神经网络模型的各个操作符和操作符的连接关系有关,对于各个操作符的内部参数可以采用随机初始化参数,也可以采用预设的参数,其可以根据需求进行灵活设置。
步骤403、测速装置根据该神经网络模型配置信息还原多个目标神经网络模型,并测量每个目标神经网络模型的时延。
例如,测速装置可以根据该神经网络模型配置信息还原出如图6所示实施例的步骤101 的多个神经网络模型。并测量每个目标神经网络模型的时延。
步骤404、测速装置向目标神经网络模型的生成装置发送每个神经网络模型的时延。
相应的,目标神经网络模型的生成装置接收测速装置发送的每个神经网络模型的时延。每个神经网络模型的时延可以包括模型标识信息和时延t(θk),该模型标识信息用于表示神经网络模型θk。
目标神经网络模型的生成装置可以通过上述步骤102确定损失函数关于评分变量的可微关系信息,进而使用该可微关系信息优化各个候选操作符的评分权值,以基于优化后评分权值生成目标神经网络模型。
步骤404’、测速装置根据每个神经网络模型的多个候选操作符的评分权值和每个神经网络模型的时延确定时延函数关于评分变量的可微关系信息,测速装置向目标神经网络模型的生成装置发送时延函数关于评分变量的可微关系信息。
相应的,目标神经网络模型的生成装置接收测速装置发送的时延函数关于评分变量的可微关系信息,目标神经网络模型的生成装置根据时延函数关于评分变量的可微关系信息确定损失函数关于评分变量的可微关系信息,进而使用该可微关系信息优化各个候选操作符的评分权值,以基于优化后评分权值生成目标神经网络模型。
其中,在步骤403之后可以执行步骤404或步骤404’。
本实施例,通过在测速装置上对每个神经网络模型的时延进行测量,基于测速装置的测量结果确定损失函数关于评分变量的可微关系信息,进而使用该可微关系信息优化各个候选操作符的评分权值,以基于优化后评分权值生成目标神经网络模型,可以提升生成目标神经网络模型的效率,减少计算资源和时间的消耗。
图13为本申请实施例提供的一种芯片硬件结构图。本申请实施例的基于目标神经网络模型的算法可以在图13所示的NPU芯片中实现,该目标神经网络模型可以是通过上述方法实施例所得到的目标神经网络模型。
神经网络处理器NPU 50NPU作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路50,通过控制器504控制运算电路503提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508accumulator中。
统一存储器506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器505Direct Memory Access Controller,DMAC被搬运到权重存储器502中。输入数据也通过DMAC被搬运到统一存储器506中。
BIU为Bus Interface Unit即,总线接口单元510,用于AXI总线与DMAC和取指存储器509Instruction Fetch Buffer的交互。
总线接口单元510(Bus Interface Unit,简称BIU),用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器506或将权重数据搬运到权重存储器502中或将输入数据数据搬运到输入存储器501中。
向量计算单元507多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积 /FC层网络计算,如Pooling(池化),Batch Normalization(批归一化),Local ResponseNormalization(局部响应归一化)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,目标神经网络模型中各层的运算可以由向量计算单元507执行。
本申请上述实施例所得到的目标神经网络模型可以应用于服务器、可穿戴设备、车辆、或自动驾驶系统等,以基于该目标神经网络模型对输入数据进行处理,输出结果。
参见附图14,本申请实施例提供了一种系统架构300。执行设备210由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码实现基于上述目标神经网络模型的处理方法,为用户提供服务。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在另一种实现中,执行设备210的一个方面或多个方面可以由每个本地设备实现,例如,本地设备301可以为执行设备210提供本地数据或反馈计算结果。
需要注意的,执行设备210的所有功能也可以由本地设备实现。例如,本地设备301实现执行设备210的功能并为自己的用户提供服务,或者为本地设备302的用户提供服务。
参见图15,图15为本申请提供的目标神经网络模型的生成装置1600的示意性框图。通目标神经网络模型的生成装置1600包括获取模块1601、模型生成模块1602和收发模块1602。
在一个实施例中,目标神经网络模型的生成装置1600具有方法实施例中训练设备或服务器的功能。例如,目标神经网络模型的生成装置1600可以执行如图6至8任一项实施例的方法,或者执行如图12实施例的目标神经网络模型的生成装置所执行的方法。此时,通信装置 500的各单元分别用于执行如下操作和/或处理。
获取模块1601,用于获取多个候选操作符的评分权值和多个神经网络模型。
模型生成模块1602,用于根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,所述损失函数为准确率和时延的联合函数。
所述模型生成模块1602,还用于根据所述可微关系信息更新所述多个候选操作符的评分权值。
所述模型生成模块1602,还用于根据更新后的评分权值生成目标神经网络模型。
收发模块1603,用于发送目标模型配置信息,所述目标模型配置信息用于配置所述目标神经网络模型
在一些实施例中,所述多个神经网络模型中的每个神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个,所述损失函数关于评分变量的可微关系信息包括L*N个可微关系信息,每个可微关系信息对应一个选择块的一个候选操作符;所述模型生成模块1602用于:根据所述L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值;其中,L和N为任意正整数。
在一些实施例中,所述获取模块1601还用于:获取目标数据集和时延调节参数;根据所述时延调节参数确定所述损失函数;根据所述目标数据集更新所述候选操作符的内部参数;根据更新后的内部参数和所述多个候选操作符的评分权值确定所述多个神经网络模型。
在一些实施例中,所述模型生成模块1602用于:根据每个选择块的N个候选操作符的评分权值和每个神经网络模型的准确率确定第l个选择块的第m个准确率可微关系信息,所述每个神经网络模型的准确率为根据所述目标数据集确定的;根据每个选择块的N个候选操作符的评分权值确定每个神经网络模型的每个选择块的操作符的采样概率和每个选择块的每个候选操作符的采样概率关于评分变量的可微关系信息;根据每个神经网络模型的L-1个选择块的操作符的采样概率、第l个选择块的第m个候选操作符的采样概率关于评分变量的可微关系信息和所述每个神经网络模型的时延确定所述第l个选择块的第m个时延可微关系信息,所述L-1个选择块包括L个选择块中除所述第l个选择块之外的选择块;根据所述第l个选择块的第m个准确率可微关系信息和所述第l个选择块的第m个时延可微关系信息,确定所述第l个选择块的第m个可微关系信息。其中,l取值为大于等于1且小于等于L的正整数,m取值为大于等于1且小于等于N的正整数。
在一些实施例中,所述模型生成模块1602用于:分别将所述L*N个可微关系信息和每个候选操作符的评分权值输入至随机梯度下降算法,输出更新后的每个选择块中每个候选操作符的评分权值。
在一些实施例中,所述获取模块1601用于:使用所述目标数据集训练第一神经网络模型,所述第一神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个;根据训练结果,更新所述L个候选操作符的内部参数;其中,L为任意正整数。
在一些实施例中,所述模型生成模块1602还用于:根据所述更新后的评分权值和预设条件,确定是否存在第一操作符,所述第一操作符为L个选择块的候选操作符中的一个或多个;若存在第一操作符,则在第一操作符对应的选择块的候选操作符中剔除所述第一操作符。
在一些实施例中,所述模型生成模块1602还用于在所述根据所述可微关系信息更新所述多个候选操作符的评分权值之后,判断是否满足截止条件,若不满足截止条件,则执行使用所述目标数据集训练第一神经网络模型的步骤;若满足截止条件,则执行根据更新后的评分权值生成目标神经网络模型的步骤。
在一些实施例中,每个选择块的每个候选操作符被选取作为所述第一神经网络模型的一个操作符的概率相等。
在一些实施例中,所述获取模块1601还用于:获取测速装置的标识信息;根据所述标识信息,通过所述收发模块1603向所述测速装置发送神经网络模型配置信息,所述神经网络模型配置信息用于配置所述多个神经网络模型;所述收发模块1603还用于接收所述测速装置发送的每个神经网络模型的时延。
在一些实施例中,所述神经网络模型配置信息包括多个网络结构编码信息,每个网络结构编码信息用于配置一个神经网络模型的各个操作符和操作符的连接关系。
在一些实施例中,所述模型生成模块1602用于:在每个选择块中选取所述选择块中评分权值最大的候选操作符作为所述目标神经网络模型的一个操作符,所述操作符的内部参数为更新后的内部参数。
在一些实施例中,所述获取模块1601用于:通过所述收发模块1603接收用户输入的所述目标数据集和所述时延调节参数;或者,通过所述收发模块1603接收用户输入的数据集选择信息和所述时延调节参数,根据所述数据集选择信息确定所述目标数据集;或者,通过所述收发模块1603接收用户输入的数据集选择信息和期望复杂度信息,根据所述数据集选择信息确定所述目标数据集,根据所述期望复杂度信息确定所述时延调节参数。
可选地,目标神经网络模型的生成装置1600也可以同时具有方法实施例中的其它功能。类似说明可以参考前述方法实施例的描述。为避免重复,这里不再赘述。
可选地,获取模块1601和模型生成模型1602可以是处理器,收发模块1603可以是收发器。收发器包括接收器和发射器,同时具有发送和接收的功能。
可选地,获取模块1601和模型生成模型1602可以是一个处理装置,处理装置的功能可以部分或全部通过软件实现。
在一种可能的实现方式中,处理装置的功能可以部分或全部通过软件实现。此时,处理装置可以包括存储器和处理器。其中,存储器用于存储计算机程序,处理器读取并执行存储器中存储的计算机程序,以执行各方法实施例中的步骤。
可选地,在一种可能的实现方式中,处理装置包括处理器。用于存储计算机程序的存储器位于处理装置之外,处理器通过电路/电线与存储器连接,以读取并执行存储器中存储的计算机程序。
在一种可能的实现方式中,处理装置的功能可以全部通过硬件实现。此时,处理装置可以包括输入接口电路、逻辑电路和输出接口电路。其中,输入接口电路,用于获取多个候选操作符的评分权值和多个神经网络模型;逻辑电路,用于根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,所述损失函数为准确率和时延的联合函数;根据所述可微关系信息更新所述多个候选操作符的评分权值;根据更新后的评分权值生成目标神经网络模型;输出接口电路用于发送目标模型配置信息,所述目标模型配置信息用于配置所述目标神经网络模型。
在另一个实施例中,目标神经网络模型的生成装置1600可以为芯片。此时,收发模块 1601具体可以为通信接口或者收发电路。
参见图16,图16为本申请提供的电子设备1700的示意性结构图。如图16所示,电子设备1700包括处理器1701和收发器1702。
可选地,电子设备1700还包括存储器1703。其中,处理器1701、收发器1702和存储器 1703之间可以通过内部连接通路互相通信,传递控制信号和/或数据信号。
其中,存储器1703用于存储计算机程序。处理器1701用于执行存储器1703中存储的计算机程序,从而实现上述装置实施例中目标神经网络模型的生成装置1600的各功能。
具体地,处理器1701可以用于执行装置实施例(例如,图16)中描述的由获取模块1601 和模型生成模型1602执行的操作和/或处理,而收发器1702用于执行由收发模块1603执行操作和/处理。
可选地,存储器1703也可以集成在处理器1701中,或者独立于处理器1701。
本实施例的电子设备可以执行上述方法实施例的目标神经网络模型的生成方法,其技术原理和技术效果可以参见上述实施例的解释说明,此处不再赘述。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机执行时,使得计算机执行上述任一方法实施例中的步骤和/或处理。
本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述任一方法实施例中的步骤和/或处理。
本申请还提供一种芯片,所述芯片包括处理器。用于存储计算机程序的存储器独立于芯片而设置,处理器用于执行存储器中存储的计算机程序,以执行任一方法实施例中的步骤和/ 或处理。
进一步地,所述芯片还可以包括存储器和通信接口。所述通信接口可以是输入/输出接口、管脚或输入/输出电路等。
以上各实施例中提及的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signalprocessor,DSP)、特定应用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM, EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM, SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器 (synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (30)
1.一种目标神经网络模型的生成方法,其特征在于,包括:
获取多个候选操作符的评分权值和多个神经网络模型;
根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,所述损失函数为准确率和时延的联合函数;
根据所述可微关系信息更新所述多个候选操作符的评分权值;
根据更新后的评分权值生成目标神经网络模型;
发送目标模型配置信息,所述目标模型配置信息用于配置所述目标神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述多个神经网络模型中的每个神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个,所述损失函数关于评分变量的可微关系信息包括L*N个可微关系信息,每个可微关系信息对应一个选择块的一个候选操作符;
所述根据所述可微关系信息更新所述多个候选操作符的评分权值,包括:
根据所述L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值;
其中,L和N为任意正整数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取目标数据集和时延调节参数;
根据所述时延调节参数确定所述损失函数;
根据所述目标数据集更新所述候选操作符的内部参数;
根据更新后的内部参数和所述多个候选操作符的评分权值确定所述多个神经网络模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定所述损失函数关于评分变量的可微关系信息,包括:
根据每个选择块的N个候选操作符的评分权值和每个神经网络模型的准确率确定第l个选择块的第m个准确率可微关系信息,所述每个神经网络模型的准确率为根据所述目标数据集确定的;
根据每个选择块的N个候选操作符的评分权值确定每个神经网络模型的每个选择块的操作符的采样概率和每个选择块的每个候选操作符的采样概率关于评分变量的可微关系信息;
根据每个神经网络模型的L-1个选择块的操作符的采样概率、第l个选择块的第m个候选操作符的采样概率关于评分变量的可微关系信息和所述每个神经网络模型的时延确定所述第l个选择块的第m个时延可微关系信息,所述L-1个选择块包括L个选择块中除所述第l个选择块之外的选择块;
根据所述第l个选择块的第m个准确率可微关系信息和所述第l个选择块的第m个时延可微关系信息,确定所述第l个选择块的第m个可微关系信息;
其中,l取值为大于等于1且小于等于L的正整数,m取值为大于等于1且小于等于N的正整数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值,包括:
分别将所述L*N个可微关系信息和每个候选操作符的评分权值输入至随机梯度下降算法,输出更新后的每个选择块中每个候选操作符的评分权值。
6.根据权利要求3至5任一项所述的方法,其特征在于,所述根据所述目标数据集更新所述候选操作符的内部参数,包括:
使用所述目标数据集训练第一神经网络模型,所述第一神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个;
根据训练结果,更新所述L个候选操作符的内部参数;
其中,L为任意正整数。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述更新后的评分权值和预设条件,确定是否存在第一操作符,所述第一操作符为L个选择块的候选操作符中的一个或多个;
若存在第一操作符,则在第一操作符对应的选择块的候选操作符中剔除所述第一操作符。
8.根据权利要求7所述的方法,其特征在于,在所述根据所述可微关系信息更新所述多个候选操作符的评分权值之后,所述方法还包括:
判断是否满足截止条件,若不满足截止条件,则执行使用所述目标数据集训练第一神经网络模型的步骤;
若满足截止条件,则执行根据更新后的评分权值生成目标神经网络模型的步骤。
9.根据权利要求6至8任一项所述的方法,其特征在于,每个选择块的每个候选操作符被选取作为所述第一神经网络模型的一个操作符的概率相等。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
获取测速装置的标识信息;
根据所述标识信息,向所述测速装置发送神经网络模型配置信息,所述神经网络模型配置信息用于配置所述多个神经网络模型;
接收所述测速装置发送的每个神经网络模型的时延。
11.根据权利要求10所述的方法,其特征在于,所述神经网络模型配置信息包括多个网络结构编码信息,每个网络结构编码信息用于配置一个神经网络模型的各个操作符和操作符的连接关系。
12.根据权利要求3至11任一项所述的方法,其特征在于,所述根据更新后的评分权值生成目标神经网络模型,包括:
在每个选择块中选取所述选择块中评分权值最大的候选操作符作为所述目标神经网络模型的一个操作符,所述操作符的内部参数为更新后的内部参数。
13.根据权利要求3至12任一项所述的方法,其特征在于,所述获取目标数据集和时延调节参数,包括:
接收用户输入的所述目标数据集和所述时延调节参数;或者,
接收用户输入的数据集选择信息和所述时延调节参数,根据所述数据集选择信息确定所述目标数据集;或者,
接收用户输入的数据集选择信息和期望复杂度信息,根据所述数据集选择信息确定所述目标数据集,根据所述期望复杂度信息确定所述时延调节参数。
14.一种目标神经网络模型的生成装置,其特征在于,包括:
获取模块,用于获取多个候选操作符的评分权值和多个神经网络模型;
模型生成模块,用于根据所述多个候选操作符的评分权值、每个神经网络模型的准确率和每个神经网络模型的时延确定损失函数关于评分变量的可微关系信息,所述损失函数为准确率和时延的联合函数;
所述模型生成模块,还用于根据所述可微关系信息更新所述多个候选操作符的评分权值;
所述模型生成模块,还用于根据更新后的评分权值生成目标神经网络模型;
收发模块,用于发送目标模型配置信息,所述目标模型配置信息用于配置所述目标神经网络模型。
15.根据权利要求14所述的装置,其特征在于,所述多个神经网络模型中的每个神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个,所述损失函数关于评分变量的可微关系信息包括L*N个可微关系信息,每个可微关系信息对应一个选择块的一个候选操作符;
所述模型生成模块用于:根据所述L*N个可微关系信息,分别更新每个可微关系信息对应的候选操作符的评分权值;其中,L和N为任意正整数。
16.根据权利要求15所述的装置,其特征在于,所述获取模块还用于:
获取目标数据集和时延调节参数;
根据所述时延调节参数确定所述损失函数;
根据所述目标数据集更新所述候选操作符的内部参数;
根据更新后的内部参数和所述多个候选操作符的评分权值确定所述多个神经网络模型。
17.根据权利要求16所述的装置,其特征在于,所述模型生成模块用于:
根据每个选择块的N个候选操作符的评分权值和每个神经网络模型的准确率确定第l个选择块的第m个准确率可微关系信息,所述每个神经网络模型的准确率为根据所述目标数据集确定的;
根据每个选择块的N个候选操作符的评分权值确定每个神经网络模型的每个选择块的操作符的采样概率和每个选择块的每个候选操作符的采样概率关于评分变量的可微关系信息;
根据每个神经网络模型的L-1个选择块的操作符的采样概率、第l个选择块的第m个候选操作符的采样概率关于评分变量的可微关系信息和所述每个神经网络模型的时延确定所述第l个选择块的第m个时延可微关系信息,所述L-1个选择块包括L个选择块中除所述第l个选择块之外的选择块;
根据所述第l个选择块的第m个准确率可微关系信息和所述第l个选择块的第m个时延可微关系信息,确定所述第l个选择块的第m个可微关系信息;
其中,l取值为大于等于1且小于等于L的正整数,m取值为大于等于1且小于等于N的正整数。
18.根据权利要求17所述的装置,其特征在于,所述模型生成模块用于:
分别将所述L*N个可微关系信息和每个候选操作符的评分权值输入至随机梯度下降算法,输出更新后的每个选择块中每个候选操作符的评分权值。
19.根据权利要求16至18任一项所述的装置,其特征在于,所述获取模块用于:使用所述目标数据集训练第一神经网络模型,所述第一神经网络模型由L个候选操作符确定,每个候选操作符为对应的选择块的N个候选操作符中的一个;根据训练结果,更新所述L个候选操作符的内部参数;其中,L为任意正整数。
20.根据权利要求19所述的装置,其特征在于,所述模型生成模块还用于:
根据所述更新后的评分权值和预设条件,确定是否存在第一操作符,所述第一操作符为L个选择块的候选操作符中的一个或多个;
若存在第一操作符,则在第一操作符对应的选择块的候选操作符中剔除所述第一操作符。
21.根据权利要求20所述的装置,其特征在于,所述模型生成模块还用于在所述根据所述可微关系信息更新所述多个候选操作符的评分权值之后,判断是否满足截止条件,若不满足截止条件,则执行使用所述目标数据集训练第一神经网络模型的步骤;
若满足截止条件,则执行根据更新后的评分权值生成目标神经网络模型的步骤。
22.根据权利要求19至21任一项所述的装置,其特征在于,每个选择块的每个候选操作符被选取作为所述第一神经网络模型的一个操作符的概率相等。
23.根据权利要求14至21任一项所述的装置,其特征在于,所述获取模块还用于:获取测速装置的标识信息;
根据所述标识信息,通过所述收发模块向所述测速装置发送神经网络模型配置信息,所述神经网络模型配置信息用于配置所述多个神经网络模型;
所述收发模块还用于接收所述测速装置发送的每个神经网络模型的时延。
24.根据权利要求23所述的装置,其特征在于,所述神经网络模型配置信息包括多个网络结构编码信息,每个网络结构编码信息用于配置一个神经网络模型的各个操作符和操作符的连接关系。
25.根据权利要求16至24任一项所述的装置,其特征在于,所述模型生成模块用于:
在每个选择块中选取所述选择块中评分权值最大的候选操作符作为所述目标神经网络模型的一个操作符,所述操作符的内部参数为更新后的内部参数。
26.根据权利要求16至25任一项所述的装置,其特征在于,所述获取模块用于:通过所述收发模块接收用户输入的所述目标数据集和所述时延调节参数;或者,
通过所述收发模块接收用户输入的数据集选择信息和所述时延调节参数,根据所述数据集选择信息确定所述目标数据集;或者,
通过所述收发模块接收用户输入的数据集选择信息和期望复杂度信息,根据所述数据集选择信息确定所述目标数据集,根据所述期望复杂度信息确定所述时延调节参数。
27.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-13中任一项所述的方法。
29.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,在计算机上运行时,使得计算机执行如权利要求1-13中任一项所述的方法。
30.一种芯片,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求1-13中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814558.6A CN112446462B (zh) | 2019-08-30 | 2019-08-30 | 目标神经网络模型的生成方法和装置 |
PCT/CN2020/094837 WO2021036397A1 (zh) | 2019-08-30 | 2020-06-08 | 目标神经网络模型的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814558.6A CN112446462B (zh) | 2019-08-30 | 2019-08-30 | 目标神经网络模型的生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112446462A true CN112446462A (zh) | 2021-03-05 |
CN112446462B CN112446462B (zh) | 2024-06-18 |
Family
ID=74684081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910814558.6A Active CN112446462B (zh) | 2019-08-30 | 2019-08-30 | 目标神经网络模型的生成方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112446462B (zh) |
WO (1) | WO2021036397A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330698A (zh) * | 2022-03-15 | 2022-04-12 | 之江实验室 | 一种类脑计算机操作系统的神经模型存储系统及方法 |
CN116881851A (zh) * | 2023-09-04 | 2023-10-13 | 成都无声讯通科技有限责任公司 | 基于机器学习的物联网数据处理方法、装置及服务器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969636B (zh) * | 2021-03-23 | 2023-10-03 | 华为技术有限公司 | 一种模型推荐的方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709565A (zh) * | 2016-11-16 | 2017-05-24 | 广州视源电子科技股份有限公司 | 一种神经网络的优化方法及装置 |
US20180121792A1 (en) * | 2016-10-31 | 2018-05-03 | Oracle International Corporation | Differentiable set to increase the memory capacity of recurrent neural networks |
WO2018201151A1 (en) * | 2017-04-28 | 2018-11-01 | Google Llc | Neural network optimizer search |
US20190095780A1 (en) * | 2017-08-18 | 2019-03-28 | Beijing Sensetime Technology Development Co., Ltd | Method and apparatus for generating neural network structure, electronic device, and storage medium |
CN109816092A (zh) * | 2018-12-13 | 2019-05-28 | 北京三快在线科技有限公司 | 深度神经网络训练方法、装置、电子设备及存储介质 |
CN110046706A (zh) * | 2019-04-18 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 模型生成方法、装置及服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704926A (zh) * | 2017-11-23 | 2018-02-16 | 清华大学 | 一种大数据跨领域分析的深度迁移学习方法 |
CN109063719B (zh) * | 2018-04-23 | 2022-02-01 | 湖北工业大学 | 一种联合结构相似性和类信息的图像分类方法 |
CN108960317B (zh) * | 2018-06-27 | 2021-09-28 | 哈尔滨工业大学 | 基于词向量表示和分类器联合训练的跨语言文本分类方法 |
-
2019
- 2019-08-30 CN CN201910814558.6A patent/CN112446462B/zh active Active
-
2020
- 2020-06-08 WO PCT/CN2020/094837 patent/WO2021036397A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121792A1 (en) * | 2016-10-31 | 2018-05-03 | Oracle International Corporation | Differentiable set to increase the memory capacity of recurrent neural networks |
CN106709565A (zh) * | 2016-11-16 | 2017-05-24 | 广州视源电子科技股份有限公司 | 一种神经网络的优化方法及装置 |
WO2018201151A1 (en) * | 2017-04-28 | 2018-11-01 | Google Llc | Neural network optimizer search |
US20190095780A1 (en) * | 2017-08-18 | 2019-03-28 | Beijing Sensetime Technology Development Co., Ltd | Method and apparatus for generating neural network structure, electronic device, and storage medium |
CN109816092A (zh) * | 2018-12-13 | 2019-05-28 | 北京三快在线科技有限公司 | 深度神经网络训练方法、装置、电子设备及存储介质 |
CN110046706A (zh) * | 2019-04-18 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 模型生成方法、装置及服务器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330698A (zh) * | 2022-03-15 | 2022-04-12 | 之江实验室 | 一种类脑计算机操作系统的神经模型存储系统及方法 |
CN116881851A (zh) * | 2023-09-04 | 2023-10-13 | 成都无声讯通科技有限责任公司 | 基于机器学习的物联网数据处理方法、装置及服务器 |
CN116881851B (zh) * | 2023-09-04 | 2023-12-19 | 成都无声讯通科技有限责任公司 | 基于机器学习的物联网数据处理方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2021036397A1 (zh) | 2021-03-04 |
CN112446462B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
EP4064130A1 (en) | Neural network model update method, and image processing method and device | |
WO2021238366A1 (zh) | 一种神经网络构建方法以及装置 | |
WO2021218517A1 (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
US20230082597A1 (en) | Neural Network Construction Method and System | |
CN112183718A (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
CN113705769A (zh) | 一种神经网络训练方法以及装置 | |
CN112651511A (zh) | 一种训练模型的方法、数据处理的方法以及装置 | |
CN112990211A (zh) | 一种神经网络的训练方法、图像处理方法以及装置 | |
CN113065635A (zh) | 一种模型的训练方法、图像增强方法及设备 | |
WO2021036397A1 (zh) | 目标神经网络模型的生成方法和装置 | |
CN113065633B (zh) | 一种模型训练方法及其相关联设备 | |
CN111428854A (zh) | 一种结构搜索方法及结构搜索装置 | |
CN111612215A (zh) | 训练时间序列预测模型的方法、时间序列预测方法及装置 | |
WO2022012668A1 (zh) | 一种训练集处理方法和装置 | |
CN111931901A (zh) | 一种神经网络构建方法以及装置 | |
CN113505883A (zh) | 一种神经网络训练方法以及装置 | |
CN111797992A (zh) | 一种机器学习优化方法以及装置 | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
CN113379045B (zh) | 数据增强方法和装置 | |
CN113128285A (zh) | 一种处理视频的方法及装置 | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
CN112257840B (zh) | 一种神经网络处理方法以及相关设备 | |
CN114169393A (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 |