模型超参数取值方法及装置、处理核、设备、芯片和介质与流程

未命名 08-06 阅读:101 评论:0


1.本公开涉及处理器技术领域,特别涉及一种模型超参数取值方法及装置、处理核、设备、芯片和介质。


背景技术:

2.对于神经网络模型,模型超参数(hyperparameter)的配置优劣会影响神经网络模型的性能。在使用神经网络模型进行给定问题的处理时,通常无法预先获知超参数的合适取值。而通过经验或通过反复试验的方法来探寻超参数的合适取值,花费时间长且效率低下。


技术实现要素:

3.本公开提供一种模型超参数取值方法及装置、处理核、设备、芯片和介质。
4.第一方面,本公开提供了一种基于类脑仿真系统的模型超参数取值方法,所述类脑仿真系统包括至少一个簇的众核系统,所述众核系统中的簇包含一个或多个处理核,所述方法包括:通过各簇的处理核从神经网络模型的模型超参数的取值集合中,获取所述模型超参数的至少一个取值批次,每个取值批次包括所述模型超参数的至少两组不同取值;将所述神经网络模型的样本数据广播至各簇的处理核,以使各簇的处理核根据所述样本数据及所述模型超参数的至少一个取值批次,对所述神经网络模型进行类脑仿真运行,得到各簇的所述至少一个取值批次的计算结果;根据各簇的所述至少一个取值批次的计算结果,确定与所述样本数据对应的模型超参数的目标取值。
5.第二方面,本公开提供了一种基于类脑仿真系统的模型超参数取值装置,所述类脑仿真系统是包括至少一个簇的众核系统,所述众核系统中的簇包含一个或多个处理核,所述装置包括:批次确定模块,用于通过各簇的处理核从神经网络模型的模型超参数的取值集合中,获取所述模型超参数的至少一个取值批次,每个取值批次包括所述模型超参数的至少两组不同取值;仿真运行模块,用于将所述神经网络模型的样本数据广播至各簇的处理核,以使各簇的处理核根据所述样本数据及所述模型超参数的至少一个取值批次,对所述神经网络模型进行类脑仿真运行,得到各簇的所述至少一个取值批次的计算结果;参数取值模块,用于根据各簇的所述至少一个取值批次的计算结果,确定与所述样本数据对应的模型超参数的目标取值。
6.第三方面,本公开提供了一种处理核,该处理核用于加载神经网络模型完成深度学习处理,其中,神经网络模型的模型超参数的取值,是根据上述的模型超参数取值方法得到的超参数值。
7.第四方面,本公开提供了一种电子设备,该电子设备包括:多个处理核;以及,片上网络,被配置为交互多个处理核间的数据和外部数据;其中,一个或多个处理核中存储有一个或多个指令,一个或多个指令被一个或多个处理核执行,以使一个或多个处理核能够执行上述的模型超参数取值方法。
8.第五方面,本公开提供了一种类脑计算芯片,所述类脑计算芯片包括众核系统,所述众核系统包括至少一个簇,每个簇包含上述的处理核。
9.第六方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序在被处理核执行时实现上述的模型超参数取值方法。
10.本公开所提供的模型超参数取值方法及装置、处理核、设备、芯片和介质,基于类脑仿真系统中包含一个或多个处理核的簇,可以并行的在进行神经网络模型的超参数进行类脑仿真运行时,对于输入并广播至每个各簇的处理核中对应的超参数实例的样本数据,所经历的是模型超参数的不同取值和相同的计算逻辑,通过该类脑仿真运行,可以得到模型超参数的不同取值分别对应的计算结果,即仿真一次可以得到众核系统中各簇的模型超参数的不同取值分别对应的计算结果,仿真运行过程耗时少且效率高;可以缩短确定模型超参数的目标取值所花费的时长,提高模型超参数的目标取值的获取效率。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
13.图1为本公开实施例提供的模型超参数取值方法的流程图;
14.图2为本公开实施例提供的对神经网络模型进行仿真运行的具体流程示意图;
15.图3为本公开实施例提供的单次类脑仿真运行的具体流程示意图;
16.图4为本公开实施例提供的确定模型超参数的目标取值的具体流程示意图;
17.图5为本公开实施例提供的模型超参数取值方法的流程图;
18.图6为本公开实施例提供的模型超参数取值方法的流程图;
19.图7为本公开实施例提供的模型超参数取值装置的组成框图;
20.图8为本公开实施例提供的仿真运行模块的具体组成框图;
21.图9为本公开实施例提供的参数取值模块的具体组成框图;
22.图10为本公开实施例提供的电子设备的组成框图。
具体实施方式
23.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
24.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
25.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
26.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的
是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
27.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
28.在机器学习领域,神经网络(neural network,nn)是通过模仿生物神经网络的结构进行数据处理的计算系统,神经网络由大量的神经元广泛的相互连接而生成,具有强大的非线性和自适应数据处理能力。对神经网络进行数学建模,以神经元的数学模型来描述神经网络,即得到本公开实施例中的神经网络模型。
29.神经网络模型中通常包括两类参数:模型参数(parameter)和模型超参数(hyperparameter)。
30.其中,模型参数是模型内部的配置变量;通过数据估计或数据学习可以得到模型参数的取值。作为示例,模型参数例如可以包括神经网络中的权重和偏置、支持向量机中的支持向量等。模型超参数(如下实施例可简称为超参数)是模型外部的配置,超参数的取值无法从数据估计或数据学习中得到,而是需要由实践者人工设置。作为示例,模型超参数例如可以包括:神经网络中的学习率(learning rate)、迭代次数(iterations)、隐藏层数目、每层神经元的个数等。
31.在实际应用场景中,模型超参数的配置不会影响计算流程,且共享时间维度信息,例如共享时间步个数和步长。但模型超参数的配置会影响神经网络模型的性能,例如计算资源(内存和运行时间)的使用成本、学习速度、学习到的模型质量、以及在新输入数据上计算得到正确结果的能力。
32.示例性地,超参数配置会影响模型在验证集/测试集的关键度量上的分数的高低,例如:模型在验证集上的分类正确率。
33.对于神经网络模型要解决的特定问题,通常无法预先获知模型超参数的合适取值。因此,模型超参数的取值往往是由实践者使用经验法则来探寻、复制用于其他问题的值,或通过反复试验的方法来获得,但这些方法会花费较长时间且效率低下。
34.本公开实施例提供一种模型超参数取值方法及装置、处理核、设备、芯片和介质,可以快速高效地确定模型超参数的目标取值。为了更好的理解本公开,下面将结合附图,详细描述根据本公开实施例的模型超参数取值方法及装置、处理核、设备、芯片和介质。应注意,这些实施例并不是用来限制本公开的范围。
35.图1为本公开实施例提供的模型超参数取值方法的流程图。
36.参照图1,本公开实施例提供一种基于类脑仿真系统的模型超参数取值方法100,类脑仿真系统包括至少一个簇的众核系统,众核系统中的簇包含一个或多个处理核;在一些实施例中,模型超参数取值方法100可以包括如下步骤。
37.s110,通过各簇的处理核从神经网络模型的模型超参数的取值集合中,获取模型超参数的至少一个取值批次,每个取值批次包括模型超参数的至少两组不同取值。
38.s120,将神经网络模型的样本数据广播至各簇的处理核,以使各簇的处理核根据样本数据及模型超参数的至少一个取值批次,对神经网络模型进行类脑仿真运行,得到各簇的至少一个取值批次的计算结果。
39.s130,根据各簇的至少一个取值批次的计算结果,确定与样本数据对应的模型超参数的目标取值。
40.在本公开实施例中,众核系统中各个簇包括一个或多个处理核,各簇可以通过所包括的处理核,并行地根据神经网络的多个超参数的实例对神经网络进行类脑计算,并且,众核系统可以将输入的样本数据广播至各簇的处理核,也即将样本数据输入进行广播以和各超参数的实例相对应,对于各个簇的类脑仿真运行的计算结果,从而根据该计算结果,确定出与该样本数据对应的模型超参数的目标取值。
41.在本公开实施例的模型超参数取值方法中,处理核在进行神经网络模型的仿真运行时,样本数据所经历的是模型超参数的不同取值和相同的计算逻辑,通过该仿真运行,可以得到模型超参数的不同取值分别对应的计算结果,仿真运行过程耗时少且效率高,缩短了确定模型超参数的目标取值所花费的时长,提高了模型超参数的目标取值的获取效率。
42.在一些实施例中,神经网络模型可以具有较多超参数,通常在通过经验法则、复制用于其他问题的值或反复试验等方法确定超参数取值时,需要通过逐个尝试模型超参数的不同取值并仿真多次来探寻超参数的合适取值,导致模型超参数的取值确定过程花费时间长且效率低下;根据本公开实施例的模型超参数取值方法,在神经网络模型的超参数较多时,可以快速、高效确定出较优的超参数。
43.在本公开实施例中,神经网络可以包括人工神经网络(artificial neural network,ann)和脉冲神经网络(spiking neural networks,snn)等。
44.在本公开实施例中,神经网络可以通过深度学习(deep learning,dl)或类脑计算(neuromorphic computing)等方式进行信息处理。
45.深度学习是机器学习的一种,深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习的目的在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来处理数据,例如对图像,声音和文本进行处理,以进行目标识别、语义分割、强化学习等。
46.类脑计算是利用神经形态计算来模拟大脑处理信息的过程。类脑计算通常可以基于脉冲神经网络进行模型计算,脉冲神经网络的神经元之间以脉冲的方式传输数据。脉冲神经网络的内部信息传递由脉冲序列来完成,神经元输出的是一个个电脉冲信号,电脉冲信号经过加权成为不同强度的电流信号。
47.示例性地,本公开实施例中的神经网络模型可以采用如下神经元模型中的任一种:线性积分放电(leaky integrate-and-fire,lif)模型、hodgkin-huxley模型(简称hh模型)、fitzhugh-nagumo模型(简称fhn模型)。
48.在本公开实施例中,基于类脑仿真系统的模型超参数取值方法可以应用于众核处理器或者采用众核系统架构的电路;例如,众核处理器可以是神经形态芯片。神经形态芯片可以模拟人类大脑的工作机理。在一些实施例中,神经形态芯片可以包括多个处理核,每个处理核可以用于执行不同的计算任务(例如,神经网络的计算任务),同一个计算任务也可以分配到不同的处理核中去执行;每个处理核内部可以模拟预定数量的生物学意义的神经
元,以使神经形态芯片通过模拟的神经元来执行不同的计算任务。在一些实施例中,神经形态芯片既可以进行人工神经网络计算,也可以进行脉冲神经网络计算。
49.应理解,无论是深度学习还是类脑计算,其底层使用的计算模型均为神经网络模型,神经网络模型基于神经脉冲的频率进行编码。本公开实施例中的神经网络模型包括但不限于上述神经元模型。在实际应用场景中,本公开实施例的模型超参数取值方法中涉及的神经网络模型可以根据实际情况来选取,本公开实施例对神经网络的具体类型不做具体限定。
50.在上述步骤s110和步骤s120中,各簇中的处理核可以通过如下多种方式获取模型超参数的取值集合和神经网络模型的样本数据。
51.在一些实施例中,可以预先将模型超参数的取值集合和神经网络的样本集合输入处理核,以使处理核在执行模型超参数取值方法时,可以直接获取该取值集合,以及从样本集合中获取任一样本数据。
52.在一些实施例中,处理核可以从接收到的计算指令中获取模型超参数的取值集合和神经网络模型的样本数据。
53.作为一个示例,该计算指令中可以包括模型超参数的取值集合和神经网络模型的样本集合,样本集合中包括神经网络模型的一个或多个样本数据。处理核在执行模型超参数取值方法的情况下,从样本集合中获取任一样本数据。
54.作为另一示例,众核系统中各簇中的处理核首次执行模型超参数取值方法的情况下,接收到的计算指令中包括模型超参数的取值集合和神经网络模型的一个样本数据。处理核再次执行模型超参数取值方法的情况下,接收到的新的计算指令中可以只包括神经网络模型的其他样本数据。
55.在本公开实施例中,众核系统中各簇的处理核可以灵活选择神经网络模型的模型超参数的取值集合和神经网络模型的样本数据的信息获取方式,本公开实施例不做具体限定。
56.在一些实施例中,步骤s110中的神经网络模型的模型超参数可以是单个超参数或超参数组合;且至少一个模型超参数的取值数量大于1。
57.作为示例,神经网络模型的模型超参数为单个超参数a,超参数a的取值集合中包括如下取值{a1、a2、
……
、an},n为大于1的整数。根据超参数a的取值集合,可以确定超参数a的n组不同取值:第一组取值为a1,第二组取值为a2,
……
,第n组取值an。
58.作为示例,模型超参数可以是超参数组合例如:超参数a、超参数b和超参数c;超参数组合的取值集合包括如下取值:超参数a{a1、a2},超参数b{b1、b2},超参数c{c1、c2}。根据超参数组合的取值集合,确定出模型超参数的不同取值组合包括:第一组取值为a1、b1和c1,第二组取值为a1、b1和c2,第三组取值为a1、b2和c1,第四组取值为a1、b2和c2,第五组取值为a2、b1和c1,第六组取值为a2、b1和c2,第七组取值为a2、b2和c1,第八组取值为a2、b2和c2。
59.在一些实施例中,若众核系统中各簇的处理核的计算能力足够和/或取值集合的取值组合数量较少,则模型超参数的一个取值批次,可以包括神经网络模型的各模型超参数的全部取值组合;若处理核的计算能力不足和/或取值集合的取值组合数量较多,则模型超参数的一个取值批次,可以包括神经网络模型的各模型超参数的部分取值组合,也即,将
全部取值组合划分为多个取值批次。
60.通过上述实施例的描述可知,神经网络模型的模型超参数不限于是单个超参数或超参数组合,且模型超参数的不同取值的总组数等于各超参数的取值数量的乘积,因此,在神经网络模型的超参数的数量较多时,更可以体现出本公开实施例的模型超参数取值方法的优势,可以快速且高效地得到神经网络模型的模型超参数的目标取值,提高处理效率。
61.在一些实施例中,在模型超参数为超参数组合的情况下,超参数组合中包括共享的超参数,且共享的超参数的取值集合中的元素数量为1。
62.在该实施例中,考虑到实际应用场景中,超参数组合中可以有一个或多个超参数的取值是各不同参数取值组合共享的,共享的超参数的取值集合中可以只定义一个超参数取值即可,以减少数据冗余和节约数据存储空间。
63.图2示出本公开实施例中对神经网络模型进行仿真运行的具体流程示意图。如图2所示,在一些实施例中,步骤s120具体可以包括:s21,针对模型超参数的任一取值批次,使用神经网络模型,对取值批次的各组取值和样本数据进行单次类脑仿真运行,得到各簇的与取值批次的各组取值分别对应的计算结果。
64.在本公开实施例中,通过众核系统中各簇的处理核对神经网络模型的一次类脑仿真运行,即可得到各簇输出的当前取值批次中模型超参数的各组不同取值分别对应的计算结果。相比通常情况下,神经网络模型的一次仿真仅可以得到一个超参数组合对应的计算结果,本公开的模型仿真运行缩短了模型仿真运行的总耗时,从而提高了模型超参数的目标取值的获取效率。
65.图3示出本公开实施例中单次类脑仿真运行的具体流程示意图。如图3所示,上述步骤s21中,使用神经网络模型,对取值批次的各组取值和样本数据进行单次类脑仿真运行,得到各簇的与取值批次的各组取值分别对应的计算结果的步骤,具体可以包括如下子步骤。
66.s31,通过图编程模型对取值批次的各组取值进行编译,得到取值批次的计算图。
67.在本公开实施例中,图编程模型用于通过神经网络编程来确定需要由并行计算架构来执行的内容即计算图;通过神经网络编程,计算机的一切行为由神经网络结构和知识参数决定,训练获得的知识通过数据的形式存储,并被特定硬件使用;通过图编程模型得到的计算图(computational graphs)也叫数据流图。计算图可以是一种有向图,图中的节点表示操作,图中的边代表在不同操作之间的数据流动。通过取值批次的计算图,可以实现模型仿真运行时对当前取值批次中的模型超参数的各组取值的并行计算,从而提高数据处理过程的计算能力,节约资源,降低耗电量。
68.s32,根据取值批次的取值组数,对样本数据进行复制,得到取值组数的样本数据。
69.在本公开实施例中,根据取值批次的取值组数对样本数据进行复制,可以实现对样本数据的扩维,以使模型超参数的每组不同取值均可以和一份样本数据相对应,且针对当前批次,各组不同取值对应的样本数据相同。
70.s33,使用神经网络模型,对计算图和取值组数的样本数据进行单次类脑仿真运行,得到各簇的与取值批次的各组取值分别对应的计算结果。
71.通过上述步骤s31-s33,通过图编程模型的编译对模型超参数的各组取值进行编译,并根据取值批次的取值组数来复制样本数据,以对样本数据进行扩围,然后通过神经网
络模型,对编译后得到的计算图和模型超参数的各组不同取值分别对应的相同的样本数据进行单次类脑仿真运行,即可得到各簇的该取值批次中的各组取值分别对应的计算结果,整个模型仿真运行过程耗时短,效率高,从而可以实现高效确定出神经网络模型的超参数的目标取值。
72.图4示出本公开实施例中确定模型超参数的目标取值的具体流程示意图。如图4所示,在一些实施例中,上述步骤s130具体可以包括如下子步骤。
73.s41,根据各簇的计算结果,确定各簇中模型超参数的各组取值对于样本数据的模型效果评估指标。
74.在一些实施例中,模型效果评估指标包括但不限于如下指标项的至少一项:准确率、精确率、召回率、平衡f分数(balanced f score,f1-score)、接收操作特征(receiver operating characteristic,roc)曲线下的面积(area under the curve,auc)、提升(lift)、增益(gain)、模型风险区分能力指标(k-s)和模型稳定度指标(psi)。
75.需要说明的是,不同类型的神经网络模型,所使用的模型效果评估指标可以不同。在实际应用中,可以根据实际需要选取模型效果评估指标的数量和类型。
76.s42,将处理指标最优的模型超参数的取值,作为模型超参数的目标取值。
77.通过上述步骤s41和s42,在当前神经网络模型的样本数据下,通过单次类脑仿真运行的计算结果进行模型效果评估,并将各簇中模型效果评估指标最优的一组模型超参数的取值,作为当前神经网络模型的样本数据下的模型超参数的目标取值。相比通过经验或通过反复试验的方法来探寻超参数的合适取值,本公开实施例可以快速高效地得到模型超参数的目标取值。
78.图5示出本公开实施例的模型超参数取值方法的流程图。图5与图1中相同或等同的步骤使用相同的标号。如图5所示,模型超参数取值方法500基本相同于模型超参数取值方法100,不同之处在于,模型超参数取值方法500还包括如下步骤。
79.s140,确定各簇的与样本数据集合中的多个样本数据分别对应的模型超参数的目标取值。
80.s150,从各簇的与多个样本数据分别对应的目标取值中,确定出模型超参数的最终取值。
81.本公开实施例的模型超参数取值方法,针对样本数据集合中的每个样本数据,均可以通过众核系统中各簇的处理核的单次类脑仿真运行,得到模型超参数在至少一个取值批次中的不同取值分别对应的计算结果,通过上述步骤s140和s150,可以从各簇的运行输出结果中筛选得到与样本数据集合中的多个样本数据分别对应的模型超参数的目标取值,从而可以从多个目标取值中,选取模型超参数的最终取值。在该模型超参数的最终取值的确定过程中,所参照的数据包括模型超参数的各组不同取值和样本数据集合中多个样本数据,得到的模型超参数的最终取值有利于神经网络模型处理样本数据集合时,得到更好的效果。
82.在本公开实施例中,多种类型的神经网络模型均适用于本公开实施例的模型超参数取值方法。例如,针对lif模型、hh模型或fhn模型,均可以使用本公开实施例的模型超参数取值方法来确定模型超参数取值。为了简化描述起见,本文下述的多个实施例以lif模型为例来阐述该模型超参数取值方法的实现方式。但该描述并不能被解读为限制本方案的范
围或实施可能性,lif模型以外的其他神经网络模型的处理方法与对lif模型的处理方法保持一致。
83.下面结合图6和lif模型的运算逻辑,描述本公开示例性实施例的模型超参数取值方法的具体流程。图6示出本公开实施例的模型超参数取值方法的流程图。
84.在一些实施例中,lif模型所执行的运算逻辑可以表示为如下表达式(1)。
[0085][0086]
在上述表达式(1)中,f表示发放的脉冲信号,v表示膜电位,f=(v≥v
th
)?1:0表示在膜电位v大于或等于预设的发放门限v
th
(即膜电位阈值)的情况下,该神经元节点发放脉冲信号f;v
upd
表示膜电势,v
reset
表示复位电压(也称复位电位),v
upd
=(f)
×vreset
+(1-f)
×
v表示在发放脉冲信号f的同时重置膜电势v
upd

