神经网络结构确定方法及装置以及相关产品与流程

文档序号:32155636发布日期:2022-11-11 22:46阅读:98来源:国知局
神经网络结构确定方法及装置以及相关产品与流程

1.本公开涉及计算机技术领域,尤其涉及一种神经网络结构确定方法及装置以及相关产品。


背景技术:

2.网络结构和网络训练超参数都会对神经网络的精度产生影响,然而,在训练过程中,通常预设一组超参数,在这组超参数下,交替进行网络权重训练和网络结构搜索,最终得到一个最优结构。然而,在不同的训练超参数下,会得到不同精度的神经网络,因此,如果预设一组超参数,可能导致最终的网络结构不准确。


技术实现要素:

3.本公开提出了一种神经网络结构确定方法及装置以及相关产品。
4.根据本公开的一方面,提供了一种神经网络结构确定方法,包括:根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络;根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,其中,所述第一子网络包括所述第二神经网络的各个网络层级的多个网络块中随机选取网络块;根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,其中,所述下一个结构调节周期的第一神经网络的各网络层级包括的网络块的数量少于当前结构调节周期的第一神经网络的各网络层级包括的网络块的数量;在第一神经网络的网络结构符合结构条件的情况下,获得目标神经网络。
5.在一种可能的实现方式中,根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,包括:根据所述多个第一子网络的验证结果,在所述多个第一子网络中确定第一预设数量的第二子网络;对所述第一预设数量的第二子网络中各网络层级所包括的网络块进行统计,确定所述第一预设数量的第二子网络中的目标网络块,其中,所述目标网络块为第一预设数量的第二子网络的各网络层级的网络块中满足数量要求的网络块。
6.在一种可能的实现方式中,根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,包括:在所述第一预设数量的第二子网络为验证结果不符合准确率要求的子网络的情况下,在所述第二神经网络中,去除所述目标网络块,获得所述下一个结构调节周期的第一神经网络。
7.在一种可能的实现方式中,根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,包括:在所述第一预设数量的第二子网络为验证结果符合准确率要求的子网络的情况下,在所述第二神经网络中,保留所述目标网络块,并去除其他网络块,获得所述下一个结构调节周期的第一神经网络。
8.在一种可能的实现方式中,所述结构调节周期包括多个超参数调节周期,其中,根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络,包括:根据第一个
超参数调节周期的超参数,对所述第一神经网络的第三子网络进行训练,获得第一个超参数调节周期的第三神经网络,其中,所述第三子网络包括所述第一神经网络的各个网络层级的多个网络块中随机选取网络块,所述第一个超参数调节周期的超参数是在超参数集中选取获得的;根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,在所述当前结构调节周期的超参数集中确定下一个超参数调节周期的超参数,并确定下一个超参数调节周期的第三神经网络,其中,所述当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,所述当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果,所述第三神经网络的验证结果包括对所述第三神经网络的各个网络层级的多个网络块中随机采样获得的多个第四子网络的验证结果;根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络。
9.在一种可能的实现方式中,根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络,包括:根据最后一个超参数调节周期的第二集合,在最后一个超参数调节周期的第一集合中确定目标超参数;将所述目标超参数对应的超参数调节周期的第三神经网络,确定为所述第二神经网络。
10.在一种可能的实现方式中,所述多个第一子网络包括确定所述第二集合中的验证结果时获得的第四子网络,以及确定所述第二神经网络后对所述第二神经网络的各个网络层级的多个网络块进行随机采样获得的子网络。
11.在一种可能的实现方式中,其特征在于,所述方法还包括:通过具有标注信息的训练样本,对所述目标神经网络进行训练,获得训练后的目标神经网络。
12.在一种可能的实现方式中,所述目标神经网络用于执行图像处理任务、文本识别任务、音频处理任务、视频处理任务中的任意一种。
13.根据本公开的另一方面,提供了一种神经网络结构确定装置,所述装置包括:优化模块,用于根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络;第一确定模块,用于根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,其中,所述第一子网络包括所述第二神经网络的各个网络层级的多个网络块中随机选取网络块;第二确定模块,用于根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,其中,所述下一个结构调节周期的第一神经网络的各网络层级包括的网络块的数量少于当前结构调节周期的第一神经网络的各网络层级包括的网络块的数量;获得模块,用于在第一神经网络的网络结构符合结构条件的情况下,获得目标神经网络。
14.在一种可能的实现方式中,所述第一确定模块进一步用于:根据所述多个第一子网络的验证结果,在所述多个第一子网络中确定第一预设数量的第二子网络;对所述第一预设数量的第二子网络中各网络层级所包括的网络块进行统计,确定所述第一预设数量的第二子网络中的目标网络块,其中,所述目标网络块为第一预设数量的第二子网络的各网络层级的网络块中满足数量要求的网络块。
15.在一种可能的实现方式中,所述第一确定模块进一步用于:在所述第一预设数量
的第二子网络为验证结果不符合准确率要求的子网络的情况下,在所述第二神经网络中,去除所述目标网络块,获得所述下一个结构调节周期的第一神经网络。
16.在一种可能的实现方式中,所述第二确定模块进一步用于:在所述第一预设数量的第二子网络为验证结果符合准确率要求的子网络的情况下,在所述第二神经网络中,保留所述目标网络块,并去除其他网络块,获得所述下一个结构调节周期的第一神经网络。
17.在一种可能的实现方式中,所述结构调节周期包括多个超参数调节周期,所述优化模块进一步用于:根据第一个超参数调节周期的超参数,对所述第一神经网络的第三子网络进行训练,获得第一个超参数调节周期的第三神经网络,其中,所述第三子网络包括所述第一神经网络的各个网络层级的多个网络块中随机选取网络块,所述第一个超参数调节周期的超参数是在超参数集中选取获得的;根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,在所述当前结构调节周期的超参数集中确定下一个超参数调节周期的超参数,并确定下一个超参数调节周期的第三神经网络,其中,所述当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,所述当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果,所述第三神经网络的验证结果包括对所述第三神经网络的各个网络层级的多个网络块中随机采样获得的多个第四子网络的验证结果;根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络。
18.在一种可能的实现方式中,所述优化模块进一步用于:根据最后一个超参数调节周期的第二集合,在最后一个超参数调节周期的第一集合中确定目标超参数;将所述目标超参数对应的超参数调节周期的第三神经网络,确定为所述第二神经网络。
19.在一种可能的实现方式中,所述多个第一子网络包括确定所述第二集合中的验证结果时获得的第四子网络,以及确定所述第二神经网络后对所述第二神经网络的各个网络层级的多个网络块进行随机采样获得的子网络。
20.在一种可能的实现方式中,所述装置还包括:训练模块,用于通过具有标注信息的训练样本,对所述目标神经网络进行训练,获得训练后的目标神经网络。
21.在一种可能的实现方式中,所述目标神经网络用于执行图像处理任务、文本识别任务、音频处理任务、视频处理任务中的任意一种。
22.根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括所述神经网络结构确定装置。
23.根据本公开的另一方面,提供了一种电子设备,所述电子设备包括所述人工智能芯片。
24.根据本公开的另一方面,提供了一种板卡,包括:存储器件、接口装置和控制器件以及所述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
25.根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行所述神
经网络结构确定方法。
26.根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现所述神经网络结构确定方法。
27.根据本公开的实施例的神经网络结构确定方法,可在每个结构调节周期中,通过多个超参数调节周期来优化第一神经网络,以获得准确率最高的第二神经网络,并可基于目标超参数或第二集合来选择训练效果不佳的超参数进行去除,以缩减超参数集,保留训练效果较好的超参数,在选择超参数的过程中,可使得选择精度更高。进一步地,可在每个结构调节周期中,去除第二神经网络中准确率较低的网络块,来获得下一个结构调节周期的第一神经网络,并经过多次迭代获得目标神经网络,可保留准确率最高的网络块,提高神经网络的准确率,并可优化神经网络的结构。
28.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
29.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
30.图1示出根据本公开实施例的神经网络结构确定方法的流程图;
31.图2示出根据本公开实施例的神经网络的示意图;
32.图3示出根据本公开实施例的神经网络的示意图;
33.图4示出根据本公开实施例的网络块的示意图;
34.图5示出根据本公开实施例的神经网络结构确定装置的框图;
35.图6是示出根据本公开实施例的一种组合处理装置的结构图;
36.图7是示出根据本公开实施例的一种板卡的结构示意图;
37.图8示出根据本公开实施例的一种电子设备的框图。
具体实施方式
38.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
39.应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
40.还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一
步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
41.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0042]
根据本公开实施例的神经网络结构确定方法可应用于处理器中,以提高处理器的处理效率。该处理器可以是通用处理器,例如cpu(central processing unit,中央处理器),也可以是用于执行人工智能运算的人工智能处理器(ipu)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括gpu(graphics processing unit,图形处理单元)、npu(neural-network processing unit,神经网络处理单元)、dsp(digital signal process,数字信号处理单元)、现场可编程门阵列(field-programmable gate array,fpga)芯片中的一种或组合。本公开对处理器的具体类型不作限制。
[0043]
在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。
[0044]
图1示出根据本公开实施例的神经网络结构确定方法的流程图,该方法包括:
[0045]
在步骤s11中,根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络;
[0046]
在步骤s12中,根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,其中,所述第一子网络包括所述第二神经网络的各个网络层级的多个网络块中随机选取网络块;
[0047]
在步骤s13中,根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,其中,所述下一个结构调节周期的第一神经网络的各网络层级包括的网络块的数量少于当前结构调节周期的第一神经网络的各网络层级包括的网络块的数量;
[0048]
在步骤s14中,在第一神经网络的网络结构符合结构条件的情况下,获得目标神经网络。
[0049]
根据本公开的实施例的神经网络结构确定方法,可在多个结构调节周期中,逐步精简网络块的数量,获得优化后的第一神经网络的结构,以达到更高的训练精度。
[0050]
在一种可能的实现方式中,所述神经网络结构确定方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。或者,可通过服务器执行所述方法。
[0051]
在一种可能的实现方式中,在机器学习的过程中,训练过程中使用的超参数(例如,优化器种类、学习率(learning rate)、权重衰减系数(weight decay)、配合比(mixup ratio)等),以及神经网络的网络结构均可对神经网络最终的训练精度产生影响。通常情况
下,可使用预设的超参数来确定合适的神经网络结构,并进行训练,以获得训练后的神经网络。但预设的超参数未必是准确的,可能导致确定出的神经网络结构是不合适的,有可能影响神经网络的精度。因此,可将超参数优化(hyperparameter optimization,hpo)和神经网络结构搜索(neural architecture search,nas)结合以进行优化。
[0052]
在一种可能的实现方式中,超参数优化和神经网络结构搜索均可进行多个周期的迭代与搜索,以确定合适的超参数和神经网络结构。在示例中,上述过程可包括多个结构调节周期(即,以多个周期的迭代来搜索神经网络的合适的结构),每个结构调节周期可包括多个超参数调节周期(即,在每个结构调节周期中,均通过多个超参数调节周期来优化超参数集,进而可在更精确的范围内选择超参数)。
[0053]
在一种可能的实现方式中,如上所述,每个结构调节周期均可包括多个超参数调节周期,在每个结构调节周期中,均可通过在超参数集中选择超参数,并通过多个周期的迭代来优化超参数集以及优化神经网络的结构。在下一个结构调节周期中,即可在优化后的超参数集的基础上,继续选择超参数来优化神经网络的结构和超参数集。经过多个结构调节周期的迭代,最终可确定满足要求的目标神经网络(例如,结构符合要求),以及选择范围较小,选择精度较高的超参数集。可在此超参数集中选择一组超参数,来训练满足要求的目标神经网络,可获得较好的训练效果和较高的训练精度。
[0054]
在一种可能的实现方式中,可首先对未经过任何调节和训练的神经网络进行预处理,在示例中,所述神经网络可以是包括多个网络层级的深度学习神经网络,每个网络层级可包括多个网络块。
[0055]
图2示出根据本公开实施例的神经网络的示意图,如图2所示,所述神经网络可包括多个阶段,每个阶段可包括多个网络层级。
[0056]
图3示出根据本公开实施例的神经网络的示意图,如图3所示,每个网络层级可包括多个网络块,在示例中,网络块b
i,l,n
可表示第i个阶段的第l个网络层级的第n个网络块,其中,i、l和n均为正整数。
[0057]
图4示出根据本公开实施例的网络块的示意图,如图4所示,所述网络块可以是图4中示出的网络块中的一种,例如,b
1,2,3
可以是图4中(a)示出的网络块,b
2,2,4
可以是图4中(b)示出的网络块,本公开对网络块的结构不做限制。在示例中,(a)中的网络块包括1
×
1卷积层、归一化层、激活层、3
×
3卷积层等,还可包括跨接的残差结构。(b)中的网络块包括1
×
1卷积层、归一化层、激活层、扩张率=2的3
×
3卷积层等,还可包括跨接的残差结构。图4中(c)示出的网络块包括1
×
1卷积层、归一化层、激活层、扩张率=4的3
×
3卷积层等,还可包括跨接的残差结构。图4中(d)示出的网络块包括归一化层、激活层、3
×
3卷积层等,还可包括跨接的残差结构。图4中(e)示出的网络块包括跨接的残差结构。网络块的结构不限于上述几种,还可包括其他结构的网络块,本公开对网络块的结构不做限制。在示例中,每个阶段的第一个网络层级的各网络块可具有下采样的功能,因此,每个阶段的第一个网络层级不包括(e)所示的网络块。
[0058]
在一种可能的实现方式中,由于上述神经网络所包括的网络块众多,结构复杂,因此,可优化神经网络的网络结构。在上述预处理过程中,可从未优化的超参数集hp
base
中选择一组超参数hp0,并可从未优化的神经网络的每个网络层级中,均随机选择一个网络块,并利用超参数hp0对随机选择的网络块组成的子网络进行训练,例如,可向上述子网络输入
具有标注信息的样本,利用子网络的处理结果与标注信息对子网络的网络参数进行调节,在调节过程中,按照选好的超参数hp0进行调节。以上随机选择网络块组成子网络并根据超参数hp0进行训练的过程可迭代多次,以获得预处理后的第一神经网络sp0(即,第一个结构调节周期中的第一神经网络)。在示例中,训练样本可包括文本样本、音频样本、图像样本、视频样本等,本公开对训练样本的类别不做限制。
[0059]
在示例中,超参数集hp
base
中的每个超参数均可具有一定的范围,例如,优化器种类包括adam、sgd、momentum三个种类,学习率的区间为[0.01,0.5],权重衰减系数的区间为[1e-6
,5e-4
],配合比的区间为[0,0.5],本公开对超参数集中超参数的范围不做限制。在后续的优化中,每个结构调节周期的超参数集的范围均可比上一个结构调节周期的超参数集的范围小,在选择超参数时,可在更小的范围中选取,使得超参数的选取更精确。进一步地,在每个结构调节周期之后,第一神经网络每个层级均可减少一部分性能较差网络块,即,下一个结构调节周期中的第一神经网络比当前结构调节周期中第一神经网络所包括的网络块的数量少,因此,在下一个结构调节周期中,可在更少的网络块中随机选择网络块以组成子网络进行训练,使得选择出的网络块性能更好,并且可在更小范围的超参数集中选择更准确的超参数进行训练,有助于使最终的目标神经网络中包括性能较好的网络块,提高神经网络的精度。
[0060]
在一种可能的实现方式中,在步骤s11中,在当前超参数调节周期中(例如,第1个、第2个

第j个超参数调节周期中),可包括多个超参数调节周期。在第一个超参数调节周期中,可在当前超参数调节周期的超参数集hp
base
中随机选取一组超参数hp1用于训练。步骤s11可包括:根据第一个超参数调节周期的超参数,对所述第一神经网络的第三子网络进行训练,获得第一个超参数调节周期的第三神经网络,其中,所述第三子网络包括所述第一神经网络的各个网络层级的多个网络块中随机选取网络块,所述第一个超参数调节周期的超参数是在超参数集中选取获得的;根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,在所述当前结构调节周期的超参数集中确定下一个超参数调节周期的超参数,并确定下一个超参数调节周期的第三神经网络,其中,所述当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,所述当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果,所述第三神经网络的验证结果包括对所述第三神经网络的各个网络层级的多个网络块中随机采样获得的多个第四子网络的验证结果;根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络。
[0061]
在一种可能的实现方式中,可在当前结构调节周期的第一神经网络sp0的每个网络层级中,随机选取一个网络块(例如,等概率随机选取),组成第三子网络。进一步地,可基于上述超参数hp1,对第三子网络进行训练。上述选取网络块并训练的过程可迭代执行多次,第一神经网络中多个网络块的网络参数经过调节后,可获得第三神经网络sp1。
[0062]
在一种可能的实现方式中,为了优化超参数集,即,缩小超参数集的范围,可对第三神经网络进行验证,获得第三神经网络的验证结果,并基于验证结果进行优化。
[0063]
在一种可能的实现方式中,在当前结构调节周期中,第三神经网络与第一神经网络的网络结构是相同的,只是第三神经网络经过上述对第三子网络的训练过程,其网络参
数与第一神经网络有所不同。因此,第三神经网络也包括多个网络层级,且每个网络层级包括多个网络块。可采用与以上确定第三子网络相同的方式,对第三神经网络各网络层级的网络块分别进行随机采样,例如,每个网络层级可随机选取一个网络块,并由选取的网络块组成第四子网络。
[0064]
在一种可能的实现方式中,可通过第四子网络处理训练样本,获得第一处理结果,例如,训练样本为图像,第四子网络可对图像进行处理,以识别图像中的目标对象。进一步地,可根据第一处理结果和标注信息,确定第四子网络的准确率,即,可向第四子网络输入多个训练样本,并比较每次输出的第一处理结果以及标注信息,以确定该第四子网络的准确率。例如,可向第四子网络输入多个图像,第四子网络可输出多个识别结果,可基于图像的标注信息统计多个识别结果的识别准确率,作为该第四子网络的准确率。
[0065]
在一种可能的实现方式中,可通过上述方式获得多个第四子网络,并分别确定每个第四子网络的准确率。进一步地,可根据多个第四子网络的准确率,确定第三神经网络的验证结果。所述验证结果包括多个第四子网络的平均准确率。在示例中,随机采样获得了10个第四子网络,每个第四子网络均对1000个训练样本进行处理,以分别统计每个第四子网络准确率,进一步地,可将10个第四子网络的准确率进行平均处理,获得所述平均准确率,即,第四神经网络的验证结果。在另一示例中,每个第四子网络处理的训练样本数量可不同,例如,第一个第四子网络处理了2000个训练样本,第四个第二子网络处理了1000个训练样本
……
在确定平均准确率时,可根据各第四子网络处理的训练样本的数量对各第四子网络的准确率进行加权平均处理,获得多个第四子网络的平均准确率,即,第三神经网络的验证结果。
[0066]
在一种可能的实现方式中,经过上述方式,可获得第一个超参数调节周期的第一集合和第二集合。第一集合包括第一个超参数调节周期中,对第一神经网络sp0的第三子网络进行训练过程中使用的超参数hp1,即,第一集合为{hp1}。第二集合包括第一个超参数调节周期中第三神经网络sp1的验证结果即,第二集合为基于第一集合和第二集合,可确定第二个超参数调节周期的超参数hp2,以及第二个超参数调节周期的第三神经网络sp2。
[0067]
在一种可能的实现方式中,可将第一集合和第二集合作为输入参数,对第一集合和第二集合进行超参数优化处理。在示例中,可通过随机搜索算法、网格搜索算法、模拟退火算法、贝叶斯优化算法等方法进行超参数优化,即,将第一集合和第二集合作为上述算法的输入参数,可在当前结构调节周期的超参数集中,选择出第二个超参数调节周期的超参数hp2。
[0068]
在一种可能的实现方式中,可通过与上述相同的方式对第一神经网络sp0中各网络层级的网络块进行随机采样,获得第三子网络,并通过第二个超参数调节周期的超参数hp2,对第三子网络进行训练,即,基于超参数hp2,通过具有标注信息的训练样本对第三子网络进行训练,在随机采样过程和训练过程迭代多次后,第一神经网络sp0中至少部分网络块的网络参数经过调节,获得第二个超参数调节周期的第三神经网络sp2。
[0069]
在一种可能的实现方式中,可通过与上述相同的方式获得第三神经网络sp2的验证结果例如,可对第三神经网络sp2的各网络层级进行随机采样,分别从各网络层级
中选取一个网络块,组成第四子网络,并通过具有标注信息的训练样本来确定第四子网络的准确率。进一步地,可对多个第四子网络的准确率进行平均或加权平均处理,确定多个第四子网络的平均准确率,即,第三神经网络sp2的验证结果
[0070]
在一种可能的实现方式中,通过上述处理,获得了超参数hp2以及第三神经网络sp2的验证结果在第二个超参数调节周期中,第一集合中可包括第一个超参数调节周期的超参数hp1和第二个超参数调节周期的超参数hp2,即,第一集合为{hp1,hp2}。第二集合中可包括第三神经网络sp1的验证结果以及第三神经网络sp2的验证结果即,第二集合为
[0071]
在一种可能的实现方式中,继续执行上述处理,即,可通过第一集合和第二集合确定第三个超参数调节周期的超参数hp3,并基于超参数hp3对第一神经网络sp0的第三子网络进行训练,获得第三神经网络sp3,进一步地,可确定第三神经网络sp3的验证结果因此,在第三个超参数调节周期中,第一集合为{hp1,hp2,hp3},第二集合为
[0072]
在一种可能的实现方式中,可迭代执行上述处理,即,根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,从所述当前超参数集中确定下一个超参数调节周期的超参数。并基于下一个超参数调节周期的超参数对第一神经网络sp0的第三子网络进行训练,获得下一个超参数调节周期的第三神经网络。进一步地,可对下一个超参数调节周期的第三神经网络进行验证,即,通过随机采样获得第三神经网络的多个第四子网络,并确定多个第四子网络的平均准确率,作为第三神经网络的验证结果。当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果。
[0073]
在一种可能的实现方式中,在经过t个超参数调节周期的迭代(即,将上述处理迭代执行t次,t为正整数),可获得包括t组超参数的第一集合{hp1,hp2,

,hp
t
}以及包括t个验证结果的第二集合还获得了t个超参数调节周期的第三神经网络sp1、sp2…
sp
t

