Nothing Special   »   [go: up one dir, main page]

CN110580523B - 一种模拟神经网络处理器的误差校准方法及装置 - Google Patents

一种模拟神经网络处理器的误差校准方法及装置 Download PDF

Info

Publication number
CN110580523B
CN110580523B CN201810580960.8A CN201810580960A CN110580523B CN 110580523 B CN110580523 B CN 110580523B CN 201810580960 A CN201810580960 A CN 201810580960A CN 110580523 B CN110580523 B CN 110580523B
Authority
CN
China
Prior art keywords
processor
weight parameters
error
phase
trainable
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.)
Active
Application number
CN201810580960.8A
Other languages
English (en)
Other versions
CN110580523A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201810580960.8A priority Critical patent/CN110580523B/zh
Priority to PCT/CN2018/104781 priority patent/WO2019232965A1/zh
Publication of CN110580523A publication Critical patent/CN110580523A/zh
Application granted granted Critical
Publication of CN110580523B publication Critical patent/CN110580523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

本发明实施例提供一种模拟神经网络处理器的误差校准方法及装置,所述方法包括:若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。所述装置执行上述方法。本发明实施例提供的模拟神经网络处理器的误差校准方法及装置,能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。

Description

一种模拟神经网络处理器的误差校准方法及装置
技术领域
本发明实施例涉及误差校准技术领域,具体涉及一种模拟神经网络处理器的误差校准方法及装置。
背景技术
由于模拟电路与数字电路相比的无时钟特性使得其具有功耗低、芯片尺寸小等特点,使得模拟神经网络(Neural Netowrk,简称“NN”)处理器得到了广泛应用。
然而,尽管模拟NN处理器具有较高的能效,但系统和器件的非线性使得模拟NN处理器在处理精度的问题上依然有待改进,导致误差的来源主要来自于制造工艺的变化、电压或温度的偏移以及各种噪声源等。虽然模拟NN算法可以在一定程度上能够容忍这些缺陷,但由于误差累积,模拟NN处理器仍然存在不可忽视的准确度下降等一系列问题。
神经网络算法在某种程度上具有容忍错误的学习能力,它们可以获得输入数据的一些固定模式,甚至是计算错误。因此,重新训练网络是一种有效的方法,可以减少各种误差,例如工艺偏差(Process Variations,简称“PV”)对系统的影响,而不会增加推理通道的额外消耗。然而,在线重新训练所有网络层是一项非常复杂的任务,需要高精度的计算,并且需要花费大量额外的计算单元来实现收敛,导致模拟NN处理器的能量和资源消耗过大,从而大大降低了模拟NN处理器的效率。
因此,如何避免上述缺陷,降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种模拟神经网络处理器的误差校准方法及装置。
第一方面,本发明实施例提供一种模拟神经网络处理器的误差校准方法,所述方法包括:
若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;
采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;
采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;
存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
第二方面,本发明实施例提供一种模拟神经网络处理器的误差校准装置,所述装置包括:
获取单元,用于若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;
量化单元,用于采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;
运算单元,用于采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;
存储单元,用于存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;
采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;
采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;
存储训练好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;
采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;
采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;
存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
本发明实施例提供的模拟神经网络处理器的误差校准方法及装置,通过在训练全连接层的权重参数的过程中,采用对数量化损失值和梯度,并在对数量化之后采用移位运算代替反向传播和可训练权重参数更新使用的乘法运算,能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例模拟神经网络处理器的误差校准方法流程示意图;
图2(a)为现有技术采用乘法运算进行反向传播和可训练权重参数更新原理图;
图2(b)为本发明实施例采用移位运算进行反向传播和可训练权重参数更新原理图;
图3为本发明实施例模拟神经网络处理器的误差校准装置结构示意图;
图4为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例模拟神经网络处理器的误差校准方法流程示意图,如图1所示,本发明实施例提供的一种模拟神经网络处理器的误差校准方法,包括以下步骤:
S101:若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数。
具体的,装置若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数。模拟神经网络处理器指的是针对于神经网络算法在模拟域中计算的处理器。算法更新可以理解为神经网络NN的更新,误差参数可以是PV参数,但不作具体限定。网络结构可以是包括有卷积层、池化层和全连接等连接关系的结构,需要说明的是:本发明实施例中的可训练权重参数可以理解为全连接层的权重参数,即:本发明实施例仅对全连接层的权重参数进行训练,卷积层等各层的权重参数无需训练。
S102:采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的。
具体的,装置采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的。可以通过低精度ADC(即低于预设精度阈值的ADC)将模拟神经网络处理器计算出的神经元值从模拟域转换到数字域。对数量化可以在使用相同位宽时呈现比线性量化更宽的数据范围。例如:基于2的对数量化4比特数的范围是[-128,128],而对于不小于8比特的整数的范围则为[-128,127]。考虑到损失值和梯度总是变化很大,并且在随机梯度下降(SGD)算法中它们可以被近似处理,于是采用对数量化方法来量化损失值和梯度。采用随机梯度下降SGD算法对所述可训练权重参数进行训练为本领域成熟技术,不再赘述。
S103:采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算。
具体的,装置采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算。图2(a)为现有技术采用乘法运算进行反向传播和可训练权重参数更新原理图;图2(b)为本发明实施例采用移位运算进行反向传播和可训练权重参数更新原理图,如图2(a)和图2(b)所示,上述S102可以采用基于2的对数量化,在完成基于2的对数量化之后,反向传播和可训练权重更新阶段中的乘法运算便可以用移位运算代替。对数量化的耗能很小,因为它可以通过计算高电平所在的最高位(用于正数据)或最低位(用于负数据)所在的位置,较为容易的获得。
S104:存储训练好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
具体的,装置存储训练好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。需要说明的是:在学习完成后,新的参数已经包含了所述模拟神经网络处理器的误差信息,无需进行额外的误差补偿。
在学习阶段,与现有技术相比,平均可以减少约66.7%的内存,如表1(节省存储器的百分比)所示。这可以减轻存储压力并降低嵌入终端的数据消耗。
表1
神经元&损失 梯度 权重 综合
现有技术 32bit 32bit 32bit 32bit
本发明实施例 6bit 6bit 20bit 10.67bit
节省内存 81.25% 81.25% 37.5% 66.7%
本发明实施例的对数量化之后,学习过程中几乎所有的乘法操作都可以用位移操作来代替,如果学习过程使用系统中的现有FPGA或ASIC集成实现,将显著降低功耗,如表2(能耗计算)所示。其中,PDP(Power Delay Product)为功率时延乘积。对数量化和移位操作的组合与现有技术相比可获得约50倍的能效提升。
表2(现有技术选用32bit定点数作为基准;表2中数据为在
SMIC180nm工艺下仿真得到的)
运算 延时(ns) 功率(mw) PDP(pJ)
现有技术 32bit乘法 6.53 15.7 102.52
本发明实施例 32bit移位 1.62 1.22 1.97
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过在训练全连接层的权重参数的过程中,采用对数量化损失值和梯度,并在对数量化之后采用移位运算代替反向传播和可训练权重参数更新使用的乘法运算,能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
在上述实施例的基础上,所述方法还包括:
采用高于预设精度的分辨率存储所述可训练权重参数和所述权重参数。
具体的,装置采用高于预设精度的分辨率存储所述可训练权重参数和所述权重参数。预设精度的具体数值可以根据实际情况自主设置。不可训练的权重(如卷积层)以低分辨率(即低于预设精度的分辨率)保存,具体可以是位宽;而可训练的权重(如全连接层)以高分辨率(即高于预设精度的分辨率)保存,具体可以是位宽。高分辨率可训练权重仅用于在学习阶段(学习阶段)更新权重以确保收敛。
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过采用高于预设精度的分辨率存储可训练权重参数和权重参数,能够保证算法的收敛。
在上述实施例的基础上,所述方法还包括:
获取所述网络结构中的卷积层中的权重参数,并以低于预设精度的分辨率存储所述卷积层中的权重参数。
具体的,装置获取所述网络结构中的卷积层中的权重参数,并以低于预设精度的分辨率存储所述卷积层中的权重参数。可参照上述实施例,不再赘述。
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过采用低于预设精度的分辨率存储卷积层中的权重参数,能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
在上述实施例的基础上,所述NN的使用阶段包括推理阶段和学习阶段;相应的,所述方法还包括:
存储学习好的权重参数的步骤之后,冻结所述学习阶段,激活所述推理阶段。
具体的,装置存储学习好的权重参数的步骤之后,冻结所述学习阶段,激活所述推理阶段。也就是说,在大多数情况下,只有推理阶段处于激活状态,所以只需要少量的额外的能量消耗。
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过在存储学习好的权重参数的步骤之后,冻结学习阶段,进一步能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
在上述实施例的基础上,所述方法还包括:
若检测到算法更新和/或误差参数调整,冻结所述推理阶段,并执行上述的方法,以激活所述学习阶段。
具体的,装置若检测到算法更新和/或误差参数调整,冻结所述推理阶段,并执行上述的方法,以激活所述学习阶段。也就是说,在少数情况下,只有学习阶段处于激活状态,所以只需要少量的额外的能量消耗。
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过若检测到算法更新和/或误差参数调整,冻结推理阶段,进一步能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
在上述实施例的基础上,所述方法还包括:
所述NN的反向阶段在终端的除所述处理器以外的其他处理器中执行;其中,所述终端装载有所述处理器和所述其他处理器。
具体的,装置中的所述NN的反向阶段在终端的除所述处理器以外的其他处理器中执行;其中,所述终端装载有所述处理器和所述其他处理器。终端可以是PC等,包含在装置的范围之内。其他处理器可以包括CPU或FPGA等,将上述权重更新等步骤转移至其他处理器处理,从而更加减少了模拟NN处理器的芯片面积和能量消耗。
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过将上述权重更新等步骤转移至其他处理器处理,进一步能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
在上述实施例的基础上,所述其他处理器包括CPU或FPGA。
具体的,装置中的所述其他处理器包括CPU或FPGA。可参照上述实施例,不再赘述。
本发明实施例提供的模拟神经网络处理器的误差校准方法,通过将其他处理器选定为CPU或FPGA,保证了其他处理器正常处理上述权重更新等步骤。
图3为本发明实施例模拟神经网络处理器的误差校准装置结构示意图,如图3所示,本发明实施例提供了一种模拟神经网络处理器的误差校准装置,包括获取单元301、量化单元302、运算单元303存储单元304,其中:
获取单元301用于若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;量化单元302用于采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;代替单元303用于采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;存储单元304用于存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
具体的,获取单元301用于若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;量化单元302用于采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;代替单元303用于采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;存储单元304用于存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
本发明实施例提供的模拟神经网络处理器的误差校准装置,通过在训练全连接层的权重参数的过程中,采用对数量化损失值和梯度,并在对数量化之后采用移位运算代替反向传播和可训练权重参数更新使用的乘法运算,能够降低模拟NN处理器的能量和资源消耗,从而提高模拟NN处理器的效率。
本发明实施例提供的模拟神经网络处理器的误差校准装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图4为本发明实施例提供的电子设备实体结构示意图,如图4所示,所述电子设备包括:处理器(processor)401、存储器(memory)402和总线403;
其中,所述处理器401、存储器402通过总线403完成相互间的通信;
所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;存储训练好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

