CN111832720A - 一种可配置神经网络推理与在线学习融合计算电路 - Google Patents

一种可配置神经网络推理与在线学习融合计算电路 Download PDF

Info

Publication number
CN111832720A
CN111832720A CN202010991702.6A CN202010991702A CN111832720A CN 111832720 A CN111832720 A CN 111832720A CN 202010991702 A CN202010991702 A CN 202010991702A CN 111832720 A CN111832720 A CN 111832720A
Authority
CN
China
Prior art keywords
unit
neural network
data
state
control unit
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
CN202010991702.6A
Other languages
English (en)
Other versions
CN111832720B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010991702.6A priority Critical patent/CN111832720B/zh
Publication of CN111832720A publication Critical patent/CN111832720A/zh
Application granted granted Critical
Publication of CN111832720B publication Critical patent/CN111832720B/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/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

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

Abstract

本发明公开了一种可配置神经网络推理与在线学习融合计算电路,属于神经网络技术领域。该电路包括主控制单元、可配置控制单元、缓存控制单元、压缩/解压缩单元、交互单元、缓存单元、神经网络融合计算单元。本发明电路通过配置神经网络的计算通路、在线学习的层数、以及标签生成方式实现了低成本可配置的推理和在线学习融合计算,保障了神经网络高效的推理和学习;通过基于硬件动态复用计算引擎,使推理与在线学习计算融合,提高了硬件的利用率。

Description

