一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于AI芯片设计的神经网络模型训练方法及图形分类方法

2022-06-05 03:48:07 来源:中国专利 TAG:

用于ai芯片设计的神经网络模型训练方法及图形分类方法
技术领域
1.本发明涉及神经网络领域,更具体的讲是一种用于ai芯片设计的神经网络模型训练方法。


背景技术:

2.一方面,近些年尖峰神经网络(snns)是一种被作为第三代神经网络提出的人工神经网络,已被成功应用于各种应用。具体的说,snns主要通过以下两点来模仿人脑这种复杂的综合时空系统,一是通过仅将神经元连接到附近的神经元来考虑空间,及通过将信息编码为脉冲串的方式来考虑时间,使其具有单独处理输入块(类似于cnn使用过滤器)、避免在二进制编码中丢失信息及减少额外复杂性的优点。二是神经元的信息编码方式是,将输入累积膜电压直至其到达具体阈值才进行脉冲发射,完成事件驱动计算。虽然已有很多理论研究表明snns应该比传统人工神经网络更强大,但因为snns的不可导的特性及神经元复杂的动态性使得使用基于梯度下降的训练方法来进行误差的反向传播变得困难。于是,snns本可以与传统人工神经网络有相同的应用,却因为其缺乏有效的训练机制和硬件要求过高的特性,使其在准确性方面略逊于传统ann。
3.另一方面,chip-firing game最初作为一个游戏而被提出后经过了一系列学者的研究和规则的修改,使其拥有了理论基础和实际应用背景,特别是在组合数学和物理方面。chip-firing game,规定了一个基于图的chip传递规则,可通过每个节点只给自己的出度点传递chip的方式来考虑空间及将信息输入至图所引发转移chip的个数作为信息编码的方式来考虑时间。另外,在chip-firing game中图的每个点不是每次都会转移chip,而是只在自身拥有的chip数达到阈值(出度边的个数)时才被会被激励去转移信息。可见chip-firing game与snns有相似的性质,但目前没有尝试在神经网络方面的应用。


技术实现要素:

