CN112949830B - 智能推断网络系统以及加法单元和池化单元电路系统 - Google Patents

智能推断网络系统以及加法单元和池化单元电路系统 Download PDF

Info

Publication number
CN112949830B
CN112949830B CN202110256761.3A CN202110256761A CN112949830B CN 112949830 B CN112949830 B CN 112949830B CN 202110256761 A CN202110256761 A CN 202110256761A CN 112949830 B CN112949830 B CN 112949830B
Authority
CN
China
Prior art keywords
sequence
output
module
value
random
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
CN202110256761.3A
Other languages
English (en)
Other versions
CN112949830A (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.)
He Guanghui
Xu Ningyi
Original Assignee
Hefei Huixi Intelligent Technology 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 Hefei Huixi Intelligent Technology Co ltd filed Critical Hefei Huixi Intelligent Technology Co ltd
Priority to CN202110256761.3A priority Critical patent/CN112949830B/zh
Publication of CN112949830A publication Critical patent/CN112949830A/zh
Application granted granted Critical
Publication of CN112949830B publication Critical patent/CN112949830B/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
    • G06N3/045Combinations of networks
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • 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/08Learning methods
    • 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/041Abduction

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)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供了一种智能推断网络系统以及加法单元和池化单元电路系统,包括依次设置的序列生成单元模块、第一卷积层模块、第一池化层模块、第二卷积层模块、第二池化层模块、第三卷积层模块、第一全连接层模块、第二全连接层模块以及序列转化单元模块;所述第一卷积层模块~第三卷积层模块以及第一全连接层模块和第二全连接层模块中的加法组件均采用基于随机计算的加法单元电路模块;所述第一池化层模块和第二池化层模块均采用基于随机计算的最大池化单元电路模块。本发明通过引入并设计两个随机计算单元,解决智能推断芯片面积大、功耗高等问题。

Description