一种可配置神经网络推理与在线学习融合计算电路
技术领域
本发明属于神经网络领域,涉及一种可配置神经网络推理与在线学习融合计算电路。
背景技术
作为重要的人工智能分支,深度神经网络(Deep Neural Network,DNN)由于能够在人脸识别、语音识别、自然语言处理及医疗辅助诊断等领域辅助或取代人类而受到了极大的关注。其中,有不少研究者在神经网络的推理和学习(训练)上进行了广泛的研究。神经网络的推理可以看成对输入数据进一步的分析和推断,而准确的推断离不开神经网络对网络参数有效的学习。通常,神经网络的学习可分为离线学习和在线学习。离线学习只使用集中的离线数据进行学习,在学习完毕后网络的参数不会再更新。而在线学习会对实际应用场景中的实时数据进行学习,对神经网络参数进行不断更新调整,拥有在线学习能力的神经网络可以解决应用环境未知多变、离线数据集中样本与实际场景样本分布差异大的问题,使算法在实际使用中达到更好的性能。
到目前,有不少基于现场可编程逻辑阵列(Field Programmable Gate Array,FPGA)和专用集成电路(Application Specific Integrated Circuit,ASIC)的DNN处理器被提出对神经网络进行推理和学习。而大部分DNN处理器主要关心神经网络推理的硬件实现,通过公共数据集在云端的图形处理器(Graphics Processing Unit,GPU)服务器上进行离线学习,再将学习好的网络参数配置给处理器,就能够利用本地的优化策略和处理引擎对神经网络进行推理计算。不过这部分处理器主要是在神经网络推理方面进行优化,缺乏对于在线学习的支持。在面对特征变化或未知的数据时,由于没有在离线训练中得到有效地学习,其实际的准确率会有所损失甚至失效,因此它将难以满足用户的个人偏好和一些特殊的应用场景。例如,现如今部署在终端的自动驾驶技术在没有人为的干预的情况下如果无法对道路的突发情况进行即时地学习,那么可能会发生灾难性的后果。除此之外,另外有少部分处理器可以支持神经网络的推理和在线学习。这些处理器通过设计额外专用的计算引擎和单一的学习方式,能够对神经网络一些特定层进行在线学习。但是这难免会增加额外的硬件开销,并且难以满足在线学习功能多样性的要求,致使在线学习效果受限。
发明内容
针对传统技术方案中在线学习功能不完善甚至缺失等问题,本发明提出了一种可配置神经网络推理和在线学习融合计算电路。该电路通过配置神经网络的计算通路、在线学习的层数、以及标签生成方式实现了低成本可配置的推理和在线学习融合计算,保障了神经网络高效的推理和学习;通过基于硬件动态复用计算引擎,使推理与在线学习计算融合,提高了硬件的利用率。
本发明采用的技术方案如下:
一种可配置神经网络推理与在线学习融合计算电路,该电路包括主控制单元、可配置控制单元、缓存控制单元、压缩/解压缩单元、交互单元、缓存单元、神经网络融合计算单元。
所述主控制单元用于接收外部命令,通过主控制单元内的状态机控制神经网络计算状态,以及可配置控制单元、压缩/解压缩单元、交互单元的开启。
所述缓存控制单元用于控制缓存单元中缓存数据的读写。
所述压缩/解压缩单元用于神经网络数据的压缩和解压,并与外部进行数据交互;所述神经网络数据包括神经网络的指令数据、权重偏置数据、特征图数据、权重偏置梯度数据和特征图梯度数据。
所述交互单元与压缩/解压缩单元、缓存单元、神经网络融合计算单元相连,用于神经网络数据交互。
所述缓存单元包括指令缓存单元、权重偏置缓存单元、特征图缓存单元和特征图梯度缓存单元。所述缓存单元用于缓存交互单元传输的神经网络数据和神经网络融合计算单元计算得到的结果数据,并将缓存的指令数据发送给可配置控制单元,将缓存的权重偏置数据、特征图数据、特征图梯度数据发送给神经网络融合计算单元。
所述神经网络融合计算单元包括卷积乘加单元、前向推理关键计算单元和反向传播关键计算单元。所述前向推理关键计算单元与卷积乘加单元组成推理计算通路,所述反向传播关键计算单元与卷积乘加单元组成反向传播计算通路。
所述可配置控制单元用于解析指令缓存单元缓存的指令数据,并根据解析结果控制缓存控制单元对神经网络数据的读写、控制神经网络融合计算单元对神经网络数据的计算方式,同时反馈信息给主控制单元用于控制神经网络计算状态的跳转。
所述状态机的主状态包括空闲状态、神经网络参数配置状态和神经网络处理状态。其中神经网络处理状态包括神经网络推理子状态和神经网络反向传播子状态,各状态之间的跳转通过相应的命令或可配置控制单元的反馈信息实现。
当外部调用配置命令时,状态机由空闲状态进入神经网络参数配置状态,此时主控制单元开启压缩/解压缩单元和交互单元。外部输入的指令数据和权重偏置数据被压缩/解压缩单元解压后通过交互单元配置到指令缓存单元和权重偏置缓存单元中。当配置结束后,状态机返回空闲状态,此时外部能够通过查询状态机的空闲状态来判断配置是否结束。
配置结束后,外部调用处理命令,状态机进入神经网络推理子状态,此时主控制单元开启压缩/解压缩单元、交互单元和可配置控制单元。在神经网络推理子状态中,外部输入的特征图数据被压缩/解压缩单元解压后通过交互单元配置到特征图缓存单元中;可配置控制单元接收并解析指令缓存单元中缓存的指令数据。
所述指令数据包括各层的当前层在线学习指令,对需要在线学习的各层,将当前层在线学习指令设置为开启状态,对不需要在线学习的各层,将当前层在线学习指令设置为关闭状态。若可配置控制单元检测到当前层在线学习指令处于关闭状态,那么可配置控制单元发送控制信息给缓存控制单元和神经网络融合计算单元,令缓存控制单元将缓存单元中的特征图数据、权重偏置数据传输给神经网络融合计算单元,同时令神经网络融合计算单元中的计算通路配置为推理计算通路。计算结束后输出最后的分类结果和各分类概率,神经网络推理子状态结束。然后状态机的主状态回到空闲状态,处理状态的子状态保持在神经网络推理子状态。
若可配置控制单元检测到当前层在线学习指令处于开启状态,那么在神经网络推理子状态中,在当前层计算的同时保存当前层的特征图数据。在神经网络推理子状态结束后,状态机将进入神经网络反向传播子状态。此时可配置控制单元发出控制信息给缓存控制单元和神经网络融合计算单元,令缓存控制单元将缓存单元中的特征图数据、特征图梯度数据、权重偏置数据传输给神经网络融合计算单元,同时令神经网络融合计算单元中的计算通路配置为反向传播计算通路。神经网络融合计算单元通过计算得到神经网络各层的特征图梯度数据和权重偏置梯度数据,其中特征图梯度数据用于反向传播,权重偏置梯度数据用于更新权重偏置数据,实现神经网络的在线学习,至此神经网络反向传播子状态结束。在反向传播状态结束后,状态机的主状态回到空闲状态,处理状态的子状态回到神经网络推理子状态。
进一步地,所述神经网络融合计算单元内仅设置有一个卷积乘加单元。
进一步地,所述卷积乘加单元包括乘法器组、通道加法树和卷积累加器。其中通道加法树对多个输入通道的特征图数据进行并行地相加,卷积累加器则对神经网络剩余需要累加的数据进行串行地累加。
进一步地,所述前向推理关键计算单元包括激活单元、池化单元、Softmax激活单元和分值比较单元。
进一步地,所述反向传播关键计算单元包括反激活单元、反池化单元、标签生成单元和Loss(误差函数)梯度计算单元。
与现有技术相比,本发明具有如下优点:
1、本发明通过对神经网络在线学习的层数进行配置,满足了在线学习灵活配置的需求。
2、本发明通过对标签生成方式进行配置,进一步提升了实际应用场景中在线学习对神经网络的准确率的提升。
3、本发明通过分析神经网络推理和训练之间运算的相似性,设计了神经网络融合计算单元。该神经网络融合计算单元通过复用同一个卷积乘加单元,减少了一定的硬件成本,提高了硬件的利用率。
附图说明
图1为实施例可配置神经网络推理与在线学习融合计算电路模块示意图。
图2为实施例主控制单元状态机的状态转移示意图。
图3为实施例推理计算流程图。
图4为实施例推理计算通路示意图。
图5为实施例反向传播计算流程图。
图6为实施例反向传播计算通路示意图。
图7为实施例标签生成可配置流程图。
图8为实施例可配置控制单元电路示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
图1为本实施例可配置神经网络推理与在线学习融合计算电路模块示意图,如图1所示,该电路包括主控制单元、可配置控制单元、缓存控制单元、压缩/解压缩单元、交互单元、缓存单元、神经网络融合计算单元。其中,神经网络融合计算单元包括卷积乘加单元、前向推理关键计算单元和反向传播关键计算单元。前向推理关键计算单元和反向传播关键计算单元分别与复用的卷积乘加单元组成推理计算通路和反向传播计算通路。
图2为本实施例主控制单元状态机的状态转移示意图,如图2所示,状态机的主状态由空闲状态、神经网络参数配置状态和神经网络处理状态构成。其中神经网络处理状态分为神经网络推理子状态和神经网络反向传播子状态两个子状态,各状态之间的跳转通过相应的命令或可配置控制单元的反馈信息实现。
由于在实际应用中出现的数据分布与线下训练的数据有差异,神经网络的实际效果并不一定理想,在线学习可以通过收集应用场景中的数据,对神经网络进行再学习,从而提高应用效果。因此,为了支持多种不同神经网络可以在线学习,同时提高学习效果,本发明提出了在线学习层数可配置方法和标签生成可配置方法,进一步地,根据神经网络推理和反向传播运算的相似性,本发明在在线学习层数可配置方法中通过配置计算通路实现了推理与在线学习融合计算,提高了硬件的利用率。
(a)在线学习层数可配置方法
通常,神经网络在线学习的学习效果和学习成本都与在线学习的层数密切相关。为了在一定学习成本下达到最佳的学习效果,在线学习的层数需要灵活合理的进行配置。因此,本发明提出了一种在线学习层数可配置方法,能够对神经网络的在线学习层数进行配置。
具体地,图3为本实施例推理计算流程,从第一层(n=1)神经网络推理计算开始,其计算过程如下:
A1.当神经网络推理子状态开始时,计算通路将被配置为如图4所示的推理计算通路。
A2.若可配置控制单元检测到当前层在线学习指令处于开启状态,当前层的特征图数据Fn和权重偏置数据Wn经过卷积乘加单元、激活单元、以及池化单元计算得到并保存下一层的特征图数据Fn+1,供第n+1层的神经网络推理和反向传播使用。若检测到当前层在线学习指令处于关闭状态,那特征图数据Fn+1将仅供给第n+1层神经网络推理使用。
A3.当前层计算结束后判断是否为最后一层(n=N)。若不是最后一层,则令n=n+1往下延伸一层,并返回步骤A2;若是最后一层,则在计算结束后将特征图数据送到分值比较单元和Softmax激活单元,得到最终的分类结果和各分类概率。
A4.根据步骤A2中可配置控制单元对当前层在线学习指令状态的检测结果,若当前层在线学习指令处于关闭状态,那么神经网络推理子状态结束,主状态回到空闲状态;若当前层在线学习指令处于开启状态,那么神经网络推理子状态结束并进入反向传播子状态。
图5为本实施例反向传播计算流程图,从最后一层(n=N)神经网络反向传播计算开始,神经网络反向传播的计算过程如下:
A5.当神经网络反向传播子状态开始时,计算通路将被配置为如图6所示的反向传播计算通路。接下来,各分类概率通过标签生成单元和Loss梯度计算单元计算得到神经网络最后一层的特征图梯度数据FGn
A6.该特征图梯度数据FGn与推理计算中保存的同层特征图数据Fn在卷积乘加单元中计算得到同层的权重偏置梯度数据WGn;然后,该特征图梯度数据FGn与同层的权重偏置数据Wn经过卷积乘加单元、反激活单元、以及反池化单元的计算得到上一层的特征图梯度数据FGn-1。其中特征图梯度数据FGn-1用于反向传播,权重偏置梯度数据WGn用于到片外进行权重偏置数据的更新。
A7.检测当前层是否为第一层(n=1),若是,则片上的神经网络反向传播子状态结束;若不是,则令n=n-1,往上延伸一层。
A8.若可配置控制单元检测到当前层在线学习指令处于开启状态,返回步骤A6;若检测到当前层在线学习指令处于关闭状态,则片上的神经网络反向传播子状态结束。
在该方案中,神经网络每层都能够进行在线学习的配置,并根据在线学习的要求进行相应的操作,这大大地提高了在线学习的灵活性,并保障了其有效性。同时,神经网络融合计算单元根据不同的任务动态地配置为不同的计算通路,卷积乘加单元被复用多次来进行神经网络推理和反向传播的计算,这大大地降低了不必要的硬件开销,提高了硬件的利用率。
(b)标签生成可配置方法
神经网络的学习需要权重偏置数据的多次更新迭代,而在线学习每次迭代都需要使用标签对其进行支持,因此需要支持多种可配置标签生成方法。如果该过程使用CPU等软核进行,会严重加大运算延时、数据搬移延时和功耗。本发明通过标签生成单元基于硬件电路实现该功能,总体上减少了许多不必要的延时。同时考虑到神经网络对不同标签生成方式的需求,本发明提供了一种标签生成可配置方法,在有限资源的情况下,同时支持多种标签生成方式,进一步扩展了硬件电路的应用范围。
如图1所示,在本实施例中,反向传播关键计算单元中还设置有标签生成单元。图7为本实施例标签生成可配置流程图,前向推理关键计算单元将计算得到的各分类概率中的最大概率值发送给标签生成单元生成初始标签,可配置控制单元接收并解析指令缓存单元中缓存的指令数据,根据解析的指令判断标签生成的方式,并控制标签生成单元对标签生成方式进行配置。配置完成后,标签生成单元根据需要的标签生成方式进入到相应的状态,对推理计算得到的分类结果进行标签校准。
标签生成可配置方法支持3种标签生成方式:
(1)接收片外人为标定的标签。
标签生成单元通过接口直接从片外获得人为设定的标签,以避免在极端条件下,在线学习无法得到正确标签的情况,此接口也可以作为其他标签校准方法的扩展接口。
(2)根据神经网络输出结果通过阈值筛选标签,包括以下步骤:
B1. 可配置控制单元接收并解析指令缓存单元中的概率阈值指令得到概率阈值,然后将概率阈值作为控制信号发送给标签生成单元。
B2. 标签生成单元判断各分类概率中的最大概率值是否高于设定的概率阈值。若高于概率阈值,标签生成单元则保留初始标签作为校准标签;若没有高于阈值,则计算结束,放弃反向传播的后续流程。通过这种方式,可以舍弃大部分标签确定性不高的样本,减少错误标签对在线学习效果的影响。
(3)基于目标跟踪网络的标签校准。
适用于视频领域,在基于目标跟踪网络的标签校准中,目标物体的位置坐标是连续变化的。在大部分情况下,前后两帧图片中坐标偏移量较小的物体一般是同一个物体,因此该方式利用了这种约束来校准标签。方式(3)具体为:
C1. 在第一帧视频图像出现后,标签生成单元基于目标跟踪网络生成目标跟踪所需的坐标,将标签生成单元第一次生成的目标作为参考坐标,同时将从片外得到的人为设定的标签作为参考标签。
C2. 待新一帧视频图像出现后,标签生成单元针对新一帧图像生成坐标,并根据神经网络推理得到的初始标签,计算本次生成的坐标与参考坐标之间的坐标偏移量,通过偏移量和参考标签对神经网络推理得到的初始标签进行校准,然后通过覆盖参考坐标并记录对应坐标标签的方式更新参考坐标及参考标签,将更新的参考标签作为校准标签。
这三种标签生成的方式通过可配置控制单元进行配置,满足了不同应用条件下的需求,提高了标签的准确率,并具有可扩展性,在保证算法的可执行前提下,极大的提升了运行速度,并降低了功耗。
图8为本实施例可配置控制单元电路图,如图所示,该电路包括指令解析整合状态机、指令分路器、指令整合寄存器组、指令解析寄存器组及控制标志寄存器组。
所述指令解析整合状态机通过接收主控制单元的指令解析整合使能和缓存控制单元的指令读取结束标志进行指令解析整合状态的跳转,指令解析整合状态分为解析整合状态和空闲状态,并根据解析整合状态控制指令分路器、指令整合寄存器组和控制标志寄存器组中的指令解析完成标志控制寄存器。
所述指令分路器根据解析整合状态将缓存的指令数据分配给指令整合寄存器组、和指令解析寄存器组中的标签生成方式控制寄存器。
所述指令整合寄存器组用于整合指令分路器分配来的当前层指令,当接收到指令解析整合状态机发送的指令解析完成标志后,根据不同指令定义的位宽将指令解析并分配给指令解析寄存器中的当前层指令寄存组。
所述指令解析寄存器组包括标签生成方式控制寄存器和当前层指令寄存器组。其中标签生成方式寄存器用于存储标签生成指令;当前层指令寄存器组包括当前层在线学习标志寄存器、卷积大小寄存器、卷积步长寄存器、以及输入输出通道数量寄存器等,用于控制当前层神经网络数据的读写方式和计算方式。
所述控制标志寄存器组包括指令解析完成标志控制寄存器、计算标志控制寄存器和处理结束标志控制寄存器。
指令解析完成标志控制寄存器接收并保存指令解析整合状态机发送的指令解析完成标志,表示指令整合寄存器组已完成对当前层指令的解析和分配,此时指令解析整合状态机由指令解析整合状态回到空闲状态。同时,此指令解析完成标志供缓存控制单元和神经网络融合计算单元用来判断指令解析寄存器组中的寄存器数据是否有效。
计算标志控制寄存器接收并保存主控制单元发送的推理计算使能或反向传播计算使能,表示开启推理计算或反向传播计算。
处理结束标志控制寄存器接收并保存缓存控制单元的特征图数据或特征图梯度数据写入结束标志,表示推理子状态完成或反向传播子状态完成。

