CN108364063A - 一种基于权值分配资源的神经网络训练方法和装置 - Google Patents

一种基于权值分配资源的神经网络训练方法和装置 Download PDF

Info

Publication number
CN108364063A
CN108364063A CN201810069252.8A CN201810069252A CN108364063A CN 108364063 A CN108364063 A CN 108364063A CN 201810069252 A CN201810069252 A CN 201810069252A CN 108364063 A CN108364063 A CN 108364063A
Authority
CN
China
Prior art keywords
neural network
unit
circuit
multiplier
adder
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
Application number
CN201810069252.8A
Other languages
English (en)
Other versions
CN108364063B (zh
Inventor
廖裕民
吴占敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201810069252.8A priority Critical patent/CN108364063B/zh
Publication of CN108364063A publication Critical patent/CN108364063A/zh
Application granted granted Critical
Publication of CN108364063B publication Critical patent/CN108364063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种基于权值分配资源的神经网络训练方法和装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元。所述方法通过对权值较高的神经网络结构提供精度较高的乘法电路资源、对权值较低的神经网络结构提供精度较低的乘法器资源,使得在组建同一神经网络结构的各层神经网络子电路时,乘法电路的资源分配更加合理。采用上述方法可以在不影响神经网络深度学习算法效果的同时,有效地降低电路规模和电路功耗,进而提高电子设备的续航能力。

Description

一种基于权值分配资源的神经网络训练方法和装置
技术领域
本发明涉及电子设备领域,特别涉及一种基于权值分配资源的神经网络训练方法和装置。
背景技术
随着人工智能深度学习神经网络的快速发展,人们对人工智能应用的需求越来越强烈。由于深度学习神经网络自身的特性对硬件资源的要求较高,在运行时将产生巨大的功耗,导致电子设备续航能力差、功耗大等问题。因此,如何在不影响深度学习算法效果的同时,尽可能地降低神经网络的电路规模和电路功耗,是非常有意义的。
发明内容
为此,需要提供一种基于权值分配资源的神经网络训练的技术方案,用以解决神经网络电路在运行过程中功耗大的问题。
为实现上述目的,发明人提供了一种基于权值分配资源的神经网络训练装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元;
所述参数配置单元用于获取配置信息存储单元中的参数配置信息,并根据参数配置信息从参数元素存储单元中获取相应数量的参数元素,并将参数配置信息与参数元素传输至可重构网络矩阵单元;
所述可重构网络矩阵单元用于根据参数配置信息和参数元素构建神经网络电路,所述参数配置信息包括连接权值信息,所述神经网络电路包括多层神经网络子电路,每一神经网络子电路至少对应一连接权值信息;所述参数元素包括不同精度的乘加器,各层神经网络子电路所采用的乘加器精度与该层神经网络子电路的连接权值信息大小成正比;
所述神经网络电路用于接收待测数据,并进行神经网络识别计算,所述误差计算单元用于判断本次计算结果与真实信息的匹配度是否大于预设匹配度,若是则判定为训练完成,记录此时各层神经网络子电路对应的连接权值信息,所述反向回写单元用于将包含有更新后的连接权值信息的参数配置信息写入配置信息存储单元中;否则神经网络电路用于根据本次训练结果的匹配度与上一次训练结果的匹配度的差异,调整各层神经网络子电路的连接权重信息,以及根据调整后的连接权重信息确认各层神经网络子电路所采用的乘加器精度,并再次进行神经网络计算,直至训练完成。
进一步地,所述参数配置信息包含有各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量;可重构网络矩阵单元用于根据参数配置信息和参数元素构建神经网络电路包括:
可重构网络矩阵单元用于根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,配置各层神经网络子电路的乘加器数量,此时各层神经网络子电路的乘加器为第一精度;
而后可重构网络矩阵单元用于根据各层神经网络子电路对应的连接权值信息大小,将参数元素存储单元中剩余的乘加器分配至连接权值信息最大的神经网络子电路,以使得该神经网络子电路采用第二精度的乘加器进行神经网络识别计算;所述第二精度高于第一精度,第二精度的乘加器包括多个第一精度的乘加器。
进一步地,所述装置包括WIFI通信单元,所述参数配置单元还通过WIFI通信单元与互联网连接,所述参数配置单元还用于在未从配置信息存储单元中获取各层神经网络子电路对应的连接权值信息时,通过WIFI通信单元从互联网中搜索各层神经网络子电路对应的连接权值信息的初始值,并将搜索到初始值存储于配置信息存储单元中。
进一步地,所述可重构神经网络矩阵还包括互联矩阵单元、升级单元、激活函数单元;所述升级单元、激活函数单元分别与互联矩阵单元连接,所述互联矩阵单元用于根据参数配置信息对乘加器、升级单元、激活函数单元进行互联,从而形成对应的神经网络结构。
发明人还提供了一种基于权值分配资源的神经网络训练方法,所述方法应用于基于权值分配资源的神经网络训练装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元;所述方法包括以下步骤:
参数配置单元获取配置信息存储单元中的参数配置信息,并根据参数配置信息从参数元素存储单元中获取相应数量的参数元素,并将参数配置信息与参数元素传输至可重构网络矩阵单元;
可重构网络矩阵单元根据参数配置信息和参数元素构建神经网络电路,所述参数配置信息包括连接权值信息,所述神经网络电路包括多层神经网络子电路,每一神经网络子电路至少对应一连接权值信息;所述参数元素包括不同精度的乘加器,各层神经网络子电路所采用的乘加器精度与该层神经网络子电路的连接权值信息大小成正比;
神经网络电路接收待测数据,并进行神经网络识别计算,误差计算单元判断本次计算结果与真实信息的匹配度是否大于预设匹配度,若是则判定为训练完成,记录此时各层神经网络子电路对应的连接权值信息,反向回写单元将包含有更新后的连接权值信息的参数配置信息写入配置信息存储单元中;否则神经网络电路根据本次训练结果的匹配度与上一次训练结果的匹配度的差异,调整各层神经网络子电路的连接权重信息,以及根据调整后的连接权重信息确认各层神经网络子电路所采用的乘加器精度,并再次进行神经网络计算,直至训练完成。
进一步地,所述参数配置信息包含有各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量;步骤可重构网络矩阵单元根据参数配置信息和参数元素构建神经网络电路包括:
可重构网络矩阵单元根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,配置各层神经网络子电路的乘加器数量,此时各层神经网络子电路的乘加器为第一精度;
可重构网络矩阵单元根据各层神经网络子电路对应的连接权值信息大小,将参数元素存储单元中剩余的乘加器分配至连接权值信息最大的神经网络子电路,以使得该神经网络子电路采用第二精度的乘加器进行神经网络识别计算;所述第二精度高于第一精度,第二精度的乘加器包括多个第一精度的乘加器。
进一步地,所述装置包括WIFI通信单元,所述参数配置单元还通过WIFI通信单元与互联网连接,所述方法包括:
参数配置单元在未从配置信息存储单元中获取各层神经网络子电路对应的连接权值信息时,通过WIFI通信单元从互联网中搜索各层神经网络子电路对应的连接权值信息的初始值,并将搜索到初始值存储于配置信息存储单元中。
进一步地,所述可重构神经网络矩阵还包括互联矩阵单元、升级单元、激活函数单元;所述升级单元、激活函数单元分别与互联矩阵单元连接,所述方法包括:
互联矩阵单元根据参数配置信息对乘加器、升级单元、激活函数单元进行互联,从而形成对应的神经网络结构。
上述技术方案所述的基于权值分配资源的神经网络训练方法和装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元。所述方法通过对权值较高的神经网络结构提供精度较高的乘法电路资源、对权值较低的神经网络结构提供精度较低的乘法器资源,使得在组建同一神经网络结构的各层神经网络子电路时,乘法电路的资源分配更加合理。采用上述方法可以在不影响神经网络深度学习算法效果的同时,有效地降低电路规模和电路功耗,进而提高电子设备的续航能力。
附图说明
图1为本发明一实施例涉及的基于权值分配资源的神经网络训练方法的示意图;
图2为本发明一实施例涉及的基于权值分配资源的神经网络训练装置的示意图;
图3为本发明一实施例涉及的误差计算单元的电路结构图;
图4为本发明一实施例涉及的升级单元的电路结构图;
图5为本发明一实施例涉及的乘加器单元的电路结构图;
图6为本发明一实施例涉及的可重构神经网络矩阵的电路结构图;
附图标记说明:
101、可重构网络矩阵单元;102、参数配置单元;103、误差计算单元;104、反向回写单元;105、配置信息存储单元;106、参数元素存储单元;
201、互联矩阵单元;202、升级单元;203、激活函数单元;204、计算缓存单元;205、乘加器单元。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本发明一实施例涉及的基于权值分配资源的神经网络训练方法的示意图。所述装置包括可重构网络矩阵单元101、参数配置单元102、误差计算单元103、反向回写单元104、配置信息存储单元105、参数元素存储单元106;
所述参数配置单元102用于获取配置信息存储单元105中的参数配置信息,并根据参数配置信息从参数元素存储单元106中获取相应数量的参数元素,并将参数配置信息与参数元素传输至可重构网络矩阵单元101。
在某些实施例中,所述装置包括WIFI通信单元,所述参数配置单元还通过WIFI通信单元与互联网连接,所述参数配置单元还用于在未从配置信息存储单元中获取各层神经网络子电路对应的连接权值信息时,通过WIFI通信单元从互联网中搜索各层神经网络子电路对应的连接权值信息的初始值,并将搜索到初始值存储于配置信息存储单元中。简言之,配置信息存储单元会存储一些网络结构的配置参数,以便可重构网络矩阵单元进行神经网络训练时及时调取,同时,参数配置单元也可以通过互联网将本地没有的一些神经网络结构的配置参数下载存储至配置信息存储单元,以便可重构网络矩阵单元构建神经网络电路时及时调取,从而提高本装置的适用范围。
所述可重构网络矩阵单元101用于根据参数配置信息和参数元素构建神经网络电路,所述参数配置信息包括连接权值信息,所述神经网络电路包括多层神经网络子电路,每一神经网络子电路至少对应一连接权值信息。权值即权重值,是神经网络算法领域的专有名词,神经网络在构建时是逐层进行构建的,每一层之间的神经元之间互联有其对应的连接线路,这一线路对应一连接权值信息,连接权重信息越大,说明该层神经网络子电路对计算结果的影响也就越大。
在本实施方式中,所述参数元素包括不同精度的乘加器,各层神经网络子电路所采用的乘加器精度与该层神经网络子电路的连接权值信息大小成正比,所述成正比是指当某一层神经网络子电路的权值越大时,分配给其的乘加器单元就越多,即其所采用的乘加器精度越大;反之,当某一层神经网络子电路的权值越小时,分配给其的乘加器单元就越少,即其所采用的乘加器精度越小。
所述神经网络电路用于接收待测数据,并进行神经网络识别计算,所述误差计算单元103用于判断本次计算结果与真实信息的匹配度是否大于预设匹配度,若是则判定为训练完成,记录此时各层神经网络子电路对应的连接权值信息,所述反向回写单元104用于将包含有更新后的连接权值信息的参数配置信息写入配置信息存储单元中;否则神经网络电路用于根据本次训练结果的匹配度与上一次训练结果的匹配度的差异,调整各层神经网络子电路的连接权重信息,以及根据调整后的连接权重信息确认各层神经网络子电路所采用的乘加器精度,并再次进行神经网络计算,直至训练完成。误差计算单元的电路结构如图3所示。
所述真实信息是指输入至可重构网络矩阵单元的特征信息,可以是指纹特征信息、人脸特征信息,也可以是包含有指纹特征信息、人脸特征信息的图片等。例如可重构神经网络矩阵进行的是基于指纹识别功能的训练,则输入的特征信息为指纹特征信息,误差计算单元所比较的对象是本次计算结果得到的识别结果与输入的真实指纹特征信息之间的匹配度,如果匹配度越高说明误差越小,当误差小于预设误差时,则判定为训练完成。神经网络训练计算过程,现有多种算法已有公开,此处不再赘述。
如图6所示,所述可重构神经网络矩阵还包括互联矩阵单元201、升级单元202、激活函数单元203、乘加器单元205、计算缓存单元204。所述升级单元202、激活函数单元203分别与互联矩阵单元201连接,所述互联矩阵单元201用于根据参数配置信息对乘加器(即乘加器单元)、升级单元、激活函数单元进行互联,从而形成对应的神经网络结构。升级单元的电路结构如图4所示、乘加器单元的电路结构如图5所示。
乘加器单元包括不同精度的乘加器单元,如8bit整数、16bit浮点数、32bit浮点数等。在具体应用时,可以选用不同精度的乘加器进行搭建,以便提供多种选择。同理,激活函数单元也可以包括有多种激活函数(比如sigmoid、ReLU等)。互联矩阵单元根据参数连接信息对选定的乘加器单元、升级单元、激活函数单元进行互联。
在某些实施例中,所述参数配置信息包含有各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量;可重构网络矩阵单元用于根据参数配置信息和参数元素构建神经网络电路包括:
可重构网络矩阵单元用于根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,配置各层神经网络子电路的乘加器数量,此时各层神经网络子电路的乘加器为第一精度;
而后可重构网络矩阵单元用于根据各层神经网络子电路对应的连接权值信息大小,将参数元素存储单元中剩余的乘加器分配至连接权值信息最大的神经网络子电路,以使得该神经网络子电路采用第二精度的乘加器进行神经网络识别计算;所述第二精度高于第一精度,第二精度的乘加器包括多个第一精度的乘加器。
假设某一神经网络电路包括3层神经网络子电路,为了便于说明,将自上个下的这三层神经网络子电路分别标记为神经网络子电路A、神经网络子电路B和神经网络子电路C;神经网络子电路A对应的连接权值信息为5,神经网络子电路B对应的连接权值信息为2,神经网络子电路C对应的连接权值信息为10;神经网络子电路A进行神经网络计算需要的最小乘加器数量为3,神经网络子电路A进行神经网络计算需要的最小乘加器数量为2,神经网络子电路A进行神经网络计算需要的最小乘加器数量为5。假设参数元素存储单元的乘加器精度均为8bit,数量为15,则可重构网络矩阵单元根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,依次分配3、2、5个8bit精度的乘加器给神经网络子电路A、神经网络子电路B和神经网络子电路C,此时神经网络子电路A、神经网络子电路B和神经网络子电路C的精度为8bit(即第一精度)。由于分配完毕后,参数元素存储单元还剩余5个8bit的乘加器,且神经网络子电路C对应的连接权值信息最高,因而可重构网络矩阵单元将剩余的5个8bit的乘加器分配给神经网络子电路C,假设2个8bit的乘加器可以合并为1个16bit的乘加器,因而在接收到剩余的5个8bit的乘加器后,神经网络子电路C就可以以16bit精度(即第二精度)进行计算,神经网络子电路C具有10个8bit精度的乘加器,而计算需要的乘加器数量为5,因而可以将低精度的乘加器合并为更高精度,即采用5个16bit精度的乘加器进行计算,从而实现在满足计算要求的同时,尽可能地提高计算速度,降低电路功耗。
为了便于说明,对本发明涉及的乘法器的精度提升方式做进一步说明,以乘法器的最大精度为32bitx32bit为例,对于一个32bitx32bit的乘法器而言,其既可以划分为4个8bit子乘法器,也可以划分为2个16bit子乘法器。精度提升电路包括低位补零单元、基4编码单元、位移单元和累加单元,缓存单元包括中间缓存单元、补零缓存单元、编码缓存单元。精度提升电路实现乘法器的精度提升的具体流程如下:
(1)根据精度等级将32bit乘数a和b分别拆分为4个8bit,并将乘数暂存于中间缓存单元。在乘法器的精度全开32bit的情况下,拆分方法为缓存1存放32t到25bit,缓存2存放24到17bit,缓存3存放16到9bit,缓存4存放8到1bit;在精度等级为16bit精度的情况下,拆分方法为缓存1存放32到25bit,缓存2存放24到17bit,缓存3存放8个零,缓存4存放8个零;在功耗等级为最小精度8bit的情况下,拆分方法为缓存1存放32到25bit。
(2)读取中间缓存单元的值对低位进行1bit补零后再存入补零缓存单元中;
(3)基4编码单元负责对每个9bit补零后的乘数进行基4编码,然后将编码结果存到编码缓存单元,booth乘法器基4编码为经典算法,此处不再赘述。
(4)根据a的4个编码值和b的8bit值进行查表运算,得到查表结果送往位移单元;
(5)位移单元负责根据原拆分乘数的位置对运算结果进行位移,位移单元1将结果向左位移48bit,位移单元2将结果向左位移32bit,位移单元3将结果向左位移16bit,位移单元4将结果向左位移0bit,然后将位移后的结果送往累加单元;
(7)累加单元负责将4个位移单元的结果进行累加后输出为乘法结果。
请参阅图2,为本发明一实施例涉及的基于权值分配资源的神经网络训练装置的示意图。所述方法应用于基于权值分配资源的神经网络训练装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元;所述方法包括以下步骤:
首先进入步骤S201参数配置单元获取配置信息存储单元中的参数配置信息,并根据参数配置信息从参数元素存储单元中获取相应数量的参数元素,并将参数配置信息与参数元素传输至可重构网络矩阵单元;
而后进入步骤S202可重构网络矩阵单元根据参数配置信息和参数元素构建神经网络电路。所述参数配置信息包括连接权值信息,所述神经网络电路包括多层神经网络子电路,每一神经网络子电路至少对应一连接权值信息;所述参数元素包括不同精度的乘加器,各层神经网络子电路所采用的乘加器精度与该层神经网络子电路的连接权值信息大小成正比;
而后进入步骤S203神经网络电路接收待测数据,并进行神经网络识别计算,而后进入步骤S204误差计算单元判断本次计算结果与真实信息的匹配度是否大于预设匹配度,若是则进入步骤S206判定为训练完成,记录此时各层神经网络子电路对应的连接权值信息,反向回写单元将包含有更新后的连接权值信息的参数配置信息写入配置信息存储单元中;否则进入步骤S205神经网络电路根据本次训练结果的匹配度与上一次训练结果的匹配度的差异,调整各层神经网络子电路的连接权重信息,以及根据调整后的连接权重信息确认各层神经网络子电路所采用的乘加器精度,并再次进行步骤S204,直至训练完成。
在某些实施例中,所述参数配置信息包含有各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量;步骤可重构网络矩阵单元根据参数配置信息和参数元素构建神经网络电路包括:可重构网络矩阵单元根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,配置各层神经网络子电路的乘加器数量,此时各层神经网络子电路的乘加器为第一精度;可重构网络矩阵单元根据各层神经网络子电路对应的连接权值信息大小,将参数元素存储单元中剩余的乘加器分配至连接权值信息最大的神经网络子电路,以使得该神经网络子电路采用第二精度的乘加器进行神经网络识别计算;所述第二精度高于第一精度,第二精度的乘加器包括多个第一精度的乘加器。
在某些实施例中,所述装置包括WIFI通信单元,所述参数配置单元还通过WIFI通信单元与互联网连接,所述方法包括:参数配置单元在未从配置信息存储单元中获取各层神经网络子电路对应的连接权值信息时,通过WIFI通信单元从互联网中搜索各层神经网络子电路对应的连接权值信息的初始值,并将搜索到初始值存储于配置信息存储单元中。
在某些实施例中,所述可重构神经网络矩阵还包括互联矩阵单元、升级单元、激活函数单元;所述升级单元、激活函数单元分别与互联矩阵单元连接,所述方法包括:互联矩阵单元根据参数配置信息对乘加器、升级单元、激活函数单元进行互联,从而形成对应的神经网络结构。
上述技术方案所述的基于权值分配资源的神经网络训练方法和装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元。所述方法通过对权值较高的神经网络结构提供精度较高的乘法电路资源、对权值较低的神经网络结构提供精度较低的乘法器资源,使得在组建同一神经网络结构的各层神经网络子电路时,乘法电路的资源分配更加合理。采用上述方法可以在不影响神经网络深度学习算法效果的同时,有效地降低电路规模和电路功耗,进而提高电子设备的续航能力。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (8)

1.一种基于权值分配资源的神经网络训练装置,其特征在于,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元;
所述参数配置单元用于获取配置信息存储单元中的参数配置信息,并根据参数配置信息从参数元素存储单元中获取相应数量的参数元素,并将参数配置信息与参数元素传输至可重构网络矩阵单元;
所述可重构网络矩阵单元用于根据参数配置信息和参数元素构建神经网络电路,所述参数配置信息包括连接权值信息,所述神经网络电路包括多层神经网络子电路,每一神经网络子电路至少对应一连接权值信息;所述参数元素包括不同精度的乘加器,各层神经网络子电路所采用的乘加器精度与该层神经网络子电路的连接权值信息大小成正比;
所述神经网络电路用于接收待测数据,并进行神经网络识别计算,所述误差计算单元用于判断本次计算结果与真实信息的匹配度是否大于预设匹配度,若是则判定为训练完成,记录此时各层神经网络子电路对应的连接权值信息,所述反向回写单元用于将包含有更新后的连接权值信息的参数配置信息写入配置信息存储单元中;否则神经网络电路用于根据本次训练结果的匹配度与上一次训练结果的匹配度的差异,调整各层神经网络子电路的连接权重信息,以及根据调整后的连接权重信息确认各层神经网络子电路所采用的乘加器精度,并再次进行神经网络计算,直至训练完成。
2.如权利要求1所述的基于权值分配资源的神经网络训练装置,其特征在于,所述参数配置信息包含有各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量;可重构网络矩阵单元用于根据参数配置信息和参数元素构建神经网络电路包括:
可重构网络矩阵单元用于根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,配置各层神经网络子电路的乘加器数量,此时各层神经网络子电路的乘加器为第一精度;
而后可重构网络矩阵单元用于根据各层神经网络子电路对应的连接权值信息大小,将参数元素存储单元中剩余的乘加器分配至连接权值信息最大的神经网络子电路,以使得该神经网络子电路采用第二精度的乘加器进行神经网络识别计算;所述第二精度高于第一精度,第二精度的乘加器包括多个第一精度的乘加器。
3.如权利要求1所述的基于权值分配资源的神经网络训练装置,其特征在于,所述装置包括WIFI通信单元,所述参数配置单元还通过WIFI通信单元与互联网连接,所述参数配置单元还用于在未从配置信息存储单元中获取各层神经网络子电路对应的连接权值信息时,通过WIFI通信单元从互联网中搜索各层神经网络子电路对应的连接权值信息的初始值,并将搜索到初始值存储于配置信息存储单元中。
4.如权利要求1所述的基于权值分配资源的神经网络训练装置,其特征在于,所述可重构神经网络矩阵还包括互联矩阵单元、升级单元、激活函数单元;所述升级单元、激活函数单元分别与互联矩阵单元连接,所述互联矩阵单元用于根据参数配置信息对乘加器、升级单元、激活函数单元进行互联,从而形成对应的神经网络结构。
5.一种基于权值分配资源的神经网络训练方法,其特征在于,所述方法应用于基于权值分配资源的神经网络训练装置,所述装置包括可重构网络矩阵单元、参数配置单元、误差计算单元、反向回写单元、配置信息存储单元、参数元素存储单元;所述方法包括以下步骤:
参数配置单元获取配置信息存储单元中的参数配置信息,并根据参数配置信息从参数元素存储单元中获取相应数量的参数元素,并将参数配置信息与参数元素传输至可重构网络矩阵单元;
可重构网络矩阵单元根据参数配置信息和参数元素构建神经网络电路,所述参数配置信息包括连接权值信息,所述神经网络电路包括多层神经网络子电路,每一神经网络子电路至少对应一连接权值信息;所述参数元素包括不同精度的乘加器,各层神经网络子电路所采用的乘加器精度与该层神经网络子电路的连接权值信息大小成正比;
神经网络电路接收待测数据,并进行神经网络识别计算,误差计算单元判断本次计算结果与真实信息的匹配度是否大于预设匹配度,若是则判定为训练完成,记录此时各层神经网络子电路对应的连接权值信息,反向回写单元将包含有更新后的连接权值信息的参数配置信息写入配置信息存储单元中;否则神经网络电路根据本次训练结果的匹配度与上一次训练结果的匹配度的差异,调整各层神经网络子电路的连接权重信息,以及根据调整后的连接权重信息确认各层神经网络子电路所采用的乘加器精度,并再次进行神经网络计算,直至训练完成。
6.如权利要求5所述的基于权值分配资源的神经网络训练方法,其特征在于,所述参数配置信息包含有各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量;步骤可重构网络矩阵单元根据参数配置信息和参数元素构建神经网络电路包括:
可重构网络矩阵单元根据各层神经网络子电路进行神经网络识别计算所需的最小乘加器数量,配置各层神经网络子电路的乘加器数量,此时各层神经网络子电路的乘加器为第一精度;
可重构网络矩阵单元根据各层神经网络子电路对应的连接权值信息大小,将参数元素存储单元中剩余的乘加器分配至连接权值信息最大的神经网络子电路,以使得该神经网络子电路采用第二精度的乘加器进行神经网络识别计算;所述第二精度高于第一精度,第二精度的乘加器包括多个第一精度的乘加器。
7.如权利要求5所述的基于权值分配资源的神经网络训练方法,其特征在于,所述装置包括WIFI通信单元,所述参数配置单元还通过WIFI通信单元与互联网连接,所述方法包括:
参数配置单元在未从配置信息存储单元中获取各层神经网络子电路对应的连接权值信息时,通过WIFI通信单元从互联网中搜索各层神经网络子电路对应的连接权值信息的初始值,并将搜索到初始值存储于配置信息存储单元中。
8.如权利要求5所述的基于权值分配资源的神经网络训练方法,其特征在于,所述可重构神经网络矩阵还包括互联矩阵单元、升级单元、激活函数单元;所述升级单元、激活函数单元分别与互联矩阵单元连接,所述方法包括:
互联矩阵单元根据参数配置信息对乘加器、升级单元、激活函数单元进行互联,从而形成对应的神经网络结构。
CN201810069252.8A 2018-01-24 2018-01-24 一种基于权值分配资源的神经网络训练方法和装置 Active CN108364063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810069252.8A CN108364063B (zh) 2018-01-24 2018-01-24 一种基于权值分配资源的神经网络训练方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810069252.8A CN108364063B (zh) 2018-01-24 2018-01-24 一种基于权值分配资源的神经网络训练方法和装置

Publications (2)

Publication Number Publication Date
CN108364063A true CN108364063A (zh) 2018-08-03
CN108364063B CN108364063B (zh) 2019-09-27

Family

ID=63006714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810069252.8A Active CN108364063B (zh) 2018-01-24 2018-01-24 一种基于权值分配资源的神经网络训练方法和装置

Country Status (1)

Country Link
CN (1) CN108364063B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409510A (zh) * 2018-09-14 2019-03-01 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
WO2020051918A1 (zh) * 2018-09-14 2020-03-19 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
WO2020062303A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 训练神经网络的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2249845C1 (ru) * 2003-09-15 2005-04-10 Курский государственный технический университет Умножитель на нейронах
WO2016186810A1 (en) * 2015-05-21 2016-11-24 Google Inc. Prefetching weights for use in a neural network processor
CN106203625A (zh) * 2016-06-29 2016-12-07 中国电子科技集团公司第二十八研究所 一种基于多重预训练的深层神经网络训练方法
CN107153522A (zh) * 2017-04-21 2017-09-12 东南大学 一种面向人工神经网络计算的动态精度可配近似乘法器
CN107291419A (zh) * 2017-05-05 2017-10-24 中国科学院计算技术研究所 用于神经网络处理器的浮点乘法器及浮点数乘法
CN107402905A (zh) * 2016-05-19 2017-11-28 北京旷视科技有限公司 基于神经网络的计算方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2249845C1 (ru) * 2003-09-15 2005-04-10 Курский государственный технический университет Умножитель на нейронах
WO2016186810A1 (en) * 2015-05-21 2016-11-24 Google Inc. Prefetching weights for use in a neural network processor
CN107402905A (zh) * 2016-05-19 2017-11-28 北京旷视科技有限公司 基于神经网络的计算方法及装置
CN106203625A (zh) * 2016-06-29 2016-12-07 中国电子科技集团公司第二十八研究所 一种基于多重预训练的深层神经网络训练方法
CN107153522A (zh) * 2017-04-21 2017-09-12 东南大学 一种面向人工神经网络计算的动态精度可配近似乘法器
CN107291419A (zh) * 2017-05-05 2017-10-24 中国科学院计算技术研究所 用于神经网络处理器的浮点乘法器及浮点数乘法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409510A (zh) * 2018-09-14 2019-03-01 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
WO2020051918A1 (zh) * 2018-09-14 2020-03-19 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
WO2020062303A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 训练神经网络的方法和装置

Also Published As

Publication number Publication date
CN108364063B (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN107918794A (zh) 基于计算阵列的神经网络处理器
CN107533667A (zh) 神经网络处理器中的向量计算单元
CN108364063B (zh) 一种基于权值分配资源的神经网络训练方法和装置
CN108345939A (zh) 基于定点运算的神经网络
CN108090560A (zh) 基于fpga的lstm递归神经网络硬件加速器的设计方法
CN108416422A (zh) 一种基于fpga的卷积神经网络实现方法及装置
CN108171280A (zh) 一种分类器构建方法及预测分类的方法
JP6823495B2 (ja) 情報処理装置および画像認識装置
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
CN107783840B (zh) 一种分布式多层深度学习资源分配方法和装置
CN109791626A (zh) 神经网络权重编码方法、计算装置及硬件系统
CN108564168A (zh) 一种对支持多精度卷积神经网络处理器的设计方法
CN107169563A (zh) 应用于二值权重卷积网络的处理系统及方法
CN108475214A (zh) 自适应人工神经网络选择技术
US11182159B2 (en) Vector reductions using shared scratchpad memory
CN110309911A (zh) 神经网络模型验证方法、装置、计算机设备和存储介质
CN108446761A (zh) 一种神经网络加速器及数据处理方法
CN107423816A (zh) 一种多计算精度神经网络处理方法和系统
CN107256424A (zh) 三值权重卷积网络处理系统及方法
CN109740737B (zh) 卷积神经网络量化处理方法、装置及计算机设备
CN113313243A (zh) 神经网络加速器的确定方法、装置、设备以及存储介质
CN106502889A (zh) 预测云软件性能的方法和装置
CN112699074A (zh) 用于配置和操作神经网络的技术
CN111831354A (zh) 数据精度配置方法、装置、芯片、芯片阵列、设备及介质
CN115081613A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.