智能推断网络系统以及加法单元和池化单元电路系统
技术领域
本发明涉及数字电路优化技术领域,具体地,涉及一种智能推断网络系统以及加法单元和池化单元电路系统。
背景技术
智能推断网络由于其可以自动提取特征并进行分析的特性,广泛地被应用在计算机视觉、自然语言处理和语音识别等各个领域。近年来,许多在现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者专用集成电路(Application Specific IntegratedCircuit,ASIC)上实现的智能推断芯片取得了很好的结果。然而随着网络层数的增加,其计算量急剧增长,过大的芯片面积和功耗限制了智能推断网络在嵌入式设备上的应用。随着摩尔定律即将走到尽头,芯片的硬件开销问题无法通过集成更多的晶体管来解决,因此急需一种新的计算模式。
随机计算(Stochastic Computing,SC)能解决芯片硬件开销的问题。随机计算是从数据编码角度提出的一种变革性计算架构,它利用由0和1构成的随机序列中1的概率来编码数值,能用简单的门逻辑实现复杂的运算,从而从根本上简化硬件电路并可能满足智能推断网络的面积和功率要求,是解决智能推断网络上述难题的新思路。随机计算与智能推断网络具有很好的契合度,主要体现在三点,一是神经网络计算规模大,而随机计算通过重新设计电路以简化计算的复杂度,相比二进制运算方法,随机计算运算电路结构简单,具有低功耗和高容错率的天然优势;二是网络的计算结果是各个类别的相对关系,对计算精度要求不是太高;三是智能推断网络的推理结果天然地和概率值相关,非常契合随机计算的特性,故随机计算的低精度和随机变异的缺点在智能推断网络应用中具有很好的耐受性。因此随机计算在计算量大但是计算精度要求不高的智能推断网络中发挥了其优势。
SC最大的优点是能用逻辑门电路实现复杂的运算,例如乘法仅需要一个与门即可实现。其另一个优点是容错率高。当然,SC也有局限性:一是计算精度不高;二是序列的长度随着表示数精度的提升指数性增长。
随机计算的特性决定了它能很好地适用于一些概率值计算的场景,例如智能推断,通信中的检测和译码等。当前已有一些研究将SC运用于智能推断网络中并取得了很好的结果。例如,雪城大学的Li等人在《IEEE Transactions on Computer-Aided Design ofIntegrated Circuits and Systems,2019,38(8):1543-1556》发表的论文“HEIF:HighlyEfficient Stochastic Computing based Inference Framework for Deep NeuralNetworks(HEIF:基于高效随机计算的深度神经网络推理框架)”中提出了一种基于SC的高效深度神经网络推理框架,能在LeNet-5和AlexNet等网络中得到较好的应用。相比浮点设计而言,其精度损失较低,同时能获得至少数十倍的面积效率和能量效率的提升。
然而,为了将随机计算运用于智能推断网络推断中,仍有很多问题需要解决。
第一是随机序列的长度问题。由于随机计算的精度随序列长度增大而增大。因此为了保证准确度,随机序列需要足够的长,当前大多数研究采用的随机序列长度都在1024比特,这将导致系统的延迟和吞吐率下降。因此随机计算的长度选择需要权衡准确率和吞吐率,在保证精度的同时提高电路性能。为确保较好的准确率。
第二是随机计算单元的精度问题。随机计算由于其自身的随机性使得计算准确度难以保障,为了提高其计算精度,自随机计算发明以来已经有多种针对于神经网络的随机计算基本单元被相继提出,但是目前为止的这些随机计算单元大多通过提高序列长度来补偿精度,这又进一步导致延迟问题,因而根本的解决方法是提高随机计算的精度以满足神经网络分类准确度的需求。
第三是面向神经网络的随机计算单元设计问题。作为一门新兴技术,许多SC单元未得到较好的设计。例如对于神经网络中的激活单元,传统基于SC的整流线性单元(Rectified Linear Unit,ReLU)是由有限状态机近似而来,精度较低;对于神经网络中的池化层,已有文献中基于序列分割的最大池化单元由于具有冗余延时,影响电路吞吐率等。因此,为了保证随机计算在神经网络中的应用,需要设计适用于神经网络的随机计算单元。
综上所述,随机计算有着硬件结构简单、硬件消耗低的特点,能够很好的运用于智能推断网络中并解决面积/功耗的问题,但是很多设计细节并未完美解决,也就是说,现有的随机计算技术,仍然存在序列长、精度低的问题。
发明内容
本发明针对现有技术中存在的上述不足,提供了一种智能推断网络系统以及加法单元和池化单元电路系统。本发明致力于设计更高效准确的随机计算,并用于智能推断网络系统中,从而解决序列长、精度低的问题。
根据本发明的一个方面,提供了一种智能推断网络系统,包括依次设置的序列生成单元模块、第一卷积层模块、第一池化层模块、第二卷积层模块、第二池化层模块、第三卷积层模块、第一全连接层模块、第二全连接层模块以及序列转化单元模块;
所述第一卷积层模块~第三卷积层模块以及第一全连接层模块和第二全连接层模块中的加法组件均采用基于随机计算的加法单元电路模块;
所述第一池化层模块和第二池化层模块均采用基于随机计算的最大池化单元电路模块;
其中:
所述基于随机计算的加法单元电路模块,包括:MUX多路选择器模块和并行全加器模块;所述MUX多路选择器模块与所述并行全加器模块相连,并将所述MUX多路选择器模块的所有输出作为所述并行全加器模块的输入;
所述基于输出反馈的随机计算最大池化单元电路模块,包括:累加器、减法器、D寄存器、级联比较器和输出比较器,所述累加器与所述减法器连接,所述减法器与所述D寄存器连接,所述D寄存器与所述累加器连接,形成一层级联结构;多层所述级联结构与一个所述级联比较器连接,形成一层子结构;多层所述子结构与所述输出比较器连接;所述输出比较器的输出反馈至所述减法器。
优选地,所述MUX多路选择器模块包括多个并行的二选一MUX多路选择器,用于内部抵消正负误差;所述并行全加器模块,用于对述MUX多路选择器模块的输出进行无误差的加法运算。
优选地,所述累加器用于接收初始序列,并输出输入序列至减法器;所述减法器用于计算输入序列和输出序列之间的差值;所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列;所述级联比较器用于比较级联结构输出的差值中的最大值;所述输出比较器用于将差值中的最大值与0进行比较,并输出相应的输出序列反馈至所述减法器中进行计算。
优选地,所述初始序列采用SC序列或整数序列;所述输出序列为SC序列。
优选地,所述输出序列输出的随机序列表示的二进制数值范围在[0,1]之间。
优选地,所述输出序列,包括:
-当输入序列中的最大值表示的二进制数值大于或者等于1时,所述输出比较器的输出恒大于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为1;
-当输入序列中的最大值表示的二进制数值小于或者等于0时,所述输出比较器的输出恒小于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为0;
-当输入序列中的最大值表示的二进制数值大于0小于1时,此时所述差值中的最大值与0比较后,输出序列中的值为0或1;
将所述输出序列反馈至所述减法器,计算输入序列和输出序列之间的差值;随着反馈的进行,所述输出序列所表示的二进制数值将逼近所述输入序列中表示的最大二进制数值。
根据本发明的另一个方面,提供了一种基于误差补偿的随机计算加法单元电路系统,包括:MUX多路选择器模块和并行全加器模块;所述MUX多路选择器模块与所述并行全加器模块相连,并将所述MUX多路选择器模块的所有输出作为所述并行全加器模块的输入;其中:
所述MUX多路选择器模块包括多个并行的二选一MUX多路选择器,用于内部抵消正负误差;
所述并行全加器模块,用于对述MUX多路选择器模块的输出进行无误差的加法运算。
根据本发明的第三个方面,提供了一种基于输出反馈的随机计算最大池化单元电路系统,包括:最大池化模块;所述最大池化模块包括累加器、减法器、D寄存器、级联比较器和输出比较器,所述累加器与所述减法器连接,所述减法器与所述D寄存器连接,所述D寄存器与所述累加器连接,形成一层级联结构;多层所述级联结构与一个所述级联比较器连接,形成一层子结构;多层所述子结构与所述输出比较器连接;所述输出比较器的输出反馈至所述减法器;其中:
所述累加器用于接收初始序列,并输出输入序列至减法器;
所述减法器用于计算输入序列和输出序列之间的差值;
所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列;
所述级联比较器用于比较级联结构输出的差值中的最大值;
所述输出比较器用于将差值中的最大值与0进行比较,并输出相应的输出序列反馈至所述减法器中进行计算。
优选地,所述初始序列采用SC序列或整数序列;所述输出序列为SC序列。
优选地,所述输出序列输出的随机序列表示的二进制数值范围在[0,1]之间。
所述输出序列,包括:
-当输入序列中的最大值表示的二进制数值大于或者等于1时,所述输出比较器的输出恒大于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为1;
-当输入序列中的最大值表示的二进制数值小于或者等于0时,所述输出比较器的输出恒小于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为0;
-当输入序列中的最大值表示的二进制数值大于0小于1时,此时所述差值中的最大值与0比较后,输出序列中的值为0或1;
将所述输出序列反馈至所述减法器,计算输入序列和输出序列之间的差值;随着反馈的进行,所述输出序列所表示的二进制数值将逼近所述输入序列中表示的最大二进制数值。
本发明提供的智能推断网络系统以及加法单元和池化单元电路系统,为了克服当前基于随机计算的智能推断网络中精度较低、序列较长的问题,首先针对智能推断网络提出了两种高精度随机计算单元,一是基于误差补偿的随机计算加法单元电路模块;接着,设计了一种能同时实现神经网络中激活功能和池化功能的基于输出反馈的随机计算最大池化单元电路模块。结合提出的随机计算单元,实现了面向智能推断网络系统的随机计算硬件设计与实现,从而提升系统的吞吐率、面积效率等硬件性能。
由于采用了上述技术方案,本发明与现有技术相比,具有如下至少一项的有益效果:
本发明通过引入并设计两个随机计算单元,解决智能推断芯片面积大、功耗高等问题。
本发明通过高精度随机计算加法单元设计,保证正负误差产生的概率相等,采用误差补偿的技术减小序列误差,从而提升该加法器随机计算单元的精度,且相对二进制全并行加法器减小硬件开销。
本发明通过高精度随机计算最大池化单元设计,利用反馈电路实时跟随输出比特的变化,并按比特反馈到求和电路,从而提升该最大池化随机计算单元的精度,同时不产生电路冗余延时。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为现有随机计算(SC)系统的结构及工作原理图
图2为本发明一实施例中基于误差补偿的随机计算加法单元电路系统的硬件结构示意图和工作原理图;其中,(a)为硬件结构示意图,(b)为误差产生原理图,(c)误差补偿原理图
图3为本发明一实施例中基于输出反馈的随机计算最大池化单元电路系统的硬件结构示意图;
图4为本发明一优选实施例中基于误差补偿的随机计算加法单元电路系统的性能仿真与硬件开销仿真图;其中,(a)为性能仿真图,(b)为硬件开销仿真图;
图5为本发明一优选实施例中基于输出反馈的随机计算最大池化单元电路系统的性能仿真图;
图6为本发明一实施例中智能推断网络系统的硬件架构图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
图2为本发明一实施例提供的基于误差补偿的随机计算加法单元电路系统的结构示意图。
如图2所示,该实施例提供的基于误差补偿的随机计算加法单元电路系统,可以包括:MUX多路选择器模块和并行全加器模块;MUX多路选择器模块与并行全加器模块相连,并将MUX多路选择器模块的所有输出作为并行全加器模块的输入。
进一步地,MUX多路选择器模块包括多个并行的二选一MUX多路选择器,用于内部抵消正负误差;
并行全加器模块,用于对述MUX多路选择器模块的输出进行无误差的加法运算。
图3为本发明另一实施例提供的基于输出反馈的随机计算最大池化单元电路系统的结构示意图。
如图3所示,该实施例提供的基于输出反馈的随机计算最大池化单元电路系统,可以包括:最大池化模块;最大池化模块包括累加器、减法器、D寄存器、级联比较器和输出比较器,累加器与减法器连接,减法器与D寄存器连接,D寄存器与累加器连接,形成一层级联结构;多层级联结构与一个级联比较器连接,形成一层子结构;多层子结构与输出比较器连接;输出比较器的输出反馈至减法器。
进一步地,累加器用于接收初始序列,并输出输入序列至减法器;
减法器用于计算输入序列和输出序列之间的差值;
D寄存器用于存储当前差值,并反馈至累加器中与下一个初始序列进行累加,形成下一个输入序列;
级联比较器用于比较级联结构输出的差值中的最大值;
输出比较器用于将差值中的最大值与0进行比较,并输出相应的输出序列反馈至减法器中进行计算。
作为该实施例的一优选实施例,初始序列采用SC序列或整数序列;输出序列为SC序列。
作为该实施例的一优选实施例,输出序列输出的随机序列表示的二进制数值范围在[0,1]之间。
作为该实施例的一优选实施例,输出序列,包括:
-当输入序列中的最大值表示的二进制数值大于或者等于1时,输出比较器的输出恒大于0,此时差值中的最大值与0比较后,输出序列中的各个值均为1;
-当输入序列中的最大值表示的二进制数值小于或者等于0时,输出比较器的输出恒小于0,此时差值中的最大值与0比较后,输出序列中的各个值均为0;
-当输入序列中的最大值表示的二进制数值大于0小于1时,此时差值中的最大值与0比较后,输出序列中的值为0或1;
将输出序列反馈至减法器,计算输入序列和输出序列之间的差值;随着反馈的进行,输出序列所表示的二进制数值将逼近输入序列中表示的最大二进制数值。
图6为本发明另一实施例提供的智能推断网络系统的结构示意图。
如图6所示,该实施例提供的智能推断网络系统,可以包括依次设置的序列生成单元模块、第一卷积层模块、第一池化层模块、第二卷积层模块、第二池化层模块、第三卷积层模块、第一全连接层模块、第二全连接层模块以及序列转化单元模块;
第一卷积层模块~第三卷积层模块以及第一全连接层模块和第二全连接层模块中的加法组件均均可以采用上述实施例中任一项的基于误差补偿的随机计算加法单元电路系统,作为基于随机计算的加法单元电路模块;
第一池化层模块和第二池化层模块均可以采用上述实施例中任一项的基于输出反馈的随机计算最大池化单元电路系统,作为基于随机计算的最大池化单元电路模块。
在该实施例中,上述两个实施例中的任意一个实施例均可理解为该实施例的优选例,在此不予赘述。
下面结合附图,对本发明上述三个实施例的设计原理及技术方案进一步详细描述如下。
随机计算(SC)将二进制数转化为一串只包含0和1的序列,它利用比特序列中1的概率来编码数值,序列中1所占的比例即为数的大小,但是序列的长度和1,0的位置都是不确定的。例如,数值x=1/4可以用序列{0,1,0,0}表示,序列中1的频率等于1/4。通过随机计算,二进制数下很复杂的运算可以由简单的电路门来实现。如图1所示,表示数x和y的随机序列X和Y,逐比特通过与门时,根据与门性质,输出的序列Z表示的数z即为x乘y的结果。
随机计算(SC)系统通常由三个部分构成:随机序列生成单元、随机计算单元和后向转化单元,如图1所示。其中随机序列生成单元实现二进制数转化为随机序列的功能,一般包含一个用于产生随机数的线性移位寄存器(Linear Feedback Shift Register,LFSR)和一个比较器(Comparator,CMP)。随机计算后向转化单元用来将随机序列还原成二进制数,由于随机计算中1的概率即表示数值,因此该单元可以由计数器对1进行计数完成。而介于前向生成单元与后向转换单元之间的随机计算单元可以是随机计算乘法、加法等基本运算单元,也可以是指数运算、多项式运算等更为复杂的计算单元,同时也可以是上述运算单元组成的整个系统。
虽然当前有很多基于随机计算(SC)的智能推断网络设计并且取得了较好的结果,但是它们普遍有着序列长、精度低的缺点,难以满足应用的需求。
基于以上分析,本发明为了提高随机计算的准确性,针对以下两种随机计算单元进行了设计:
1)提出了基于误差补偿原理的高精度随机计算加法运算单元,设计了一种基于误差补偿的随机计算加法单元电路系统;
2)提出了能同时实现激活和池化功能的随机计算单元,设计了一种基于输出反馈的随机计算最大池化单元电路系统。
通过采用这两种结构,基于随机计算的卷积神经网络推理准确率得到提高,同时减少了序列长度。此外,本发明还实现了面向智能推断网络的随机计算硬件设计与实现。
上述随机计算单元的具体设计与实现步骤如下:
一、基于误差补偿的随机计算加法单元电路系统
加法运算是神经网络中最为关键的运算之一,因此SC加法单元的精度至关重要。本优选实施例提出一种基于多路选择器的加法树结构:基于误差补偿的随机计算加法单元(Mux Parallel Counter,MPC),该MPC加法单元属于一种缩放加法器,缩放系数为2,执行的功能是求得所有输入之和的1/2,输出的格式是二进制整数序列的形式,长度与随机序列一致。本优选实施例中PC加法器部分的输入个数为总输入个数一半,相对于直接使用PC,该部分的计算规模也减半,相较于直接使用PC可以节省面积。
如图2中(a)所示,图中FA为全加器(Full Adder,FA),HA为半加器(Half Adder,HA)。该加法单元主要由两个部分构成,即并联MUX部分和并行加法器部分,第一部分采用多个并联的MUX多路选择器结构,选通信号是值为0.5的随机序列,每一个MUX的结果是两输入之和的1/2,所有并行MUX的结果输出到PC。第二部分为并行全加器,相当于二进制中的并行加法器,即依次将所有输入的值相加。对于该电路来说,实质上实现的是1/2加法器的功能。
该加法单元的原理是误差补偿。如图2(b)所示,当输入对应位置的比特不同时,这时MUX根据选通信号决定输出值,由于理论的输出值应该为两数之和的1/2即0.5,因此MUX若输出1会引入+0.5的误差,输出0会引入-0.5的误差,由于选通信号值为0.5,MUX输出1和0的概率相同,故一个MUX产生的+0.5或-0.5的误差就可以内部进行相互补偿。
二、基于输出反馈的随机计算最大池化单元电路系统SC ReLU-MAX
最大池化单元在智能推断网络中有着较为关键的地位。现有研究提出了最大池化单元Max Pooling Block,然而该电路需要多个计数器,占用较大的硬件开销,且计算精度较低且有额外延时。本优选实施例提出了一种基于输出反馈的SC最大值池化单元SC ReLU-MAX,能大幅度提升计算精度,其硬件结构如图3所示。图中4个序列首先分别通过一个累加器,累加器用来存储从D寄存器反馈的值,接着通过一个减法器,该减法器用来计算输入序列X与输出序列Y的差值。由于输出序列Y只包含0和1,故减法器仅执行减1或0的功能,图中D单元表示寄存器,用于存储当前差值,反馈到累加器中与下一个输入进行累加。CMP为比较器,级联两层后输出四个差值中的最大值,将该最大值与0比较,若大于0则输出1,反之则输出0。该电路实现的功能是求得4个输入随机序列的最大值并同时将输出截断在[0,1]之间,即同时实现ReLU函数的功能,由于电路每输入一个比特,同时输出一个比特,因此该电路没有冗余的电路延时。
图中输入序列首先分别通过一个累加器,所述累加器用于接收初始序列,并输出输入序列至减法器;所述减法器用于计算输入序列和输出序列之间的差值;所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列;所述级联比较器用于比较级联结构输出的差值中的最大值;所述输出比较器用于将差值中的最大值与0进行比较,并输出相应的输出序列反馈至所述减法器中进行计算。
反馈至减法器的输出序列,输出的随机序列表示的二进制数值范围在[0,1]之间。当输入序列的最大值序列(即输入序列所表示的二进制数值为最大值的序列)表示的二进制数值大于等于1时,所述比较器的输出恒大于0,因此差值中的最大值与0比较后输出序列的各个值均为1;当输入序列的最大值序列(即输入序列所表示的二进制数值为最大值的序列)表示的二进制数值小于等于0时,所述比较器的输出恒小于0,因此差值中的最大值与0比较后输出序列的各个值均为0;当输入序列的最大值序列(即输入序列所表示的二进制数值为最大值的序列)表示的二进制数值大于0小于1时,所述比较器的输出序列可能小于0也可能大于0,因此差值中的最大值与0比较后输出序列的值可能包含0和1。输出序列会反馈到所述减法器,所述减法器用于计算输入序列和输出序列之间的差值;所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列,随着反馈的进行,输出序列的所表示的二进制数值会逼近输入序列中所表示的最大二进制数值。
在本发明部分实施例中:
在基于误差补偿的随机计算加法单元电路系统中,形成一种基于多路选择器的加法树结构,该加法器属于一种缩放加法器,能在较短的随机序列长度下保持较高精度,电路将并行加法器的输入个数减小一半,因此计算规模也减半,相较于直接使用并行加法器可以节省面积。
在基于输出反馈的随机计算最大池化单元电路系统中,基于输出反馈的原理,能在不引入额外延迟的情况下求得随机序列的最大值,且输出值仍为随机序列,从而避免了随机序列和二进制数的转换。
在智能推断网络系统中,基于上述两个随机计算单元,形成随机计算神经元核心,实现一种随机计算的卷积神经网络硬件架构。
进一步地,在基于误差补偿的随机计算加法单元电路系统中:
多个并联的MUX多路选择器结构部分。每一个MUX的结果是两输入之和的1/2,由于MUX的选通信号为0.5,这就使得负误差和正误差产生的概率相同,故正负误差就可以内部相互抵消,该设计能较大程度提高电路误差补偿的能力和电路精度。
并行全加器电路部分。接收并行MUX的结果,相当于二进制中的并行加法器,即依次将所有输入的值相加。该部分实现无误差的加法运算。
误差补偿方式。单个MUX结构利用正负误差就可以内部相互抵消,随机序列固有的随机性使得多个并行MUX之间的误差也能进行相互补偿,两次误差补偿将绝对误差控制在较小的范围,从而解决误差累积的问题,该设计通过误差补偿的原理提高了准确率。
进一步地,在基于输出反馈的随机计算最大池化单元电路系统中:
最大池化电路。输入序列可以是SC序列和整数序列,输出序列为SC序列。每个输入序列都分别经过一个累加器和减法器,计算输入序列与输出序列的差值。CMP为比较器,级联后输出差值中的最大值,输出相对输入延迟一比特。该电路能在没有冗余延迟的情况下输出最大值序列。
输出反馈方式。
反馈至减法器的输出序列,输出随机序列表示的二进制数值范围在[0,1]之间,当输入序列的最大值序列(即输入序列所表示的二进制数值为最大值的序列)表示的二进制数值大于1时,所述比较器的输出恒大于等于0,因此该差值中的最大值与0比较后输出序列的各个值均为1;当输入序列的最大值序列(即输入序列所表示的二进制数值为最大值的序列)表示的二进制数值小于等于0时,所述比较器的输出恒小于0,因此该差值中的最大值与0比较后输出序列的各个值均为0;当输入序列的最大值序列(即输入序列所表示的二进制数值为最大值的序列)表示的二进制数值大于0小于1时,所述比较器的输出序列可能小于0也可能大于0,因此该差值中的最大值与0比较后输出序列的值可能为0和1。输出序列会反馈到所述减法器,所述减法器用于计算输入序列和输出序列之间的差值;所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列,随着反馈的进行,输出序列的所表示的二进制数值会逼近输入序列中所表示的最大二进制数值。
进一步地,在智能推断网络系统中:
设计了基于随机计算的卷积神经网络硬件架构。以基于随机计算的加法单元电路结合乘法器,形成随机计算神经元电路为计算核心,对整体结构进行硬件实现并进行逻辑综合。
为证明本发明上述实施例的有益效果,首先将分析提出的两种随机计算单元进行了性能仿真和硬件仿真。在此基础上,利用提出的SC单元,在软件平台上实现提出的基于随机计算的卷积神经网络架构,验证图像分类的准确率。最后,实现了整个随机计算硬件系统在FPGA上的仿真,验证了提出设计的有效性,从吞吐率、面积效率等方面体现本专利技术效果。
Figure BDA0002967699390000121
单元精度:
(1)为证明提出的加法单元能在SC序列长度较短的情况下仍取得较好的效果,利用相对误差作为衡量对设计的精度进行了仿真。如图4(a)所示,随机计算加法运算单元的相对误差都随输入个数的增大而减小,在随机序列长度相同时,MPC加法单元精度远高于前文所提HEIF设计中的APC(Approximate Parallel Counter,APC),其中MPC单元相对误差较APC降低了80%以上,同时从图中可以发现,MPC加法运算单元能在随机序列长度较短下仍达到较高的精度,在SC序列长度为64比特下,精度高于采用序列长度为1024比特的APC加法单元。图4(b)是本发明上述实施例的加法单元在FPGA上的综合结果,由此可得,MPC加法器在保持较高精度情况下不增加过多的额外资源开销,显著低于二进制全并行加法器(Parallel Counter,PC)加法运算单元的资源开销。
(2)图5给出了提出的SC MAX-ReLU的仿真图,输入个数为4,9和16,随机序列长度分别采用{64,128,256,384,512}比特长度。结果显示,提出的SC ReLU-MAX单元达到较高的精度,能达到与二进制结果仅有极小误差的结果,相比Max Pooling Block单元,SC ReLU-MAX计算单元的相对误差降低了90%,可以看出本发明上述实施例能有大幅度精度提升。
Figure BDA0002967699390000122
基于SC的智能推断网络系统准确率:
为了说明结果,本示例采用混合国家标准技术研究所数据库(Mixed NationalInstitute of Standards and Technology database,MNIST)手写数字数据集作为测试对象,并且采用LeNet-5的卷积神经网络结构。
采用本发明上述实施例中任一项的智能推断网络系统,将MNIST手写图片数据集作为智能推断网络系统的输入,通过基于(随机计算)SC的智能推断网络,输出十个概率值,分别对应手写图片的十个数字,输出最大概率值对应的数字,完对成MNIST手写图片的图像分类。
运用本发明上述实施例提出的智能推断网络系统,在采用64比特或128比特这样较短SC序列长度的情况下即可达到较好的精度,同类设计中一般需要采用远高于本设计的SC序列长度。在SC序列长度为128比特下,与浮点数结果相比,图片识别准确率仅下降0.04%;进一步,对普适物体识别的彩色计算机视觉数据集CIFAR10数据集进行仿真推理,对于该数据集,应用随机计算单元后,设计在256比特下图片识别准确率能达到与浮点数仅有0.86%的误差。
Figure BDA0002967699390000131
硬件效率:
结合以上描述,以LeNet-5网络结构为对象,设计整体电路架构,对随机计算系统进行硬件实现,设计基于随机计算的卷积神经网络硬件架构和计算模式。整体硬件架构图如图6所示,该架构以随机计算神经元电路为计算核心,对整体结构进行硬件实现并使用EDA工具Vivado对RTL代码进行逻辑综合。结果显示本发明上述实施例LUT资源开销得到有效节省,本发明上述实施例吞吐率达到12951.22img/s,面积效率高于同类二进制设计。图6中,w1~w5分别表示第一层、第二层、第三层卷积层及第一层、第二层全连接层的权重值,b1~b5分别表示第一层、第二层、第三层卷积层及第一层、第二层全连接层的偏移值。
本发明上述实施例提供的随机计算单元电路系统及智能推断网络系统,可以采用以下仿真过程:
本仿真过程均采用Python语言实现,采用Verilog作为硬件实现语言,Vivado作为仿真工具,验证方式采用软硬件协同验证的方式,软件平台中,Pytorch框架训练得到权重,权重和输入数据集定点化后输入到随机计算单元中,随机计算单元根据最优策略进行推理获得定点化的仿真结果。对于硬件仿真平台,对基于随机计算单元的智能推断网络系统进行硬件实现,对其给定定点化后的测试向量,将输出结果与软件标准输出进行对比以验证代码的正确性,利用Vivado编译并仿真实现寄存器转换级电路(Register TransferLevel,RTL)代码,以此验证设计的功能是否正确。
具体的实现包括软件仿真和硬件设计两个步骤。
1)软件仿真
软件仿真平台在Pytorch深度学习框架上进行,软件仿真过程均采用Python语言实现。
Pytorch主要完成对网络的训练,得到浮点运算的结果。具体设置的参数如下:数据集1——MNIST;对应网络结构——1层卷积-1层池化-1层卷积-1层池化-1层卷积-2层全连接结构(LeNet5);数据集2——CIFAR10;对应网络结构——2卷积-1池化-2卷积-1池化-2全连接结构。根据随机序列长度128比特进行量化仿真,量化的比特数为7。
接着完成了对应SC设计的定点实现。运用本文提出的SC运算单元,在采用64比特或128比特这样较短SC序列长度的情况下即可达到较好的精度,同类设计中一般需要采用远高于本设计的SC序列长度。在SC序列长度为128比特下,与浮点数结果相比,对于MNIST数据集,本设计仅有0.04%的精度损失;对于Cifar10数据集,本设计在256比特下仅有0.86%的误差。。
2)硬件设计
基于SC智能推断网络的整体架构如图6所示,本仿真过程整体结构采用流水线架构,每一层利用不同的硬件模块构成,每个硬件模块根据该层的计算特点和具体参数进行设计,所有模块依次连接形成整个架构。输入数据依次通过每一层的硬件模块与权重数据进行计算,以流水线的模式通过每一层。这种方式使得每一层的硬件模块同时工作,利用不同层之间的并行性提高执行效率。
由于计算资源有限,输入数据首先需要分块输入,数据控制模块负责控制数据的输入和数据分块的滑动,数据输入到系统中首先通过序列生成单元将二进制数据转化为随机序列,接着将随机序列输入到第一层卷积层的随机神经元中与相应的权重进行乘加运算,然后通过Pool模块完成激活与池化层的功能。池化层的输出再依次以流水线的模式通过接下来的第二层卷积层和池化层和第三层卷积层得到全连接层输入数据的部分和,该部分和等待全部计算完后获得完整的值,再送入两层全连接层进行计算,计算结果通过最后的后向转化单元还原成二进制数据,整个数据流的控制由流水线控制模块完成。
完成RTL设计后,首先将Modelsim软件的仿真结果和定点结果对比,能达到比特级一致。在此之后,相应的RTL设计在FPGA上仿真。相关结果和其他相似工作相比,在吞吐率、面积效率方面都有一定的优势。
本发明上述实施例提供的智能推断网络系统以及加法单元和池化单元电路系统,通过引入并设计两个随机计算单元,解决智能推断芯片面积大、功耗高等问题;通过高精度随机计算加法单元设计,保证正负误差产生的概率相等,采用误差补偿的技术减小序列误差,从而提升该加法器随机计算单元的精度,且相对二进制全并行加法器减小硬件开销;通过高精度随机计算最大池化单元设计,利用反馈电路实时跟随输出比特的变化,并按比特反馈到求和电路,从而提升该最大池化随机计算单元的精度,同时不产生电路冗余延时。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (11)