Claims (7)

1.一种可配置神经网络推理与在线学习融合计算电路,其特征在于,该电路包括主控制单元、可配置控制单元、缓存控制单元、压缩/解压缩单元、交互单元、缓存单元、神经网络融合计算单元;
所述主控制单元用于接收外部命令,通过主控制单元内的状态机控制神经网络计算状态,以及可配置控制单元、压缩/解压缩单元、交互单元的开启;
所述缓存控制单元用于控制缓存单元中缓存数据的读写;
所述压缩/解压缩单元用于神经网络数据的压缩和解压,并与外部进行数据交互;所述神经网络数据包括神经网络的指令数据、权重偏置数据、特征图数据、权重偏置梯度数据和特征图梯度数据;
所述交互单元与压缩/解压缩单元、缓存单元、神经网络融合计算单元相连,用于神经网络数据交互;
所述缓存单元包括指令缓存单元、权重偏置缓存单元、特征图缓存单元和特征图梯度缓存单元;所述缓存单元用于缓存交互单元传输的神经网络数据和神经网络融合计算单元计算得到的结果数据,并将缓存的指令数据发送给可配置控制单元,将缓存的权重偏置数据、特征图数据、特征图梯度数据发送给神经网络融合计算单元;
所述神经网络融合计算单元包括卷积乘加单元、前向推理关键计算单元和反向传播关键计算单元;所述前向推理关键计算单元与卷积乘加单元组成推理计算通路,所述反向传播关键计算单元与卷积乘加单元组成反向传播计算通路;
所述可配置控制单元用于解析指令缓存单元缓存的指令数据,并根据解析结果控制缓存控制单元对神经网络数据的读写、控制神经网络融合计算单元对神经网络数据的计算方式,同时反馈信息给主控制单元用于控制神经网络计算状态的跳转;
所述状态机的主状态包括空闲状态、神经网络参数配置状态和神经网络处理状态;其中神经网络处理状态包括神经网络推理子状态和神经网络反向传播子状态,各状态之间的跳转通过相应的命令或可配置控制单元的反馈信息实现;
当外部调用配置命令时,状态机由空闲状态进入神经网络参数配置状态,此时主控制单元开启压缩/解压缩单元和交互单元;外部输入的指令数据和权重偏置数据被压缩/解压缩单元解压后通过交互单元配置到指令缓存单元和权重偏置缓存单元中;当配置结束后,状态机返回空闲状态,此时外部能够通过查询状态机的空闲状态来判断配置是否结束;
配置结束后,外部调用处理命令,状态机进入神经网络推理子状态,此时主控制单元开启压缩/解压缩单元、交互单元和可配置控制单元;在神经网络推理子状态中,外部输入的特征图数据被压缩/解压缩单元解压后通过交互单元配置到特征图缓存单元中;可配置控制单元接收并解析指令缓存单元中缓存的指令数据;
所述指令数据包括各层的当前层在线学习指令,对需要在线学习的各层,将当前层在线学习指令设置为开启状态,对不需要在线学习的各层,将当前层在线学习指令设置为关闭状态;若可配置控制单元检测到当前层在线学习指令处于关闭状态,那么可配置控制单元发送控制信息给缓存控制单元和神经网络融合计算单元,令缓存控制单元将缓存单元中的特征图数据、权重偏置数据传输给神经网络融合计算单元,同时令神经网络融合计算单元中的计算通路配置为推理计算通路;计算结束后输出最后的分类结果和各分类概率,神经网络推理子状态结束;然后状态机的主状态回到空闲状态,处理状态的子状态保持在神经网络推理子状态;
若可配置控制单元检测到当前层在线学习指令处于开启状态,那么在神经网络推理子状态中,在当前层计算的同时保存当前层的特征图数据;在神经网络推理子状态结束后,状态机将进入神经网络反向传播子状态;此时可配置控制单元发出控制信息给缓存控制单元和神经网络融合计算单元,令缓存控制单元将缓存单元中的特征图数据、特征图梯度数据、权重偏置数据传输给神经网络融合计算单元,同时令神经网络融合计算单元中的计算通路配置为反向传播计算通路;神经网络融合计算单元通过计算得到神经网络各层的特征图梯度数据和权重偏置梯度数据,其中特征图梯度数据用于反向传播,权重偏置梯度数据用于更新权重偏置数据,实现神经网络的在线学习,至此神经网络反向传播子状态结束;在反向传播状态结束后,状态机的主状态回到空闲状态,处理状态的子状态回到神经网络推理子状态。
2.如权利要求1所述的一种可配置神经网络推理与在线学习融合计算电路,其特征在于,所述前向推理关键计算单元包括激活单元、池化单元、Softmax激活单元和分值比较单元。
3.如权利要求1所述的一种可配置神经网络推理与在线学习融合计算电路,其特征在于,所述反向传播关键计算单元包括反激活单元、反池化单元、标签生成单元和Loss梯度计算单元。
4.如权利要求2或3所述的一种可配置神经网络推理与在线学习融合计算电路,其特征在于,该电路在线学习的过程如下:
A1.当神经网络推理子状态开始时,计算通路被配置为推理计算通路;
A2.若可配置控制单元检测到当前层在线学习指令处于开启状态,当前层的特征图数据Fn和权重偏置数据Wn经过卷积乘加单元、激活单元、以及池化单元计算得到并保存下一层的特征图数据Fn+1,供第n+1层的神经网络推理和反向传播使用;若检测到当前层在线学习指令处于关闭状态,那特征图数据Fn+1将仅供给第n+1层神经网络推理使用;
A3.当前层计算结束后判断是否为最后一层;若不是最后一层,则令n=n+1往下延伸一层,并返回步骤A2;若是最后一层,则在计算结束后将特征图数据送到分值比较单元和Softmax激活单元,得到最终的分类结果和各分类概率;
A4.根据步骤A2中可配置控制单元对当前层在线学习指令状态的检测结果,若当前层在线学习指令处于关闭状态,那么神经网络推理子状态结束,主状态回到空闲状态;若当前层在线学习指令处于开启状态,那么神经网络推理子状态结束并进入反向传播子状态;
A5.当神经网络反向传播子状态开始时,计算通路将被配置为反向传播计算通路;接下来,各分类概率通过标签生成单元和Loss梯度计算单元计算得到神经网络最后一层的特征图梯度数据FGn
A6.该特征图梯度数据FGn与推理计算中保存的同层特征图数据Fn在卷积乘加单元中计算得到同层的权重偏置梯度数据WGn;然后,该特征图梯度数据FGn与同层的权重偏置数据Wn经过卷积乘加单元、反激活单元、以及反池化单元的计算得到上一层的特征图梯度数据FGn-1;其中特征图梯度数据FGn-1用于反向传播,权重偏置梯度数据WGn用于到片外进行权重偏置数据的更新;
A7.检测当前层是否为第一层,若是,则片上的神经网络反向传播子状态结束;若不是,则令n=n-1,往上延伸一层;
A8.若可配置控制单元检测到当前层在线学习指令处于开启状态,返回步骤A6;若检测到当前层在线学习指令处于关闭状态,则片上的神经网络反向传播子状态结束。
5.如权利要求4所述的一种可配置神经网络推理与在线学习融合计算电路,其特征在于,该电路包括如下标签生成方式:
前向推理关键计算单元将计算得到的各分类概率中的最大概率值发送给标签生成单元生成初始标签,可配置控制单元接收并解析指令缓存单元中缓存的指令数据,根据解析的指令判断标签生成的方式,并控制标签生成单元对标签生成方式进行配置;配置完成后,标签生成单元根据标签生成方式对推理计算得到的分类结果进行标签校准;
该电路支持以下3种标签生成方式:
(1)接收片外人为标定的标签;
标签生成单元通过接口直接从片外获得人为设定的标签,此接口也作为其他标签校准方法的扩展接口;
(2)根据神经网络输出结果通过阈值筛选标签,包括以下步骤:
B1. 可配置控制单元接收并解析指令缓存单元中的概率阈值指令得到概率阈值,然后将概率阈值作为控制信号发送给标签生成单元;
B2. 标签生成单元判断各分类概率中的最大概率值是否高于设定的概率阈值;若高于概率阈值,标签生成单元则保留初始标签作为校准标签;若没有高于阈值,则计算结束,放弃反向传播的后续流程;
(3)基于目标跟踪网络的标签校准本标签生成方式适用于视频领域,具体为:
C1. 在第一帧视频图像出现后,标签生成单元基于目标跟踪网络生成目标跟踪所需的坐标,将标签生成单元第一次生成的目标作为参考坐标,同时将从片外得到的人为设定的标签作为参考标签;
C2. 待新一帧视频图像出现后,标签生成单元针对新一帧图像生成坐标,并根据神经网络推理得到的初始标签,计算本次生成的坐标与参考坐标之间的坐标偏移量,通过偏移量和参考标签对神经网络推理得到的初始标签进行校准,然后通过覆盖参考坐标并记录对应坐标标签的方式更新参考坐标及参考标签,将更新的参考标签作为校准标签。
6.如权利要求4所述的一种可配置神经网络推理与在线学习融合计算电路,其特征在于,所述神经网络融合计算单元内仅设置有一个卷积乘加单元。
7.如权利要求6所述的一种可配置神经网络推理与在线学习融合计算电路,其特征在于,所述卷积乘加单元包括乘法器组、通道加法树和卷积累加器;其中通道加法树对多个输入通道的特征图数据进行并行地相加,卷积累加器则对神经网络剩余需要累加的数据进行串行地累加。
CN202010991702.6A 2020-09-21 2020-09-21 一种可配置神经网络推理与在线学习融合计算电路 Active CN111832720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010991702.6A CN111832720B (zh) 2020-09-21 2020-09-21 一种可配置神经网络推理与在线学习融合计算电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010991702.6A CN111832720B (zh) 2020-09-21 2020-09-21 一种可配置神经网络推理与在线学习融合计算电路