[0074]
在一种可能的实现方式中,可根据最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定第二神经网络和优化后的超参数集。最后一个超参数调节周期即第t个超参数调节周期,第t个超参数调节周期的第一集合、第二集合以及t个超参数调节周期的第三神经网络如上所示。可基于上述第一集合、第二集合和第三神经网络确定第二神经网络和优化后的超参数集。第二神经网络可以是验证结果的准确率最高的第三神经网络,即,多个第三神经网络中性能最好的神经网络,优化后的超参数集为对当前结构调节周期的超参数集进行缩减后(即,去除训练效果较差的超参数后)的超参数集,即,优化后的超参数集中超参数的数量小于当前超参数集中超参数的数量,优化后的超参数集可作为下一个结构调节周期的超参数集。
[0075]
在一种可能的实现方式中,根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络,
包括:根据最后一个超参数调节周期的第二集合,在最后一个超参数调节周期的第一集合中确定目标超参数;将所述目标超参数对应的超参数调节周期的第三神经网络,确定为所述第二神经网络。
[0076]
在一种可能的实现方式中,最后一个超参数调节周期的第二集合,即,第t个超参数调节周期的第二集合为可从该集合中确定出验证结果准确率最高的验证结果,例如,第k(k为小于或等于t的正整数)个超参数调节周期的第三神经网络spk的验证结果准确率最高,因此,可认为第k个超参数调节周期的超参数hpk的训练效果最好。因此,可将第t个超参数调节周期的第一集合{hp1,hp2,

,hp
t
}中的超参数hpk确定为目标超参数hp
*
。并可将验证结果准确率最高的第三神经网络spk确定为第二神经网络sp
*
。目标超参数hp
*
可用于对当前结构调节周期的超参数集进行优化,即,通过缩减掉训练效果较差的超参数,获得优化后的超参数集,即,下一个结构调节周期的超参数集。第二神经网络sp
*
可用于优化后获得下一个结构调节周期的第一神经网络sp0。
[0077]
在一种可能的实现方式中,在超参数是连续变量的情况下,保留以所述目标超参数为中心的预设邻域内的超参数,并去除所述预设邻域之外的超参数。在示例中,超参数可包括优化器种类、学习率、权重衰减系数、配合比等,其中,学习率、权重衰减系数、配合比为连续变量,在缩减的过程中,可保留以目标超参数为中心的预设邻域内的超参数。例如,在当前的超参数集中,学习率的区间为[0.01,0.5],在目标超参数hp
*
中,学习率为0.3,则可以将0.3作为邻域中心,并可预设邻域半径(例如,0.2),因此,预设邻域内的超参数区间为[0.1,0.5],应去除的超参数的区间为[0.01,0.1)。在下一个结构调节周期的超参数集中,学习率的区间为[0.1,0.5]。本公开对邻域中心和邻域半径不做限制。
[0078]
在一种可能的实现方式中,在超参数是离散变量的情况下,可去除第一超参数,其中,所述第一超参数对应的所述第二神经网络的验证结果不符合准确率条件。即,在超参数为离散变量时,可基于第t个超参数调节周期的第二集合来确定去除的第一超参数。在示例中,可在第t个超参数调节周期的第二集合中,确定出准确率最低的一个或多个验证结果,并可将这些验证结果对应的超参数去除。在示例中,优化器种类为离散变量,可包括adam、sgd、momentum三个种类。例如,在第二集合中,确定出准确率最低的t(t为小于t的正整数)个验证结果,并可确定出该t个验证结果对应的第一集合中的t组超参数。进一步地,可统计该t组超参数中,使用最多的超参数,作为训练效果最差的超参数(即,第一超参数),以进行去除。例如,在t个超参数中,momentum为使用最多的超参数,则可认为momentum为训练效果最差的超参数,可进行去除。则在下一个结构调节周期的超参数集中,优化器种类可仅包括adam和sgd。本公开对保留的超参数不做限制。
[0079]
在一种可能的实现方式中,可对当前结构调节周期的第二神经网络sp
*
进行优化,以缩减每个网络层级中网络块的数量,得到下一个结构调节周期的第一神经网络sp0。进一步地,可通过下一个结构调节周期中的多个超参数调节周期对下一个结构调节周期的第一神经网络sp0进行优化(优化过程与当前结构调节周期的多个超参数调节周期的迭代过程一致),得到下一个结构调节周期的第二神经网络sp
*
,经过缩减每个网络层级中网络块的数量的处理后,可获得再下一个结构调节周期中的第一神经网络sp0……
可迭代上述结构
调节周期的优化过程,直到获得符合结构条件的第一神经网络。在示例中,结构条件可包括每个网络层级仅包括一个网络块,本公开对结构条件不做限制。
[0080]
在一种可能的实现方式中,可基于第二神经网络的第一子网络验证结果,缩减第二神经网络的各网络层级的网络块的数量。在步骤s12中,可首先确定第二神经网络中待去除或者待保留的目标网络块。
[0081]
在一种可能的实现方式中,第一子网络为对第二神经网络进行随机采样获得的。对第二神经网络的各网络层级进行随机采样的方式可参照以上获得第三子网络或第四子网络的方式,在此不再赘述。所述多个第一子网络包括确定所述第二集合中的验证结果时获得的第四子网络,以及确定所述第二神经网络后对所述第二神经网络的各个网络层级的多个网络块进行随机采样获得的子网络。在示例中,对第二神经网络可进行了p(p为正整数)次随机采样,获得了p个第一子网络。并且,第二神经网络为验证结果的准确率最高的第三神经网络,在确定第三神经网络的验证结果时,已对第三神经网络进行过多次随机采样,获得了多个第四子网络,例如,获得了m(m为正整数)个第四子网络,因此,可将第二神经网络的m个第四子网络也作为第一子网络,共获得了m+p个第一子网络。
[0082]
在一种可能的实现方式中,可对上述第三子网络进行验证,例如,可通过第三子网络处理具有标注信息的训练样本,并通过处理结果与标注信息进行对比,以确定各第三子网络的准确率,并基于准确率,确定所述目标网络块。步骤s12可包括:根据所述多个第一子网络的验证结果,在所述多个第一子网络中确定第一预设数量的第二子网络;对所述第一预设数量的第二子网络中各网络层级所包括的网络块进行统计,确定所述第一预设数量的第二子网络中的目标网络块,其中,所述目标网络块为第一预设数量的第二子网络的各网络层级的网络块中满足数量要求的网络块。
[0083]
在一种可能的实现方式中,可基于各第三子网络的准确率,确定出不符合准确率要求的第四子网络,例如,可确定出准确率最低或最高的第一预设数量的第一子网络,例如,b(b为小于m+p的正整数)个第一子网络,作为第二子网络。
[0084]
在一种可能的实现方式中,可对多个第四子网络中的网络块进行统计,以确定出每个层级中符合数量要求的目标网络块。例如,b=1000,即,共获得1000个第二子网络,可分别统计1000个第二子网络中每个网络层级的网络块,并确定出符合数量要求的目标网络块。例如,在第a(a为正整数)个网络层级中,使用了第c(c为正整数)个网络块的第二子网络超过了数量阈值(例如,500),则可将该网络层级的第c个网络块确定为目标网络块。或者,可统计每个网络层级中,使用率最高的一个或多个网络块,并将这一个或多个网络块确定为目标网络块。
[0085]
在一种可能的实现方式中,在步骤s13中,如果第二子网络的准确率较低,则可确定上述使用率较高的目标网络块的准确率较低,使用效果较差,因此,可对目标网络块进行优化。步骤s13可包括:在所述第一预设数量的第二子网络为验证结果不符合准确率要求的子网络的情况下,在所述第二神经网络中,去除所述目标网络块,获得所述下一个结构调节周期的第一神经网络。即,如果第二子网络为准确率最低的第一预设数量的子网络,则可去除第二神经网络中的目标网络块,并获得下一个结构调节周期的第一神经网络。下一个结构调节周期的第一神经网络中包括的网络块的数量少于当前结构调节周期的第一神经网络中包括的网络块的数量。
[0086]
在一种可能的实现方式中,如果第二子网络的准确率较高,则可确定上述使用率较高的目标网络块的准确率较高,使用效果较好,因此,可保留目标网络块,并优化其他网络块。步骤s13可包括:在所述第一预设数量的第二子网络为验证结果符合准确率要求的子网络的情况下,在所述第二神经网络中,保留所述目标网络块,并去除其他网络块,获得所述下一个结构调节周期的第一神经网络。即,如果第二子网络为准确率最高的第一预设数量的子网络,则可保留目标网络块,去除其他网络块,并获得下一个结构调节周期的第一神经网络。下一个结构调节周期的第一神经网络中包括的网络块的数量少于当前结构调节周期的第一神经网络中包括的网络块的数量。
[0087]
在一种可能的实现方式中,可基于下一个结构调节周期的超参数集中选择出的超参数,对下一个结构调节周期的第一神经网络进行优化,优化过程可根据如上所述的多个超参数调节周期的处理过程,并获得了下一个结构调节周期的第二神经网络。进一步地,可根据上述方式减少下一个结构调节周期的第二神经网络中的网络块,获得再下一个结构调节周期的第一神经网络
……
可迭代执行上述过程,直到获得符合结构条件的第一神经网络,即,目标神经网络。在示例中,目标神经网络的各网络层级仅包括一个网络块。本公开对目标神经网络的网络结构不做限制。
[0088]
通过这种方式,可通过去除第二神经网络中准确率较低的网络块,来获得下一个结构调节周期的第一神经网络,并可通过迭代处理来获得目标神经网络,可经过多次迭代,在神经网络的各层级中选择出准确率最高的网络块,提高神经网络的准确率,并可精简神经网络的结构。
[0089]
在一种可能的实现方式中,可对目标神经网络进行进一步地训练,以进一步提升目标神经网络的性能。所述方法还包括:通过具有标注信息的训练样本,对所述目标神经网络进行训练,获得训练后的目标神经网络。在示例中,目标神经网络对应的结构调节周期即为使第一神经网络符合结构条件的结构调节周期,例如,使第一神经网络的每个网络层级仅包括一个网络块的结构调节周期(例如,最后一个结构调节周期),在该结构调节周期中,超参数集被缩减至较小的范围,且超参数集中的超参数的训练效果较好,可在该结构调节周期的超参数集中随机选取超参数,并基于选取的超参数,利用多个具有标注信息的训练样本进行训练,以进一步提升目标神经网络的准确率,获得训练后的目标神经网络。
[0090]
在一种可能的实现方式中,训练样本可包括文本样本、音频样本、图像样本、视频样本等样本中的任意一种,本公开对训练样本的类别不做限制。目标神经网络可用于执行文本识别任务、音频处理任务、图像处理任务、视频处理任务中的任意一种。本公开对目标神经网络的用途不做限制。
[0091]
根据本公开的实施例的神经网络结构确定方法,可在每个结构调节周期中,通过多个超参数调节周期来优化第一神经网络,以获得准确率最高的第二神经网络,并可基于目标超参数或第二集合来选择训练效果不佳的超参数进行去除,以缩减超参数集,保留训练效果较好的超参数,在选择超参数的过程中,可使得选择精度更高。进一步地,可在每个结构调节周期中,去除第二神经网络中准确率较低的网络块,来获得下一个结构调节周期的第一神经网络,并经过多次迭代获得目标神经网络,可保留准确率最高的网络块,提高神经网络的准确率,并可优化神经网络的结构。
[0092]
图5示出根据本公开实施例的神经网络结构确定装置的框图,如图5所示,所述装
置包括:优化模块11,用于根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络;第一确定模块12,用于根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,其中,所述第一子网络包括所述第二神经网络的各个网络层级的多个网络块中随机选取网络块;第二确定模块13,用于根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,其中,所述下一个结构调节周期的第一神经网络的各网络层级包括的网络块的数量少于当前结构调节周期的第一神经网络的各网络层级包括的网络块的数量;获得模块14,用于在第一神经网络的网络结构符合结构条件的情况下,获得目标神经网络。
[0093]
在一种可能的实现方式中,所述第一确定模块进一步用于:根据所述多个第一子网络的验证结果,在所述多个第一子网络中确定第一预设数量的第二子网络;对所述第一预设数量的第二子网络中各网络层级所包括的网络块进行统计,确定所述第一预设数量的第二子网络中的目标网络块,其中,所述目标网络块为第一预设数量的第二子网络的各网络层级的网络块中满足数量要求的网络块。
[0094]
在一种可能的实现方式中,所述第一确定模块进一步用于:在所述第一预设数量的第二子网络为验证结果不符合准确率要求的子网络的情况下,在所述第二神经网络中,去除所述目标网络块,获得所述下一个结构调节周期的第一神经网络。
[0095]
在一种可能的实现方式中,所述第二确定模块进一步用于:在所述第一预设数量的第二子网络为验证结果符合准确率要求的子网络的情况下,在所述第二神经网络中,保留所述目标网络块,并去除其他网络块,获得所述下一个结构调节周期的第一神经网络。
[0096]
在一种可能的实现方式中,所述结构调节周期包括多个超参数调节周期,所述优化模块进一步用于:根据第一个超参数调节周期的超参数,对所述第一神经网络的第三子网络进行训练,获得第一个超参数调节周期的第三神经网络,其中,所述第三子网络包括所述第一神经网络的各个网络层级的多个网络块中随机选取网络块,所述第一个超参数调节周期的超参数是在超参数集中选取获得的;根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,在所述当前结构调节周期的超参数集中确定下一个超参数调节周期的超参数,并确定下一个超参数调节周期的第三神经网络,其中,所述当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,所述当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果,所述第三神经网络的验证结果包括对所述第三神经网络的各个网络层级的多个网络块中随机采样获得的多个第四子网络的验证结果;根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络。
[0097]
在一种可能的实现方式中,所述优化模块进一步用于:根据最后一个超参数调节周期的第二集合,在最后一个超参数调节周期的第一集合中确定目标超参数;将所述目标超参数对应的超参数调节周期的第三神经网络,确定为所述第二神经网络。
[0098]
在一种可能的实现方式中,所述多个第一子网络包括确定所述第二集合中的验证结果时获得的第四子网络,以及确定所述第二神经网络后对所述第二神经网络的各个网络层级的多个网络块进行随机采样获得的子网络。
[0099]
在一种可能的实现方式中,所述装置还包括:训练模块,用于通过具有标注信息的
训练样本,对所述目标神经网络进行训练,获得训练后的目标神经网络。
[0100]
在一种可能的实现方式中,所述目标神经网络用于执行图像处理任务、文本识别任务、音频处理任务、视频处理任务中的任意一种。
[0101]
图6是示出根据本公开实施例的一种组合处理装置1200的结构图。如图6中所示,该组合处理装置1200包括计算处理装置1202、接口装置1204、其他处理装置1206和存储装置1208。根据不同的应用场景,计算处理装置中可以包括一个或多个计算装置1210,该计算装置可以配置用于执行本文结合附图2所描述的操作。
[0102]
在不同的实施例中,本公开的计算处理装置可以配置成执行用户指定的操作。在示例性的应用中,该计算处理装置可以实现为单核人工智能处理器或者多核人工智能处理器。类似地,包括在计算处理装置内的一个或多个计算装置可以实现为人工智能处理器核或者人工智能处理器核的部分硬件结构。当多个计算装置实现为人工智能处理器核或人工智能处理器核的部分硬件结构时,就本公开的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。
[0103]
在示例性的操作中,本公开的计算处理装置可以通过接口装置与其他处理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本公开的其他处理装置可以包括中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本公开的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构多核结构。
[0104]
在一个或多个实施例中,该其他处理装置可以作为本公开的计算处理装置(其可以具体化为人工智能例如神经网络运算的相关运算装置)与外部数据和控制的接口,执行包括但不限于数据搬运、对计算装置的开启和/或停止等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协作以共同完成运算任务。
[0105]
在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置(或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他处理装置。
[0106]
附加地或可选地,本公开的组合处理装置还可以包括存储装置。如图中所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
[0107]
在一些实施例里,本公开还公开了一人工智能种芯片(例如图8中示出的芯片1302),其包括了上述神经网络结构确定装置。在一种实现中,该芯片是一种系统级芯片
(system on chip,soc),并且集成有一个或多个组合处理装置。该芯片可以通过对外接口装置(如图8中示出的对外接口装置1306)与其他相关部件相连接。该相关部件可以例如是摄像头、显示器、鼠标、键盘、网卡或wifi接口。在一些应用场景中,该芯片上可以集成有其他处理单元(例如视频编解码器)和/或接口模块(例如dram接口)等。在一些实施例中,本公开还公开了一种芯片封装结构,其包括了上述芯片。在一些实施例里,本公开还公开了一种板卡,其包括上述的芯片封装结构。下面将结合图8对该板卡进行详细地描述。
[0108]
图7是示出根据本公开实施例的一种板卡1300的结构示意图。如图7中所示,该板卡包括用于存储数据的存储器件1304,其包括一个或多个存储单元1310。该存储器件可以通过例如总线等方式与控制器件1308和上文所述的人工智能芯片1302进行连接和数据传输。进一步,该板卡还包括对外接口装置1306,其配置用于芯片(或芯片封装结构中的芯片)与外部设备1312(例如服务器或计算机等)之间的数据中继或转接功能。例如,待处理的数据可以由外部设备通过对外接口装置传递至芯片。又例如,所述芯片的计算结果可以经由所述对外接口装置传送回外部设备。根据不同的应用场景,所述对外接口装置可以具有不同的接口形式,例如其可以采用标准pcie接口等。
[0109]
每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是ddr sdram(英文:double data rate sdram,双倍速率同步动态随机存储器)。
[0110]
ddr不需要提高时钟频率就能加倍提高sdram的速度。ddr允许在时钟脉冲的上升沿和下降沿读出数据。ddr的速度是标准sdram的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个ddr4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位ddr4控制器,上述72位ddr4控制器中64bit用于传输数据,8bit用于ecc校验。可以理解,当每一组所述存储单元中采用ddr4-3200颗粒时,数据传输的理论带宽可达到25600mb/s。
[0111]
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。ddr在一个时钟周期内可以传输两次数据。在所述芯片中设置控制ddr的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
[0112]
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准pcie接口。比如,待处理的数据由服务器通过标准pcie接口传递至所述芯片,实现数据转移。优选的,当采用pcie 3.0x 16接口传输时,理论带宽可达到16000mb/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
[0113]
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行调控。具体的,所述人工智能芯片与所述控制器件可以通过spi接口电连接。所述控制器件可以包括单片机(micro controller unit,mcu)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
[0114]
根据上述结合图7和图8的描述,本领域技术人员可以理解本公开也公开了一种电子设备或装置,其可以包括一个或多个上述板卡、一个或多个上述芯片和/或一个或多个上述组合处理装置。
[0115]
根据不同的应用场景,本公开的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、pc设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。
[0116]
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
[0117]
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
[0118]
电子设备可以被提供为终端、服务器或其它形态的设备。
[0119]
图8示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图8,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
[0120]
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
[0121]
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
[0122]
需要说明的是,为了简明的目的,本公开将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本公开的方案并不受所描述的动作的顺序限制。因此,依据本公开的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本公开所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本公开某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本公开对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本公开某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
[0123]
在具体实现方面,基于本公开的公开和教导,本领域技术人员可以理解本公开所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行划分,而实
际实现时也可以有另外的划分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。
[0124]
在本公开中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本公开实施例所述方案的目的。另外,在一些场景中,本公开实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
[0125]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0126]
本公开的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本公开的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本公开方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
[0127]
依据以下条款可更好地理解前述内容:
[0128]
例如,条款a1,一种神经网络结构确定方法,包括:根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络;根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,其中,所述第一子网络包括所述第二神经网络的各个网络层级的多个网络块中随机选取网络块;根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,其中,所述下一个结构调节周期的第一神经网络的各网络层级包括的网络块的数量少于当前结构调节周期的第一神经网络的各网络层级包括的网络块的数量;在第一神经网络的网络结构符合结构条件的情况下,获得目标神经网络。
[0129]
条款a2,根据条款a1所述的方法,根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,包括:根据所述多个第一子网络的验证结果,在所述多个第一子网络中确定第一预设数量的第二子网络;对所述第一预设数量的第二子网络中各网络层级所包括的网络块进行统计,确定所述第一预设数量的第二子网络中的目标网络块,其中,所述目标网络块为第一预设数量的第二子网络的各网络层级的网络块中满足数量要求的网络块。
[0130]
条款a3,根据条款a2所述的方法,根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,包括:在所述第一预设数量的第二子网
络为验证结果不符合准确率要求的子网络的情况下,在所述第二神经网络中,去除所述目标网络块,获得所述下一个结构调节周期的第一神经网络。
[0131]
条款a4,根据条款a2所述的方法,根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,包括:在所述第一预设数量的第二子网络为验证结果符合准确率要求的子网络的情况下,在所述第二神经网络中,保留所述目标网络块,并去除其他网络块,获得所述下一个结构调节周期的第一神经网络。
[0132]
条款a5,根据条款a1所述的方法,所述结构调节周期包括多个超参数调节周期,其中,根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络,包括:根据第一个超参数调节周期的超参数,对所述第一神经网络的第三子网络进行训练,获得第一个超参数调节周期的第三神经网络,其中,所述第三子网络包括所述第一神经网络的各个网络层级的多个网络块中随机选取网络块,所述第一个超参数调节周期的超参数是在超参数集中选取获得的;根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,在所述当前结构调节周期的超参数集中确定下一个超参数调节周期的超参数,并确定下一个超参数调节周期的第三神经网络,其中,所述当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,所述当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果,所述第三神经网络的验证结果包括对所述第三神经网络的各个网络层级的多个网络块中随机采样获得的多个第四子网络的验证结果;根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络。
[0133]
条款a6,根据条款a5所述的方法,根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络,包括:根据最后一个超参数调节周期的第二集合,在最后一个超参数调节周期的第一集合中确定目标超参数;将所述目标超参数对应的超参数调节周期的第三神经网络,确定为所述第二神经网络。
[0134]
条款a7,根据条款a5所述的方法,所述多个第一子网络包括确定所述第二集合中的验证结果时获得的第四子网络,以及确定所述第二神经网络后对所述第二神经网络的各个网络层级的多个网络块进行随机采样获得的子网络。
[0135]
条款a8,根据条款a1所述的方法,其特征在于,所述方法还包括:通过具有标注信息的训练样本,对所述目标神经网络进行训练,获得训练后的目标神经网络。
[0136]
条款a9,根据条款a1所述的方法,所述目标神经网络用于执行图像处理任务、文本识别任务、音频处理任务、视频处理任务中的任意一种。
[0137]
条款a10、一种神经网络结构确定装置,包括:优化模块,用于根据所述当前结构调节周期的第一神经网络进行优化,获得第二神经网络;第一确定模块,用于根据所述第二神经网络的多个第一子网络的验证结果,确定所述第二神经网络的各网络层级中的目标网络块,其中,所述第一子网络包括所述第二神经网络的各个网络层级的多个网络块中随机选取网络块;第二确定模块,用于根据所述第二神经网络的各网络层级中的目标网络块,确定下一个结构调节周期的第一神经网络,其中,所述下一个结构调节周期的第一神经网络的各网络层级包括的网络块的数量少于当前结构调节周期的第一神经网络的各网络层级包
括的网络块的数量;获得模块,用于在第一神经网络的网络结构符合结构条件的情况下,获得目标神经网络。
[0138]
条款a11,根据条款a10所述的方法,所述第一确定模块进一步用于:根据所述多个第一子网络的验证结果,在所述多个第一子网络中确定第一预设数量的第二子网络;对所述第一预设数量的第二子网络中各网络层级所包括的网络块进行统计,确定所述第一预设数量的第二子网络中的目标网络块,其中,所述目标网络块为第一预设数量的第二子网络的各网络层级的网络块中满足数量要求的网络块。
[0139]
条款a12,根据条款a11所述的方法,所述第一确定模块进一步用于:在所述第一预设数量的第二子网络为验证结果不符合准确率要求的子网络的情况下,在所述第二神经网络中,去除所述目标网络块,获得所述下一个结构调节周期的第一神经网络。
[0140]
条款a13,根据条款a11所述的方法,所述第二确定模块进一步用于:在所述第一预设数量的第二子网络为验证结果符合准确率要求的子网络的情况下,在所述第二神经网络中,保留所述目标网络块,并去除其他网络块,获得所述下一个结构调节周期的第一神经网络。
[0141]
条款a14,根据条款a10所述的方法,所述结构调节周期包括多个超参数调节周期,所述优化模块进一步用于:根据第一个超参数调节周期的超参数,对所述第一神经网络的第三子网络进行训练,获得第一个超参数调节周期的第三神经网络,其中,所述第三子网络包括所述第一神经网络的各个网络层级的多个网络块中随机选取网络块,所述第一个超参数调节周期的超参数是在超参数集中选取获得的;根据当前超参数调节周期的第一集合,以及当前超参数调节周期的第二集合,进行超参数调节处理,在所述当前结构调节周期的超参数集中确定下一个超参数调节周期的超参数,并确定下一个超参数调节周期的第三神经网络,其中,所述当前超参数调节周期的第一集合包括当前超参数调节周期的超参数和历史超参数调节周期的超参数,所述当前超参数调节周期的第二集合包括当前超参数调节周期的第三神经网络的验证结果和历史超参数调节周期的第三神经网络的验证结果,所述第三神经网络的验证结果包括对所述第三神经网络的各个网络层级的多个网络块中随机采样获得的多个第四子网络的验证结果;根据当前结构调节周期中最后一个超参数调节周期的第一集合、第二集合,以及多个超参数调节周期的第三神经网络,确定所述第二神经网络。
[0142]
条款a15,根据条款a14所述的方法,所述优化模块进一步用于:根据最后一个超参数调节周期的第二集合,在最后一个超参数调节周期的第一集合中确定目标超参数;将所述目标超参数对应的超参数调节周期的第三神经网络,确定为所述第二神经网络。
[0143]
条款a16,根据条款a14所述的方法,所述多个第一子网络包括确定所述第二集合中的验证结果时获得的第四子网络,以及确定所述第二神经网络后对所述第二神经网络的各个网络层级的多个网络块进行随机采样获得的子网络。
[0144]
条款a17,根据条款a10所述的方法,所述装置还包括:训练模块,用于通过具有标注信息的训练样本,对所述目标神经网络进行训练,获得训练后的目标神经网络。
[0145]
条款a18,根据条款a10所述的方法,所述目标神经网络用于执行图像处理任务、文本识别任务、音频处理任务、视频处理任务中的任意一种。
[0146]
虽然本文已经示出和描述了本公开的多个实施例,但对于本领域技术人员显而易
见的是,这样的实施例只是以示例的方式来提供。本领域技术人员可以在不偏离本公开思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本公开的过程中,可以采用对本文所描述的本公开实施例的各种替代方案。所附权利要求书旨在限定本公开的保护范围,并因此覆盖这些权利要求范围内的等同或替代方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1