1.一种智能推断网络系统,其特征在于,包括依次设置的序列生成单元模块、第一卷积层模块、第一池化层模块、第二卷积层模块、第二池化层模块、第三卷积层模块、第一全连接层模块、第二全连接层模块以及序列转化单元模块;
所述第一卷积层模块、第二卷积层模块、第三卷积层模块以及第一全连接层模块和第二全连接层模块中的加法组件均采用基于随机计算的加法单元电路模块;
所述第一池化层模块和第二池化层模块均采用基于随机计算的最大池化单元电路模块;
其中:
所述基于随机计算的加法单元电路模块,包括:MUX多路选择器模块和并行全加器模块;所述MUX多路选择器模块与所述并行全加器模块相连,并将所述MUX多路选择器模块的所有输出作为所述并行全加器模块的输入;
所述基于输出反馈的随机计算最大池化单元电路模块,包括:累加器、减法器、D寄存器、级联比较器和输出比较器,所述累加器与所述减法器连接,所述减法器与所述D寄存器连接,所述D寄存器与所述累加器连接,形成一层级联结构;多层所述级联结构与一个所述级联比较器连接,形成一层子结构;多层所述子结构与所述输出比较器连接;所述输出比较器的输出反馈至所述减法器。
2.根据权利要求1所述的智能推断网络系统,其特征在于,所述MUX多路选择器模块包括多个并行的二选一MUX多路选择器,用于内部抵消正负误差;所述并行全加器模块,用于对述MUX多路选择器模块的输出进行无误差的加法运算。
3.根据权利要求1所述的智能推断网络系统,其特征在于,所述累加器用于接收初始序列,并输出输入序列至减法器;所述减法器用于计算输入序列和输出序列之间的差值;所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列;所述级联比较器用于比较级联结构输出的差值中的最大值;所述输出比较器用于将差值中的最大值与0进行比较,并输出相应的输出序列反馈至所述减法器中进行计算。
4.根据权利要求3所述的智能推断网络系统,其特征在于,所述初始序列采用SC序列或整数序列;所述输出序列为SC序列。
5.根据权利要求3所述的智能推断网络系统,其特征在于,所述输出序列输出的随机序列表示的二进制数值范围在[0,1]之间。
6.根据权利要求5所述的智能推断网络系统,其特征在于,所述输出序列,包括:
-当输入序列的最大值表示的二进制数值大于或者等于1时,所述输出比较器的输出恒大于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为1;
-当输入序列中的最大值表示的二进制数值小于或者等于0时,所述输出比较器的输出恒小于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为0;
-当输入序列中的最大值表示的二进制数值大于0小于1时,此时所述差值中的最大值与0比较后,输出序列中的值为0或1;
将所述输出序列反馈至所述减法器,计算输入序列和输出序列之间的差值;随着反馈的进行,所述输出序列所表示的二进制数值将逼近所述输入序列中表示的最大二进制数值。
7.一种基于误差补偿的随机计算加法单元电路系统,其特征在于,包括:MUX多路选择器模块和并行全加器模块;所述MUX多路选择器模块与所述并行全加器模块相连,并将所述MUX多路选择器模块的所有输出作为所述并行全加器模块的输入;
其中:
所述MUX多路选择器模块包括多个并行的二选一MUX多路选择器,用于内部抵消正负误差;
所述内部抵消正负误差具体为:当输入对应位置的比特不同时,对应MUX根据选通信号决定输出值,所述输出值产生的误差可以内部进行相互补偿;
所述并行全加器模块,用于对述MUX多路选择器模块的输出进行无误差的加法运算。
8.一种基于输出反馈的随机计算最大池化单元电路系统,其特征在于,包括:最大池化模块;所述最大池化模块包括累加器、减法器、D寄存器、级联比较器和输出比较器,所述累加器与所述减法器连接,所述减法器与所述D寄存器连接,所述D寄存器与所述累加器连接,形成一层级联结构;多层所述级联结构与一个所述级联比较器连接,形成一层子结构;多层所述子结构与所述输出比较器连接;所述输出比较器的输出反馈至所述减法器;其中:
所述累加器用于接收初始序列,并输出输入序列至减法器;
所述减法器用于计算输入序列和输出序列之间的差值;
所述D寄存器用于存储当前差值,并反馈至所述累加器中与下一个初始序列进行累加,形成下一个输入序列;
所述级联比较器用于比较级联结构输出的差值中的最大值;
所述输出比较器用于将差值中的最大值与0进行比较,并输出相应的输出序列反馈至所述减法器中进行计算。
9.根据权利要求8所述的基于输出反馈的随机计算最大池化单元电路系统,其特征在于,所述初始序列采用SC序列或整数序列;所述输出序列为SC序列。
10.根据权利要求8所述的基于输出反馈的随机计算最大池化单元电路系统,其特征在于,所述输出序列输出的随机序列表示的二进制数值范围在[0,1]之间。
11.根据权利要求10所述的基于输出反馈的随机计算最大池化单元电路系统,其特征在于,所述输出序列,包括:
-当输入序列中的最大值表示的二进制数值大于或者等于1时,所述输出比较器的输出恒大于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为1;
-当输入序列中的最大值表示的二进制数值小于或者等于0时,所述输出比较器的输出恒小于0,此时所述差值中的最大值与0比较后,输出序列中的各个值均为0;
-当输入序列中的最大值表示的二进制数值大于0小于1时,此时所述差值中的最大值与0比较后,输出序列中的值为0或1;
将所述输出序列反馈至所述减法器,计算输入序列和输出序列之间的差值;随着反馈的进行,所述输出序列所表示的二进制数值将逼近所述输入序列中表示的最大二进制数值。
CN202110256761.3A 2021-03-09 2021-03-09 智能推断网络系统以及加法单元和池化单元电路系统 Active CN112949830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110256761.3A CN112949830B (zh) 2021-03-09 2021-03-09 智能推断网络系统以及加法单元和池化单元电路系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110256761.3A CN112949830B (zh) 2021-03-09 2021-03-09 智能推断网络系统以及加法单元和池化单元电路系统