Publications (2)

Publication Number Publication Date
CN111832720A true CN111832720A (zh) 2020-10-27
CN111832720B CN111832720B (zh) 2020-12-29

Family

ID=72918420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010991702.6A Active CN111832720B (zh) 2020-09-21 2020-09-21 一种可配置神经网络推理与在线学习融合计算电路

Country Status (1)

Country Link
CN (1) CN111832720B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686374A (zh) * 2020-12-31 2021-04-20 中山大学 基于自适应负载分配的深度神经网络模型协同推理方法
CN116702852A (zh) * 2023-08-02 2023-09-05 电子科技大学 基于多阶段事件驱动的动态重构神经网络加速电路及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480782A (zh) * 2017-08-14 2017-12-15 电子科技大学 一种片上学习神经网络处理器
CN108846364A (zh) * 2018-06-22 2018-11-20 国家计算机网络与信息安全管理中心 一种基于fpga的视频特征检测方法和系统
CN109711543A (zh) * 2018-12-30 2019-05-03 南京大学 一种可重构的深度置信网络实现系统
CN109783412A (zh) * 2019-01-18 2019-05-21 电子科技大学 一种深度强化学习加速训练的方法
CN110543939A (zh) * 2019-06-12 2019-12-06 电子科技大学 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构
CN110991632A (zh) * 2019-11-29 2020-04-10 电子科技大学 一种基于fpga的异构神经网络计算加速器设计方法
CN111242289A (zh) * 2020-01-19 2020-06-05 清华大学 一种规模可扩展的卷积神经网络加速系统与方法
CN111353586A (zh) * 2020-02-23 2020-06-30 苏州浪潮智能科技有限公司 一种基于fpga实现cnn加速的系统
CN111582320A (zh) * 2020-04-17 2020-08-25 电子科技大学 一种基于半监督学习的动态个体识别方法
CN111651207A (zh) * 2020-08-06 2020-09-11 腾讯科技(深圳)有限公司 一种神经网络模型运算芯片、方法、装置、设备及介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480782A (zh) * 2017-08-14 2017-12-15 电子科技大学 一种片上学习神经网络处理器
CN108846364A (zh) * 2018-06-22 2018-11-20 国家计算机网络与信息安全管理中心 一种基于fpga的视频特征检测方法和系统
CN109711543A (zh) * 2018-12-30 2019-05-03 南京大学 一种可重构的深度置信网络实现系统
CN109783412A (zh) * 2019-01-18 2019-05-21 电子科技大学 一种深度强化学习加速训练的方法
CN110543939A (zh) * 2019-06-12 2019-12-06 电子科技大学 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构
CN110991632A (zh) * 2019-11-29 2020-04-10 电子科技大学 一种基于fpga的异构神经网络计算加速器设计方法
CN111242289A (zh) * 2020-01-19 2020-06-05 清华大学 一种规模可扩展的卷积神经网络加速系统与方法
CN111353586A (zh) * 2020-02-23 2020-06-30 苏州浪潮智能科技有限公司 一种基于fpga实现cnn加速的系统
CN111582320A (zh) * 2020-04-17 2020-08-25 电子科技大学 一种基于半监督学习的动态个体识别方法
CN111651207A (zh) * 2020-08-06 2020-09-11 腾讯科技(深圳)有限公司 一种神经网络模型运算芯片、方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
余子健: "基于FPGA的卷积神经网络加速器", 《中国优秀硕士学位论文全文数据库》 *
秦华标等: "基于FPGA的卷积神经网络硬件加速器设计", 《电子与信息学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686374A (zh) * 2020-12-31 2021-04-20 中山大学 基于自适应负载分配的深度神经网络模型协同推理方法
CN116702852A (zh) * 2023-08-02 2023-09-05 电子科技大学 基于多阶段事件驱动的动态重构神经网络加速电路及系统
CN116702852B (zh) * 2023-08-02 2023-10-20 电子科技大学 基于多阶段事件驱动的动态重构神经网络加速电路及系统