Claims (6)

1.一种模拟神经网络处理器的误差校准方法,所述方法在模拟神经网络NN处理器中执行,其特征在于,包括:
若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;
采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;
采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;
存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差;
采用高于预设精度的分辨率存储所述可训练权重参数和所述权重参数;
获取所述网络结构中的卷积层中的权重参数,并以低于预设精度的分辨率存储所述卷积层中的权重参数;
所述NN的使用阶段包括推理阶段和学习阶段;相应的,所述方法还包括:
存储学习好的权重参数的步骤之后,冻结所述学习阶段,激活所述推理阶段;
所述方法还包括:
若检测到算法更新和/或误差参数调整,冻结所述推理阶段,并执行上述校准所述处理器的误差的步骤,以激活所述学习阶段。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述NN的反向阶段在终端的除所述处理器以外的其他处理器中执行;其中,所述终端装载有所述处理器和所述其他处理器。
3.根据权利要求2所述的方法,其特征在于,所述其他处理器包括CPU或FPGA。
4.一种模拟神经网络处理器的误差校准装置,所述装置包含有模拟神经网络NN处理器,其特征在于,包括:
获取单元,用于若检测到算法更新和/或误差参数调整,解析所述NN的网络结构,以获取所述网络结构中的全连接层的可训练权重参数;
量化单元,用于采用随机梯度下降SGD算法对所述可训练权重参数进行训练;其中,在学习过程中的损失值和梯度采用对数量化;所述学习过程是在数字域进行的;
运算单元,用于采用移位运算代替所述学习过程中的反向传播和可训练权重参数更新使用的乘法运算;
存储单元,用于存储学习好的权重参数,以供所述NN根据所述权重参数校准所述处理器的误差;采用高于预设精度的分辨率存储所述可训练权重参数和所述权重参数;获取所述网络结构中的卷积层中的权重参数,并以低于预设精度的分辨率存储所述卷积层中的权重参数;
所述NN的使用阶段包括推理阶段和学习阶段;相应的,所述装置还用于:
存储学习好的权重参数的步骤之后,冻结所述学习阶段,激活所述推理阶段;若检测到算法更新和/或误差参数调整,冻结所述推理阶段,并执行上述各单元,以激活所述学习阶段。
5.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至3任一所述的方法。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至3任一所述的方法。
CN201810580960.8A 2018-06-07 2018-06-07 一种模拟神经网络处理器的误差校准方法及装置 Active CN110580523B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810580960.8A CN110580523B (zh) 2018-06-07 2018-06-07 一种模拟神经网络处理器的误差校准方法及装置
PCT/CN2018/104781 WO2019232965A1 (zh) 2018-06-07 2018-09-10 一种模拟神经网络处理器的误差校准方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810580960.8A CN110580523B (zh) 2018-06-07 2018-06-07 一种模拟神经网络处理器的误差校准方法及装置