Publications (2)

Publication Number Publication Date
CN112949830A CN112949830A (zh) 2021-06-11
CN112949830B true CN112949830B (zh) 2022-12-06

Family

ID=76228913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110256761.3A Active CN112949830B (zh) 2021-03-09 2021-03-09 智能推断网络系统以及加法单元和池化单元电路系统

Country Status (1)

Country Link
CN (1) CN112949830B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555519A (zh) * 2019-10-08 2019-12-10 东南大学 一种基于符号随机计算的低复杂度卷积神经网络

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19737589C1 (de) * 1997-08-28 1998-11-26 Siemens Ag Interfaceschaltung für fullcustom- und semicustom-Taktdomänen
CN102291584B (zh) * 2011-09-01 2013-04-17 西安电子科技大学 帧内图像亮度块预测装置及方法
CN103259529B (zh) * 2012-02-17 2016-03-16 京微雅格(北京)科技有限公司 一种采用跳跃进位链的集成电路
KR102257380B1 (ko) * 2014-12-22 2021-05-31 삼성전자주식회사 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치
CN108287681B (zh) * 2018-02-14 2020-12-18 中国科学院电子学研究所 一种单精度浮点融合点乘运算装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555519A (zh) * 2019-10-08 2019-12-10 东南大学 一种基于符号随机计算的低复杂度卷积神经网络