[0087]
通过表达式(1)可知,lif模型具有发放门限v
th
,复位电压vreset等超参数。其中,v的样本维度为[1,d],其中d为神经元个数。当进行超参数的取值探索时,超参数v
reset
的取值集合为{-65mv,-60mv},超参数v
th
的取值集合为{10mv,20mv}。
[0088]
如图6所示,在一些实施例中,模型超参数取值方法包括如下步骤。
[0089]
s61,根据神经网络模型的各模型超参数的取值集合,确定模型超参数的至少一个取值批次,每个取值批次包括模型超参数的至少两组不同取值。
[0090]
在该步骤中,各模型超参数的取值集合,用于表征各模型超参数的取值遍历范围。从取值遍历范围内获取模型超参数的取值,可以称为是模型超参数的取值探索。
[0091]
作为示例,在进行超参数取值探索时,可以根据获取的各模型超参数的取值集合确定超参数的探索空间。下面通过表1,根据lif模型的超参数v
reset
和v
th
确定的探索空间,探索空间用于指示模型超参数的至少两组不同取值。
[0092]
表1模型超参数的各组取值
[0093]
每组取值序号复位电压vreset发放门限v
th
0-65mv10mv1-60mv10mv2-65mv20mv3-60mv20mv
[0094]
在一些实施例中,可以根据处理核的处理能力和模型超参数的取值总组数,确定模型超参数的至少一个取值批次。
[0095]
作为示例,处理核根据自身处理能力,将上述表1示出的模型超参数的各组取值,确定模型超参数的共1个取值批次。
[0096]
s62,根据该取值批次的取值组数确定批次大小。
[0097]
在一些实施例中,若取值批次中模型超参数的各组取值,存储为数据表形式,则可以根据取值批次中各组取值对应的数据表的长度,来确定取值批次的批次大小(batch size),也即,取值批次的取值组数。
[0098]
s63,通过图编程模型对该取值批次的各组取值进行编译,得到该取值批次的计算图。
[0099]
在该步骤中,该取值批次的计算图中包含相应的模型超参数取值阵列。
[0100]
s64,按照批次大小对输入的神经网络模型的样本数据进行复制,得到该批次大小的样本数据。
[0101]
在该步骤中,根据取值批次的取值组数对样本数据进行复制,扩大了样本数据的维度,以用于后续处理核使用神经网络模型对扩围后的样本数据进行并行运算。
[0102]
通过上述步骤s61-s64,可以得到神经网络模型进行仿真运行所需的模型超参数的取值批次,以及取值批次中的各组取值分别对应的相同的样本数据,以用于后续神经网络模型对编译后的取值批次的计算图和样本数据进行并行运算。
[0103]
在本公开实施例中,在上述步骤s61,在根据神经网络模型的各模型超参数的取值集合,确定模型超参数的至少两组不同取值之后,神经网络模型的各模型超参数的数据维度得到扩大;在上述步骤s64,样本数据的数据维度,基于取值批次的取值组数得到扩大。处理核在使用神经网络模型进行并行运算时,根据取值批次的取值组数,对神经网络模型中的各变量的数据维度进行扩维。
[0104]
作为示例,在进行lif模型的仿真运行时,各变量和超参数的数据维度为:膜电位v∈[4,d],发放的脉冲信号f∈[4,d],膜电势v
upd
∈[4,d],复位电压vreset∈[4,1]=[-65mv,-60mv,-65mv,-60mv],发放门限v
th
∈[4,1]=[10mv,10mv,20mv,20mv],其中,d为神经元个数。
[0105]
s65,使用神经网络模型,对计算图和该批次大小的样本数据进行仿真运行,得到针对该样本数据的模型超参数的每组不同取值分别对应的计算结果。
[0106]
s66,根据计算结果确定模型效果评估指标,并将模型效果评估指标最优的模型超参数的取值,作为针对该样本数据的模型超参数的目标取值。
[0107]
通过上述步骤s61-s66,通过众核系统中各簇的一个或多个处理核,将神经网络模型的各个超参数的尝试取值合并为一个批次数据,将该批次数据中各个超参数的每组取值一起通过图编程模型编译,并根据编译得到的计算图和取值组数的样本数据进行神经网络模型的仿真运行,通过神经网络模型的单次类脑仿真运行,可以得到在该样本数据下,模型超参数的每组不同取值分别对应的计算结果,从而根据计算结果,得到与样本数据对应的模型超参数的目标取值。
[0108]
根据本公开实施例的模型超参数取值方法,通过众核系统中各簇并行对神经网络模型进行单次类脑仿真运行,即可针对输入的一个样本数据和各模型超参数的取值集合,得到模型超参数的不同取值分别对应的计算结果,仿真运行过程耗时少且效率高;从而提高模型超参数的目标取值的获取效率。
[0109]
图7示出本公开实施例提供的模型超参数取值装置的组成框图。
[0110]
参照图7,本公开实施例提供了基于类脑仿真系统的模型超参数取值装置700,类脑仿真系统是包括至少一个簇的众核系统,众核系统中的簇包含一个或多个处理核;该模型超参数取值装置700包括如下模块。
[0111]
批次确定模块710,用于通过各簇的处理核从神经网络模型的模型超参数的取值集合中,获取模型超参数的至少一个取值批次,每个取值批次包括模型超参数的至少两组不同取值;
[0112]
仿真运行模块720,用于将神经网络模型的样本数据广播至各簇的处理核,以使各
簇的处理核根据样本数据及模型超参数的至少一个取值批次,对神经网络模型进行类脑仿真运行,得到各簇的至少一个取值批次的计算结果。
[0113]
参数取值模块730,用于根据各簇的至少一个取值批次的计算结果,确定与样本数据对应的模型超参数的目标取值。
[0114]
在一些实施例中,仿真运行模块720,具体用于针对模型超参数的任一取值批次,使用神经网络模型,对取值批次的各组取值和样本数据进行单次类脑仿真运行,得到各簇的与取值批次的各组取值分别对应的计算结果。
[0115]
图8示出本公开实施例的仿真运行模块的具体组成框图。如图8所示,在一些实施例中,仿真运行模块720包括:图编程单元801,用于通过图编程模型对取值批次的各组取值进行编译,得到取值批次的计算图;数据复制单元802,用于根据取值批次的取值组数,对样本数据进行复制,得到取值组数的样本数据;仿真运行模块720,具体用于使用神经网络模型,对计算图和取值组数的样本数据进行单次类脑仿真运行,得到各簇的与取值批次的各组取值分别对应的计算结果。
[0116]
图9示出本公开实施例的参数取值模块的具体组成框图。如图9所示,在一些实施例中,参数取值模块730包括:评估单元901,用于根据各簇的计算结果,确定各簇中模型超参数的各组取值对于样本数据的模型效果评估指标;取值单元902,具体用于将模型效果评估指标最优的模型超参数的取值,作为模型超参数的目标取值。
[0117]
在一些实施例中,样本数据为神经网络模型的样本数据集合中的任一个样本数据;参数取值模块730,还用于确定与样本数据集合中的多个样本数据分别对应的模型超参数的目标取值;并从与多个样本数据分别对应的目标取值中,确定出模型超参数的最终取值。
[0118]
在一些实施例中,模型超参数为单个超参数或超参数组合;至少一个模型超参数的取值数量大于1。
[0119]
在一些实施例中,在模型超参数为超参数组合的情况下,超参数组合中包括共享的超参数,且共享的超参数的取值集合中的元素数量为1。
[0120]
根据本公开实施例的模型超参数取值装置,处理核在进行神经网络模型的仿真运行时,样本数据所经历的是模型超参数的不同取值和相同的计算逻辑,通过该仿真运行,可以一次得到模型超参数的不同取值分别对应的计算结果,即仿真一次可以得到模型超参数的不同取值分别对应的计算结果,仿真运行过程耗时少且效率高;进而可以缩短确定模型超参数的目标取值所花费的时长,提高模型超参数的目标取值的获取效率。
[0121]
图10示出本公开实施例的一种电子设备的组成框图。
[0122]
参照图10,本公开实施例提供了一种电子设备,该电子设备包括多个处理核1001以及片上网络1002,其中,多个处理核1001均与片上网络1002连接,片上网络1002用于交互多个处理核间的数据和外部数据。
[0123]
其中,一个或多个处理核1001中存储有一个或多个指令,一个或多个指令被一个或多个处理核1001执行,以使一个或多个处理核1001能够执行上述的模型超参数取值方法。
[0124]
在一些实施例中,该电子设备可以是类脑芯片,由于类脑芯片可以采用向量化计算方式,且需要通过外部内存例如双倍速率(double data rate,ddr)同步动态随机存储器
调入神经网络模型的权重信息等参数。因此,本公开实施例采用批处理的运算效率较高。
[0125]
本公开实施例还提供了一种处理核,处理核用于加载神经网络模型完成深度学习处理,其中,神经网络模型的模型超参数的取值,是根据上述的模型超参数取值方法得到的超参数值。
[0126]
本公开实施例还提供了一种类脑计算芯片,类脑计算芯片包括众核系统,众核系统包括至少一个簇,每个簇包含上述实施例描述的一个或多个处理核。
[0127]
此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序在被处理核执行时实现上述的模型超参数取值方法。
[0128]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0129]
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