Publications (2)

Publication Number Publication Date
CN110580523A CN110580523A (zh) 2019-12-17
CN110580523B true CN110580523B (zh) 2022-08-02

Family

ID=68769907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810580960.8A Active CN110580523B (zh) 2018-06-07 2018-06-07 一种模拟神经网络处理器的误差校准方法及装置

Country Status (2)

Country Link
CN (1) CN110580523B (zh)
WO (1) WO2019232965A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220309331A1 (en) * 2019-06-26 2022-09-29 Ams International Ag Error compensation in analog neural networks
CN113705776B (zh) * 2021-08-06 2023-08-08 山东云海国创云计算装备产业创新中心有限公司 一种基于asic实现激活函数的方法、系统、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899641A (zh) * 2015-05-25 2015-09-09 杭州朗和科技有限公司 深度神经网络学习方法、处理器和深度神经网络学习系统
CN107665364A (zh) * 2016-07-28 2018-02-06 三星电子株式会社 神经网络方法和设备
CN108009640A (zh) * 2017-12-25 2018-05-08 清华大学 基于忆阻器的神经网络的训练装置及其训练方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) * 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7409372B2 (en) * 2003-06-20 2008-08-05 Hewlett-Packard Development Company, L.P. Neural network trained with spatial errors
CN105279554B (zh) * 2015-09-29 2017-12-15 东方网力科技股份有限公司 基于哈希编码层的深度神经网络的训练方法及装置
EP3497624A1 (en) * 2016-08-13 2019-06-19 Intel Corporation Apparatuses, methods, and systems for neural networks
CN106355248A (zh) * 2016-08-26 2017-01-25 深圳先进技术研究院 一种深度卷积神经网络训练方法及装置
US10255910B2 (en) * 2016-09-16 2019-04-09 Apptek, Inc. Centered, left- and right-shifted deep neural networks and their combinations
CN107092960A (zh) * 2017-04-17 2017-08-25 中国民航大学 一种改进的并行通道卷积神经网络训练方法
CN107395211B (zh) * 2017-09-12 2020-12-01 苏州浪潮智能科技有限公司 一种基于卷积神经网络模型的数据处理方法及装置
CN107944458A (zh) * 2017-12-08 2018-04-20 北京维大成科技有限公司 一种基于卷积神经网络的图像识别方法和装置
CN107992842B (zh) * 2017-12-13 2020-08-11 深圳励飞科技有限公司 活体检测方法、计算机装置及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899641A (zh) * 2015-05-25 2015-09-09 杭州朗和科技有限公司 深度神经网络学习方法、处理器和深度神经网络学习系统
CN107665364A (zh) * 2016-07-28 2018-02-06 三星电子株式会社 神经网络方法和设备
CN108009640A (zh) * 2017-12-25 2018-05-08 清华大学 基于忆阻器的神经网络的训练装置及其训练方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Analog in-memory subthreshold deep neural network accelerator;L. Fick 等;《2017 IEEE Custom Integrated Circuits Conference (CICC)》;20170727;1-4 *