Also Published As

Publication number Publication date
CN112949830A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
Yuan et al. High performance CNN accelerators based on hardware and algorithm co-optimization
Wang et al. Low power convolutional neural networks on a chip
CN112257844B (zh) 一种基于混合精度配置的卷积神经网络加速器及其实现方法
Abdelsalam et al. An efficient FPGA-based overlay inference architecture for fully connected DNNs
Li et al. Dynamic dataflow scheduling and computation mapping techniques for efficient depthwise separable convolution acceleration
Russo et al. DNN model compression for IoT domain-specific hardware accelerators
Frasser et al. Fully parallel stochastic computing hardware implementation of convolutional neural networks for edge computing applications
CN108921292B (zh) 面向深度神经网络加速器应用的近似计算系统
Kim et al. Mosaic-CNN: A combined two-step zero prediction approach to trade off accuracy and computation energy in convolutional neural networks
Xiao et al. FPGA implementation of CNN for handwritten digit recognition
Yang et al. TIMAQ: A time-domain computing-in-memory-based processor using predictable decomposed convolution for arbitrary quantized DNNs
Nan et al. An energy efficient accelerator for bidirectional recurrent neural networks (BiRNNs) using hybrid-iterative compression with error sensitivity
Yan et al. FPGAN: an FPGA accelerator for graph attention networks with software and hardware co-optimization
Xiao et al. FPGA-based scalable and highly concurrent convolutional neural network acceleration
Qi et al. Learning low resource consumption cnn through pruning and quantization
Ahn et al. Deeper weight pruning without accuracy loss in deep neural networks: Signed-digit representation-based approach
Wu et al. A 3.89-GOPS/mW scalable recurrent neural network processor with improved efficiency on memory and computation
Shan et al. A CNN Accelerator on FPGA with a Flexible Structure
CN110135561B (zh) 一种实时在线飞行器ai神经网络系统
CN112949830B (zh) 智能推断网络系统以及加法单元和池化单元电路系统
Zhan et al. Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems
Hsieh et al. A multiplier-less convolutional neural network inference accelerator for intelligent edge devices
Song et al. Bsc: Block-based stochastic computing to enable accurate and efficient tinyml
Ascia et al. Improving inference latency and energy of network-on-chip based convolutional neural networks through weights compression
Yang et al. A parallel processing cnn accelerator on embedded devices based on optimized mobilenet

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
TA01 Transfer of patent application right