4.本发明提供一种用于ai芯片设计的神经网络模型训练方法,目的在于解决现有技术中存在的上述问题。
5.本发明采用如下技术方案:
6.一种用于ai芯片设计的神经网络模型训练方法,包括以下步骤:
7.(1)构建基于chip-firing的储备池层;
8.(2)使用基于chip-firing的储备池层,并针对相应的任务,增加相应的输入处理层、输出处理层,构建满足需求的神经网络模型;
9.(3)针对相应的任务,准备训练数据;
10.(4)用训练数据,训练神经网络模型的输出处理层。
11.进一步,所述步骤(1)具体包括以下子步骤:
12.(1.1)基于chip-firing的规则构建图结构;
13.(1.2)基于所述图结构,设计储备池层,该储备池层节点包括若干输入节点,若干
输出节点和sink节点;从这些输入节点输入储备池层的数据,经过chip-firing的规则被非线性处理后从这些输出节点输出,完成信息编码,具体计算方式为使用每轮输出节点转移的chip数作为对于输出节点输入的信息编码,若本轮某输出节点拥有的chip数小于其出度边数,编码中的值即为0;sink节点则用于接收网络中已经作用过的chips,以确保储备池层中的chip数不会不断累加。
14.进一步,所述步骤(1.1)的图结构为任意有向图,其中包括有向无环图。
15.作为一种具体实施方式:所述步骤(1.1)的图结构为有向无环图,具体是:由三种从前至后分层排列的节点层组成,分别是输入节点层,至少一中间节点层和输出节点层,输入节点层包含若干所述输入节点;输出节点层包含若干所述输出节点和一sink节点;数据在储备池层的网络中从输入节点层向输出节点层单向传播,且各节点层间没有反馈。
16.具体地,所述步骤(2)中,所述相应的任务为图像分类,以输入处理层、所述储备池层、线性输出处理层构建图像分类处理的神经网络模型。
17.具体地,所述步骤(3)具体是:将已有的图像数据集整理成x矩阵的形式作为图像输入信息,矩阵中每个元素为图像中每个点的像素值;以y矩阵作为标识图像类别的标签,矩阵中每个元素为对应x矩阵的每张图像的具体类别标识,输入至构建的神经网络模型中进行训练。
18.更具体地,所述x矩阵的矩阵参数包括图像数量、图像通道数、图像长度和图像宽度;所述y矩阵的矩阵参数包括图像数量和和图像类别。
19.更具体地,在基于chip-firing的储备池层中,仅进行整数计算。
20.一种图像分类方法,包括以下步骤:
21.(一)采用上述训练方法中所述步骤(3)的方式对原始图像进行预处理,得到图像数据;
22.(二)将图像数据输入至使用上述训练方法得到的神经网络模型中;
23.(三)由神经网络模型得到并输出图像分类的预测结果。
24.由上述对本发明结构的描述可知,本发明具有如下优点:
25.其一、本发明的储备池层设计并使用了基于chip-firing的图结构为任意有向图,包涵有向无环图,并利用chip-firing通过每个节点只给自己的出度点传递chip的方式来考虑空间及将信息输入至图所引发转移chip的个数作为信息编码的方式来考虑时间的方式,使得基于chip-firing的图结构拥有和脉冲神经网络一样的类脑能力,更加接近自然神经元。
26.其二、本发明使用基于chip-firing的储备池层代替传统储备池层,并以此构建神经网络模型,通过仅训练输出处理层参数的方式大大减轻脉冲神经网络的训练困难,并为神经网络模型提供非线性拟合能力。
27.其三、本发明的基于chip-firing的图结构中,每个节点可以并行参与计算,可更利于将其用在小终端及ai芯片中。并且,在该基于chip-firing的储备池层中,仅进行整数计算,可大大降低浮点数计算带来的计算成本。
附图说明
28.图1为本发明实施例一中,第一图结构的示意图。
29.图2为本发明实施例一中,神经网络模型的层结构示意图。
30.图3为本发明实施例二中,第二图结构的示意图。
31.图4为本发明实施例二中,神经网络模型的层结构示意图。
具体实施方式
32.下面参照附图说明本发明的具体实施方式。
33.实施例一
34.一种用于ai芯片设计的神经网络模型训练方法,包括以下步骤:
35.(1)构建基于chip-firing的第一储备池层,具体地包括以下子步骤:
36.(1.1)基于chip-firing的规则构建任意有向图的第一图结构。
37.如图1所示,该第一图结构是一个共11个节点的图结构,其中有6个输入节点,10个输出节点和1个sink节点。当然,输入节点的数量可根据需要进行增减,并不局限于6个;输出节点的数量也可根据需要进行增减,并不局限于10个。
38.(1.2)基于上述第一图结构,设计第一储备池层。
39.从这些输入节点输入第一储备池层的数据,经过chip-firing的规则被非线性处理后从这些输出节点输出,完成信息编码,具体计算方式为使用每轮输出节点转移的chip数作为对于输出节点输入的信息编码,若本轮某输出节点拥有的chip数小于其出度边数,则编码中的值即为0。由sink节点接收网络中已经作用过的chips,以确保第一储备池层中的chip数不会不断累加。
40.(2)使用基于chip-firing的第一储备池层,并针对相应的任务,增加相应的输入处理层、输出处理层等其他必要结构,构建满足需求的神经网络模型。
41.如图2所示,以相应的任务为图像分类为例,以输入处理层(input processing layer)、上述第一储备池层(cfr layer)、线性输出处理层(dense layer)等构建一个用于图像分类处理的神经网络模型。
42.(3)针对相应的任务,准备训练数据。
43.以相应的任务为图像分类为例,将已有的图像数据集整理成x矩阵的形式作为图像输入信息,矩阵中每个元素为图像中每个点的像素值;以y矩阵作为标识图像类别的标签,矩阵中每个元素为对应x矩阵的每张图像的具体类别标识,输入至构建的神经网络模型中进行训练。其中,x矩阵的矩阵参数包括图像数量、图像通道数、图像长度和图像宽度;y矩阵的矩阵参数包括图像数量和图像类别。
44.(4)用训练数据,训练神经网络模型的输出处理层。
45.以相应的任务为图像分类为例,以x矩阵为输入,y矩阵为结果,学习得到线性输出处理层的参数,完成神经网络模型的训练。注意,在此过程中,上述第一储备池层没有参数参与训练。
46.实施例二
47.一种用于ai芯片设计的神经网络模型训练方法,包括以下步骤:
48.(1)构建基于chip-firing的第二储备池层,具体地包括以下子步骤:
49.(1.1)基于chip-firing的规则构建有向无环的第二图结构。有向无环图作为任意有向图的一种特殊形式,具体如下:
50.如图3所示,参考前馈神经网络的神经元排列设计,使用有向无环的第二图结构构建网络层,各节点分层排列,每个节点只能作为前一层节点的出度节点并以下一层的节点为出度节点,接收前一层的输出并输出给下一层。具体是:由三种从前至后分层排列的节点层组成,分别是输入节点层,中间节点层和输出节点层,数据在第二储备池层的网络中从输入节点层向输出节点层单向传播,且各节点层间没有反馈。
51.输入节点层包含用于数据输入的5个输入节点。但输入节点的数量并不局限于5,可根据需要进行增减设置。
52.中间节点层的数量可以是一个也可以是多个。
53.输出节点层包含用于数据输入的5个输出节点和用于接收chips的1个sink节点。但输出节点的数量并不局限于5,可根据需要进行增减设置。该第二图结构共有19个节点,其中有5个输入节点,5个输出节点和1个sink节点,代表输入为5维度,输出为5维度。
54.(1.2)基于上述第二图结构,设计第二储备池层。
55.从这些输入节点输入第二储备池层的数据,经过chip-firing的规则被非线性处理后从这些输出节点输出,完成信息编码,具体计算方式为使用每轮输出节点转移的chip数作为对于输出节点输入的信息编码,若本轮某输出节点拥有的chip数小于其出度边数,则编码中的值即为0。由sink节点接收网络中已经作用过的chips,以确保第二储备池层中的chip数不会不断累加。
56.(2)使用基于chip-firing的第二储备池层,并针对相应的任务,增加相应的输入处理层、输出处理层等其他必要结构,构建满足需求的神经网络模型。
57.如图4所示,以相应的任务为图像分类为例,以输入处理层(input processing layer)、上述第二储备池层(cfr-f layer)、线性输出处理层(dense layer)等构建一个用于图像分类处理的神经网络模型。
58.(3)针对相应的任务,准备训练数据。
59.以相应的任务为图像分类为例,将已有的图像数据集整理成x矩阵的形式作为图像输入信息,矩阵中每个元素为图像中每个点的像素值;以y矩阵作为标识图像类别的标签,矩阵中每个元素为对应x矩阵的每张图像的具体类别标识,输入至构建的神经网络模型中进行训练。其中,x矩阵的矩阵参数包括图像数量、图像通道数、图像长度和图像宽度;y矩阵的矩阵参数包括图像数量和图像类别。
60.(4)用训练数据,训练神经网络模型的输出处理层。
61.以相应的任务为图像分类为例,以x矩阵为输入,y矩阵为结果,学习得到线性输出处理层的参数,完成神经网络模型的训练。注意,在此过程中,上述第二储备池层没有参数参与训练。
62.作为上述神经网络模型的应用,本发明还公开一种图像分类方法,其包括以下步骤:
63.(一)对原始图像进行预处理,得到图像数据:将已有的图像数据集整理成x矩阵的形式作为图像输入信息,矩阵中每个元素为图像中每个点的像素值,并以y矩阵作为标识图像类别的标签,输入至构建的神经网络模型中进行训练。其中,x矩阵的矩阵参数包括图像数量、图像通道数、图像长度和图像宽度;y矩阵的矩阵参数包括图像数量和图像类别。
64.(二)将图像数据输入至使用上述训练方法得到的神经网络模型中;
65.(三)由神经网络模型得到并输出图像分类的预测结果。
66.上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献