Also Published As

Publication number Publication date
WO2019232965A1 (zh) 2019-12-12
CN110580523A (zh) 2019-12-17

Similar Documents

Publication Publication Date Title
KR20220086694A (ko) 멤리스터 기반 신경 네트워크 트레이닝 방법 및 그 트레이닝 장치
CN111353579A (zh) 利用反向传播为深度神经网络选择量化参数的方法和系统
CN110580523B (zh) 一种模拟神经网络处理器的误差校准方法及装置
US20240046086A1 (en) Quantization method and quantization apparatus for weight of neural network, and storage medium
US20210081785A1 (en) Information processing device and method, and recording medium storing information processing program
CN113642711B (zh) 一种网络模型的处理方法、装置、设备和存储介质
CN107798332B (zh) 一种用户行为预测方法及装置
CN115392441A (zh) 量化神经网络模型的片内适配方法、装置、设备及介质
US20190377548A1 (en) Arithmetic processing apparatus, control method, and recording medium
CN110503182A (zh) 深度神经网络中的网络层运算方法及装置
CN109102067B (zh) 神经网络节点的自增减方法、计算机设备及存储介质
CN114492794A (zh) 用于处理数据的方法、装置、设备、介质和产品
US20220036190A1 (en) Neural network compression device
CN112016702A (zh) 基于迁移学习的医疗数据处理方法、装置、设备及介质
US20220405561A1 (en) Electronic device and controlling method of electronic device
CN115577491A (zh) 一种参数修正方法、装置、电子设备及存储介质
CN111476356B (zh) 忆阻神经网络的训练方法、装置、设备及存储介质
EP3742283A1 (en) Arithmetic processing device, method for controlling arithmetic processing device, and program for controlling arithmetic processing device
CN110929849B (zh) 一种基于神经网络模型压缩的视频检测方法和装置
CN110852361B (zh) 基于改进深度神经网络的图像分类方法、装置与电子设备
CN114243690A (zh) 一种电网有功安全校正方法、装置、电子设备及存储介质
GB2607832A (en) Learning with moment estimation using different time constants
CN111092602A (zh) 功率放大器的建模方法、装置、计算机设备和存储介质
US20230008014A1 (en) Data processing device, data-processing method and recording media
EP4459509A1 (en) Data processing method and apparatus and edge computing device

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