Effective date of registration: 20221011

Address after: No. 803, Unit 2, Building 3, Nanlihan Lanting, Jingshu District, Beijing 100083

Applicant after: Xu Ningyi

Applicant after: He Guanghui

Address before: 200240 No. 800, Dongchuan Road, Shanghai, Minhang District

Applicant before: SHANGHAI JIAO TONG University

Effective date of registration: 20221011

Address after: Room 00036, 1st Floor, Building F5, Phase II, Innovation Industrial Park, No. 2800, Innovation Avenue, High tech Zone, Hefei, Anhui, 230088

Applicant after: Hefei Huixi Intelligent Technology Co.,Ltd.

Address before: No. 803, Unit 2, Building 3, Nanlihan Lanting, Jingshu District, Beijing 100083

Applicant before: Xu Ningyi

Applicant before: He Guanghui

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231123

Address after: Room 202, No. 6, Lane 388, Urban Road, Minhang District, Shanghai, 201109

Patentee after: He Guanghui

Patentee after: Xu Ningyi

Address before: Room 00036, 1st Floor, Building F5, Phase II, Innovation Industrial Park, No. 2800, Innovation Avenue, High tech Zone, Hefei, Anhui, 230088

Patentee before: Hefei Huixi Intelligent Technology Co.,Ltd.

TR01 Transfer of patent right