Also Published As

Publication number Publication date
CN111832720B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
US10762426B2 (en) Multi-iteration compression for deep neural networks
US10929744B2 (en) Fixed-point training method for deep neural networks based on dynamic fixed-point conversion scheme
CN111832720B (zh) 一种可配置神经网络推理与在线学习融合计算电路
CN110046226B (zh) 一种基于分布词向量cnn-rnn网络的图像描述方法
CN109063820A (zh) 利用时频联合长时循环神经网络的数据处理方法
CN111788585B (zh) 一种深度学习模型的训练方法、系统
US11755904B2 (en) Method and device for controlling data input and output of fully connected network
CN112967739B (zh) 一种基于长短期记忆网络的语音端点检测方法及系统
CN111709493B (zh) 对象分类方法、训练方法、装置、设备及存储介质
CN113688878B (zh) 一种基于记忆力机制和图神经网络的小样本图像分类方法
CN113222101A (zh) 深度学习处理装置、方法、设备和存储介质
KR102541660B1 (ko) 음성 신호에 기반한 감정 인식 장치 및 방법
WO2024113782A1 (zh) 一种图像实例分割方法、系统、设备以及非易失性可读存储介质
CN111291618A (zh) 标注方法、装置、服务器和存储介质
CN110084356B (zh) 一种深度神经网络数据处理方法和装置
CN116645960A (zh) 模型训练方法、语音唤醒方法、装置、设备及介质
US11941508B2 (en) Dialog system with adaptive recurrent hopping and dual context encoding
CN112598065B (zh) 一种基于记忆的门控卷积神经网络语义处理系统及方法
CN114880527A (zh) 一种基于多预测任务的多模态知识图谱表示方法
CN113850370A (zh) 数据处理方法及设备、处理芯片
CN115600635A (zh) 神经网络模型的训练方法、数据处理的方法及装置
KR102090109B1 (ko) 학습 및 추론 장치 및 그 방법
CN110825853B (zh) 数据训练方法和装置
Ponghiran Fast and Energy-Efficient Computing with Spiking Neural Networks

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