技术特征:
1.一种基于类脑仿真系统的模型超参数取值方法,其特征在于,所述类脑仿真系统包括至少一个簇的众核系统,所述众核系统中的簇包含一个或多个处理核,所述方法包括:通过各簇的处理核从神经网络模型的模型超参数的取值集合中,获取所述模型超参数的至少一个取值批次,每个取值批次包括所述模型超参数的至少两组不同取值;将所述神经网络模型的样本数据广播至各簇的处理核,以使各簇的处理核根据所述样本数据及所述模型超参数的至少一个取值批次,对所述神经网络模型进行类脑仿真运行,得到各簇的所述至少一个取值批次的计算结果;根据各簇的所述至少一个取值批次的计算结果,确定与所述样本数据对应的模型超参数的目标取值。2.根据权利要求1所述的方法,其中,所述根据所述神经网络模型的样本数据及所述模型超参数的至少一个取值批次,对所述神经网络模型进行类脑仿真运行,得到各簇的所述至少一个取值批次的计算结果,包括:针对所述模型超参数的任一取值批次,使用所述神经网络模型,对所述取值批次的各组取值和所述样本数据进行单次类脑仿真运行,得到各簇的与所述取值批次的各组取值分别对应的计算结果。3.根据权利要求2所述的方法,其中,所述使用所述神经网络模型,对所述取值批次的各组取值和所述样本数据进行单次类脑仿真运行,得到各簇的与所述取值批次的各组取值分别对应的计算结果,包括:通过图编程模型对所述取值批次的各组取值进行编译,得到所述取值批次的计算图;根据所述取值批次的取值组数,对所述样本数据进行复制,得到所述取值组数的样本数据;使用所述神经网络模型,对所述计算图和所述取值组数的样本数据进行单次类脑仿真运行,得到各簇的与所述取值批次的各组取值分别对应的计算结果。4.根据权利要求1所述的方法,其中,所述根据各簇的所述至少一个取值批次的计算结果,确定与所述样本数据对应的模型超参数的目标取值,包括:根据各簇的所述计算结果,确定各簇中所述模型超参数的各组取值对于所述样本数据的模型效果评估指标;将模型效果评估指标最优的模型超参数的取值,作为所述模型超参数的目标取值。5.根据权利要求1所述的方法,其中,所述样本数据为所述神经网络模型的样本数据集合中的任一个样本数据;所述方法还包括:确定与所述样本数据集合中的多个样本数据分别对应的模型超参数的目标取值;从与所述多个样本数据分别对应的目标取值中,确定出所述模型超参数的最终取值。6.根据权利要求1-5中任一项所述的方法,其中,所述模型超参数为单个超参数或超参数组合;至少一个所述模型超参数的取值数量大于1。7.根据权利要求6中任一项所述的方法,其中,在所述模型超参数为超参数组合的情况下,所述超参数组合中包括共享的超参数,且所述共享的超参数的取值集合中的元素数量为1。8.一种基于类脑仿真系统的模型超参数取值装置,其特征在于,所述类脑仿真系统是
包括至少一个簇的众核系统,所述众核系统中的簇包含一个或多个处理核,所述装置包括:批次确定模块,用于通过各簇的处理核从神经网络模型的模型超参数的取值集合中,获取所述模型超参数的至少一个取值批次,每个取值批次包括所述模型超参数的至少两组不同取值;仿真运行模块,用于将所述神经网络模型的样本数据广播至各簇的处理核,以使各簇的处理核根据所述样本数据及所述模型超参数的至少一个取值批次,对所述神经网络模型进行类脑仿真运行,得到各簇的所述至少一个取值批次的计算结果;参数取值模块,用于根据各簇的所述至少一个取值批次的计算结果,确定与所述样本数据对应的模型超参数的目标取值。9.一种处理核,所述处理核用于加载神经网络模型完成深度学习处理,其中,所述神经网络模型的模型超参数的取值,是根据权利要求1-7中任一项所述的模型超参数取值方法得到的超参数值。10.一种类脑计算芯片,所述类脑计算芯片包括众核系统,所述众核系统包括至少一个簇,每个簇包含一个或多个权利要求9所述的处理核。11.一种电子设备,包括:多个处理核;以及片上网络,被配置为交互所述多个处理核间的数据和外部数据;一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行权利要求1-7中任一项所述的模型超参数取值方法。12.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现如权利要求1-7中任一项所述的模型超参数取值方法。

技术总结
本公开提供了一种基于类脑仿真系统的模型超参数取值方法,类脑仿真系统包括至少一个簇的众核系统,众核系统中的簇包含一个或多个处理核,该方法包括:通过各簇的处理核从神经网络模型的模型超参数的取值集合中获取模型超参数的至少一个取值批次;将神经网络模型的样本数据广播至各簇处理核,以使各簇处理核根据样本数据及模型超参数的至少一个取值批次,对神经网络模型进行类脑仿真运行,得到各簇的至少一个取值批次的计算结果;根据各簇的至少一个取值批次的计算结果,确定与样本数据对应的模型超参数的目标取值。本公开还提供了一种模型超参数取值装置、处理核、设备、芯片和介质。根据本公开的方案可以快速高效确定出模型超参数的目标取值。超参数的目标取值。超参数的目标取值。


技术研发人员:吴臻志 祝夭龙
受保护的技术使用者:北京灵汐科技有限公司
技术研发日:2022.01.21
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