CN110210611A - 一种用于卷积神经网络计算的动态自适应数据截断方法 - Google Patents

一种用于卷积神经网络计算的动态自适应数据截断方法 Download PDF

Info

Publication number
CN110210611A
CN110210611A CN201910395234.3A CN201910395234A CN110210611A CN 110210611 A CN110210611 A CN 110210611A CN 201910395234 A CN201910395234 A CN 201910395234A CN 110210611 A CN110210611 A CN 110210611A
Authority
CN
China
Prior art keywords
data
result
datas
neural networks
convolutional neural
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
CN201910395234.3A
Other languages
English (en)
Other versions
CN110210611B (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong 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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201910395234.3A priority Critical patent/CN110210611B/zh
Publication of CN110210611A publication Critical patent/CN110210611A/zh
Application granted granted Critical
Publication of CN110210611B publication Critical patent/CN110210611B/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
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors

Landscapes

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

Abstract

本发明提供一种用于卷积神经网络计算的动态自适应数据截断方法,包括:在t位图像数据后面扩充m位小数点位置数据,在t位权值数据后面扩充m位小数点位置数据;在乘法运算时,t位图像数据和t位权值数据进行乘法运算得到2*t位结果数据,两个m位小数点位置数据进行加法运算,得到2*t位结果数据的小数点位置,记为M;对2*t位结果数据中高位的0值进行压缩,压缩后的数据从高位进行截取得到t位结果数据,根据截掉的低位数据的位宽和M得到与截取出来的t位结果数据对应的小数点位置;将t位结果数据与其所对应的小数点位置数据拼接。在保证保留高位数据的同时,尽可能多的保留小数位,使得在给定硬件架构下,数据运算精度尽可能高。

Description

一种用于卷积神经网络计算的动态自适应数据截断方法
技术领域
本发明涉及卷积神经网络硬件加速过程中的数据截断机制,具体为一种用于卷积神经网络计算的动态自适应数据截断方法。
背景技术
人工智能是目前热门的计算机科学之一,作为实现人工智能的主要方式,深度学习也得到了深远的发展。卷积神经网络(Convolution Neural Network,CNN)是人工神经网络结构研究最多应用最广的网络结构之一,目前已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于CNN避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。近年来卷积神经网络在计算机视觉领域取得了很不错的成就,同时也让卷积神经网络得到了发展。通常,衡量一个CNN算法的性能指标主要取决于其用于图像分类和识别时的准确率。CNN识别的准确率与算法结构有关,一般来说越复杂的网络识别的准确率是越高的。例如AlexNet包含8层神经网络,识别的准确率为84%左右,而VGG包含有19层网络,识别的准确率为92%。然而,当算法在硬件平台上实现的时候,识别的准确率不仅仅取决于算法本身的结构,还跟硬件平台有关。目前通常有三类实现方式——GPU,FPGA和ASIC。GPU作为神经网络算法实现的硬件平台,硬件资源丰富,运算速度快,卷积神经网络的数据采用浮点型数据进行运算,因此可以达到很高的精度。FPGA硬件资源相对有限,在对卷积神经网络的实现过程中,如果采用浮点型数据运算,需要消耗大量额外的硬件资源,这样就难以在运算的性能上有所保证。ASIC作为专用集成电路,运算资源十分有限,一般来说必须采用定点数据进行运算。然而,GPU的功耗很高,并不能应用在智能移动终端上,例如智能手机、可穿戴设备或者是自动驾驶汽车等。根据研究表明,在保证足够的数据位宽的情况下,定点化的数据运算相对浮点型的数据运算得到的准确率相差很小,因此FPGA和ASIC在神经网络加速领域也可以得到广泛的应用。
通常在便携式设备上完成浮点数的乘法运算比定点数的运算所需要的硬件资源和功耗要大很多。因此在便携式设备上进行神经网络算法加速时,多采用定点数。然而,卷积神经网络中运算核心是卷积运算,包含有大量的乘法和加法运算,乘法运算得到的结果会比输入数据的位宽高。在卷积神经网络中,卷积层是逐层排布的,当前卷积层的图像数据与卷积核做卷积运算得到的输出数据会作为下一个卷积层的输入数据,而对于便携式设备来说,是通过数据调度,对运算资源进行复用完成卷积神经网络的运算。因此在完成一个卷积层运算后,需要对所得到的结果数据进行处理,使这些结果数据在作为下一卷积层的输入数据时可以与硬件的位宽相匹配。通常对这些数据是采用截断的方式进行处理的,直接可以截取与硬件系统相匹配的位宽。
DianNao中对于数据截断的方式采用了截断乘法器的方式,设计时已经固定了整数位与小数位的位宽,在进行计算的过程中不会根据数据位调整计算精度。输入数据和权值数据均为16位数据,截断乘法器直接对输出数据进行截断,保留了6位的整数位和10位的小数位。DianNao的做法实际上是在整个神经网络算法中采用单一的数据截断模式。
DNPU提出了分层对数据进行定点化的模式,通过对CNN各层内运算数据的范围统计,在运算的时候根据该卷积层的数据范围对定点化数据的整数位位宽和小数位位宽进行调整,使整数位位宽可以满足数据的范围,避免高位数据溢出。小数位的低位截断,根据位宽需求做相应的保留。如图3所示,为VGG网络中的数据范围分布,可以看出来,不同卷积层的数据范围分布是不一样的。图4所示,满足总的数据位宽的情况下,根据数据范围调整相应的整数位位宽和小数位位宽,实现了对卷积神经网络中间数据的截取和定点化。
DNPU通过在线调整的方式对神经网络的数据范围进行测试调整,对于一个网络来说,不同的输入数据也会有不同的数据范围。因此在确定神经网络各层的数据范围分布时,需要经过测试多个输入图像。测试过程如下:首先设计了一个数据位宽的比较器,然后将各层运算所得到的中间数据输入到数据位宽的比较器中,如果发生了数据位宽的溢出,则整数位的位宽增加一位,直到这层的中间数据全部检测完毕,得到该层数据所需要的最大的整数位位宽。因此,DNPU对某一卷积层的整数位位宽是根据该层网络内数据的最大值确定的,对于较小的数据来说,整数位位宽保留的过多会导致小数位减少,从而影响精度。
不同于DNPU的在线调整各层数据的整数数据位宽分布,Eyeriss采用的是离线测试的方式,对卷积神经网络中间各层的数据范围利用大量的输入图像测试得到,从而确定各层的数据的整数位位宽。而采用截断乘法器设计时,数据的范围已经固定,为了避免运算时整数位位宽不足,需要整数部分保留充足的数据位。然而对于某些卷积层来说,数据范围很小,所需要的整数位位宽小于保留的位宽,这样导致了整数位位宽冗余,小数位位宽不足,数据精度降低。
然而,这些截断策略存在的问题是截取的数据精度不足,甚至有可能出现对高位数据的截取导致数据截取错误。
发明内容
针对现有技术中存在的问题,本发明提供一种用于卷积神经网络计算的动态自适应数据截断方法,在最大限度的保留数据精度的同时,避免了对数据高位的截取造成的数据截取错误。
本发明是通过以下技术方案来实现:
一种用于卷积神经网络计算的动态自适应数据截断方法,包括如下步骤:
步骤1,在t位图像数据后面扩充m位小数点位置数据,该小数点位置数据用来记录图像数据中小数点位置;在t位权值数据后面扩充m位小数点位置数据,该小数点位置数据用来记录权值数据中小数点位置;
步骤2,在乘法运算时,t位图像数据和t位权值数据进行乘法运算得到2*t位结果数据,两个m位小数点位置数据进行加法运算,得到2*t位结果数据的小数点位置,记为M;
步骤3,对2*t位结果数据中高位的0值进行压缩,压缩后的数据从高位进行截取得到t位结果数据,根据截掉的低位数据的位宽和M得到与截取出来的t位结果数据对应的小数点位置;
步骤4,将t位结果数据与其所对应的小数点位置数据拼接,然后输出。
优选的,t=16,m=4。
优选的,步骤3中,记2*t位结果数据中高位的0值个数为N,对2*t位结果数据中高位的N个0值进行压缩,从高位第一个不为0的数据位开始截取得到t位结果数据。
进一步的,步骤3中,截掉的低位数据的位宽为t-N。
进一步的,步骤3中,与截取出来的t位结果数据对应的小数点位置为M+N-t。
优选的,步骤4中,将与t位结果数据对应的小数点位置转换成m位2进制的数,与截取的t位结果数据拼接得到最终数据。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提出的用于卷积神经网络计算的动态自适应数据截断方法,通过对运算数据进行小数点位置标记和动态检测,对结果数据的高位0值进行压缩并从高位开始对数据进行截断,在保证保留高位数据的同时,尽可能多的保留小数位,这样可以使得在给定的硬件架构下,数据运算的精度尽可能高。本发明应用于卷积神经网络时,可以动态的自适应的去对每层的数据进行检测和截取,不同于其他的截取模式,本发明提出的数据截取是对每个数据进行截取,使每一个数据都保留着最高的精度,使得运算结果尽可能的精确,因此数据的精度相对更高。同时,本发明的数据截取模式可以在线对数据进行截取,无需进行额外的离线训练,不需要通过离线推理得出神经网络运算时每一层卷积层内的数据范围,在线对数据直接进行检测和截断,节省了大量的实验过程。本发明针对卷积神经网络的算法结构,对于在硬件上定点化实现卷积神经网络算法时产生的中间数据动态的进行截断,使数据位宽与硬件模块的位宽相匹配;动态的对运算数据进行截断,从高位开始对数据进行截断,在最大限度的保留数据精度的同时,避免了对数据高位的截取造成数据截取错误。
附图说明
图1为卷积神经网络运算模式;
图2为AlexNet算法的网络结构图;
图3为VGG中各层的数据范围分布;
图4为DNPU字长分配模式;
图5为本发明乘法运算的数据截断;
图6为本发明数据的检测截断过程;
图7为截断乘法器与本发明的相对误差趋势对比。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
CNN算法运算的核心是卷积运算,运算模式如图1和公式(1)所示:
其中,O是输出图像数据,I是输入图像数据,W是权值数据,f(·)函数是神经网络的激活函数。z代表输入图像的编号,图中给了N幅图像。u表示卷积核的编号,图中是M个卷积核。y表示输出图像的行编号,E是输出图像的总行数。x表示输出图像的列编号,F是输出图像的总列数。i和j分别代表卷积核的行数和列数,k表示通道数。U表示每次卷积后卷积核滑动的步长。
可以看到,卷积核与输入图像数据进行卷积运算,即乘加运算,卷积运算后得到的结果通过激活函数进行输出。在硬件上实现CNN算法的加速运算时,用乘法器实现其中的乘法操作。在进行乘法操作时,为了防止乘法运算的结果数据溢出,乘法器的输出端数据位宽为两个输入数据的位宽和。例如16位乘法器的输出数据位宽为32位。而通常CNN的结构是逐层进行排布的,如图2所示,AlexNet中包含有5个卷积层,3个全连接层和3个池化层。池化层是对CNN内的数据进行采样,不涉及到乘法运算,无需有截断操作。CNN中,前一层网络的运算输出结果会作为下一层的输入数据进行卷积运算。对于卷积层和全连接层来说,涉及到大量的乘法运算。乘法运算导致的数据位宽增加会使得数据在下一层网络运算时与硬件不匹配。因此需要对乘法运算的结果数据进行截断,使这些中间数据与硬件架构相匹配。
本发明基于FPGA或ASIC的卷积神经网络硬件加速器实现时,对于其中数据定点化运算所带来的数据位宽不匹配的问题,本发明提出了一种用于卷积神经网络计算的动态自适应数据截断方法,称为动态自适应数据截断技术。
本发明提出的用于卷积神经网络计算的动态自适应数据截断方法,通过对运算数据进行标记和动态的检测,在保证保留高位数据的同时,尽可能多的保留小数位。这样可以使得在给定的硬件架构下,数据运算的精度尽可能高。目前很多神经网络加速器的数据位宽都设计为16位的定点数。本发明提出的截断方法以16位的数据位宽作为介绍,即,本发明实施例t取16,m取4,当然具体方法也适用于其他的数据位宽。
具体的步骤如下:
1、在16bit的输入数据后面扩充4bit位宽的数据位,用来记录16bit输入数据中小数点位置;
2、在运算的过程中16bit输入数据输入到16bit的乘法器中,得到32bit的结果数据,记录小数点的4bit小数点位置数据进行加法,得到32bit结果数据的小数点位置;
3、结合卷积神经网络算法中的数据特点,对32bit结果数据中高位的0值进行压缩,压缩后的数据从高位进行截取得到16bit的结果数据。同时根据截掉的低位数据位宽和32bit结果数据的小数点位置数据得到截取出来的16bit结果数据的4bit小数点位置数据。
4、将最终的16bit结果数据和它所对应的4bit小数点位置数据拼接,然后输出。
其中,16bit输入数据包括16bit图像数据和16bit权值数据,且16bit图像数据和16bit权值数据均为16bit定点数。
具体的实施措施如下:
首先,如图5所示,两个16bit定点数进行乘法运算,同时每个定点数的后面有额外4bit小数点位置数据,这个4bit数据是用来记录16bit定点数中的小数点的位置。例如,当这个4bit小数点位置数据为4’b0001,说明前面的16bit定点数由15位的整数部分和1位的小数部分组成;当这个4bit小数点位置数据为4’b0011,说明前面的16bit定点数由13位的整数部分和3位的小数部分组成,以此推类。在数据存储过程中,数据的存储位宽为20位,记录小数点的4bit小数点位置数据与前面的16bit定点数进行拼接。
其次,在进行乘法运算时,两个16bit定点数输入到乘法器中做定点数的乘法运算,得到的输出结果为一个32bit定点数。两个16bit定点数中记录小数点部分的后4bit小数点位置数据做加法运算,相加得到的结果是一个5位小数点位置数据,这个结果是这个32bit定点数的小数点位置。对运算结果所得到的32bit定点数进行截取得到一个16bit定点数,同时根据截取的16bit定点数与5bit小数点位置数据,可以得到最终这个16bit数据的小数点位置。
最后,数据截断的过程如图6所示:在神经网络中,16bit的图像数据与16bit的权值数据做卷积运算,得到的数据高位会有多个0值,在数据截断的过程中,不需要保留高位的0值。通过对数据进行检测,将高位的0值进行压缩,从第一个不为0的数据位开始截取,得到一个16bit定点数。根据之前小数点的位置,压缩的0值个数可以得到最终结果的小数点位置。最后将截取得到的16bit定点数和它的小数点位置数据进行拼接,输出到存储器中。
小数点位置的确定如下:
经过乘法运算得到的32bit定点数的高位有N个0值,小数点位置为M。在压缩的过程中,对高位的0值进行压缩,得到的数据是一个32-N bit定点数。然后从高位开始截取,得到16bit定点数。截掉的低位数据的位宽为32-N-16=16-N bit,新的小数点位置为原小数点位置M减去截掉的低位数据位宽16-N,即M-(16-N)=M+N-16,然后将新的小数点位置转换成4位2进制的数,与截取的16bit定点数拼接得到最终数据。
误差分析:
本发明根据CNN算法内的数据特点提出的动态自适应的数据截断技术是通过对数据截断使数据满足硬件模块的数据位宽要求,因此会存在一定的误差。相对误差如公式(2)所示
即低位被截掉的16-N bit数据与得到的16bit数据之间的比值。可以看出,本发明的数据截取过程保留了数据的最高精度。而截断乘法器应用于神经网络运算,它所截掉的数据的绝对误差跟截断乘法器运算结果中保留的整数位的位宽有关,例如DianNao中保留了6位整数和10位小数,假定运算数据不会溢出,则其绝对误差Ea<2^-10。相对误差与数据本身大小有关,对于同一个数据来说,其数据本身大小与最高数据位有关,对于6bit整数位的数据分布而言,截断乘法器和本发明所提出来的相对误差对比如表1:
表1截断乘法器与本专利的相对误差对比
可以看出本发明所提出来的截断方法的相对误差是在一个稳定的范围内,而截断乘法器的相对误差与数据本身大小有关,不同的数据整数部分会引起它的相对误差改变,并且相对误差的最小值与本发明所提出来的相同,具体的对比更形象的如图7所示为两者的相对误差趋势图。
本发明所提出的动态自适应数据截断技术,应用于卷积神经网络时,可以动态的自适应的去对每层的数据进行检测和截取。不同于其他的截取模式,本发明提出的数据截取是对每个数据进行截取,因此数据的精度相对更高。同时,本发明的数据截取模式可以在线对数据进行截取,无需进行额外的离线训练。Eyeriss、DNPU和DianNao数据截取模式必须经过大量的推理测试过程得到神经网络内的数据分布,才可以对数据进行合适的字长分配,并且如果遇到数据超过其预先分配的字长而溢出的话,那么将会导致运算出现错误。

Claims (6)

1.一种用于卷积神经网络计算的动态自适应数据截断方法,其特征在于,包括如下步骤:
步骤1,在t位图像数据后面扩充m位小数点位置数据,该小数点位置数据用来记录图像数据中小数点位置;在t位权值数据后面扩充m位小数点位置数据,该小数点位置数据用来记录权值数据中小数点位置;
步骤2,在乘法运算时,t位图像数据和t位权值数据进行乘法运算得到2*t位结果数据,两个m位小数点位置数据进行加法运算,得到2*t位结果数据的小数点位置,记为M;
步骤3,对2*t位结果数据中高位的0值进行压缩,压缩后的数据从高位进行截取得到t位结果数据,根据截掉的低位数据的位宽和M得到与截取出来的t位结果数据对应的小数点位置;
步骤4,将t位结果数据与其所对应的小数点位置数据拼接,然后输出。
2.根据权利要求1所述的用于卷积神经网络计算的动态自适应数据截断方法,其特征在于,t=16,m=4。
3.根据权利要求1所述的用于卷积神经网络计算的动态自适应数据截断方法,其特征在于,步骤3中,记2*t位结果数据中高位的0值个数为N,对2*t位结果数据中高位的N个0值进行压缩,从高位第一个不为0的数据位开始截取得到t位结果数据。
4.根据权利要求3所述的用于卷积神经网络计算的动态自适应数据截断方法,其特征在于,步骤3中,截掉的低位数据的位宽为t-N。
5.根据权利要求3所述的用于卷积神经网络计算的动态自适应数据截断方法,其特征在于,步骤3中,与截取出来的t位结果数据对应的小数点位置为M+N-t。
6.根据权利要求1所述的用于卷积神经网络计算的动态自适应数据截断方法,其特征在于,步骤4中,将与t位结果数据对应的小数点位置转换成m位2进制的数,与截取的t位结果数据拼接得到最终数据。
CN201910395234.3A 2019-05-13 2019-05-13 一种用于卷积神经网络计算的动态自适应数据截断方法 Active CN110210611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910395234.3A CN110210611B (zh) 2019-05-13 2019-05-13 一种用于卷积神经网络计算的动态自适应数据截断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910395234.3A CN110210611B (zh) 2019-05-13 2019-05-13 一种用于卷积神经网络计算的动态自适应数据截断方法

Publications (2)

Publication Number Publication Date
CN110210611A true CN110210611A (zh) 2019-09-06
CN110210611B CN110210611B (zh) 2021-09-07

Family

ID=67785948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910395234.3A Active CN110210611B (zh) 2019-05-13 2019-05-13 一种用于卷积神经网络计算的动态自适应数据截断方法

Country Status (1)

Country Link
CN (1) CN110210611B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563593A (zh) * 2020-05-08 2020-08-21 北京百度网讯科技有限公司 神经网络模型的训练方法和装置
CN111738427A (zh) * 2020-08-14 2020-10-02 电子科技大学 一种神经网络的运算电路
CN113344170A (zh) * 2020-02-18 2021-09-03 杭州知存智能科技有限公司 神经网络权重矩阵调整方法、写入控制方法以及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291419A (zh) * 2017-05-05 2017-10-24 中国科学院计算技术研究所 用于神经网络处理器的浮点乘法器及浮点数乘法
CN107330515A (zh) * 2016-04-29 2017-11-07 北京中科寒武纪科技有限公司 一种用于执行人工神经网络正向运算的装置和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330515A (zh) * 2016-04-29 2017-11-07 北京中科寒武纪科技有限公司 一种用于执行人工神经网络正向运算的装置和方法
CN107291419A (zh) * 2017-05-05 2017-10-24 中国科学院计算技术研究所 用于神经网络处理器的浮点乘法器及浮点数乘法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TIANSHI CHEN,ETL: "DianNao: A Small-Footprint High-Throughput Acceleratorfor Ubiquitous Machine-Learning", 《PROCEEDINGS OF THE 19TH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344170A (zh) * 2020-02-18 2021-09-03 杭州知存智能科技有限公司 神经网络权重矩阵调整方法、写入控制方法以及相关装置
CN111563593A (zh) * 2020-05-08 2020-08-21 北京百度网讯科技有限公司 神经网络模型的训练方法和装置
CN111563593B (zh) * 2020-05-08 2023-09-15 北京百度网讯科技有限公司 神经网络模型的训练方法和装置
CN111738427A (zh) * 2020-08-14 2020-10-02 电子科技大学 一种神经网络的运算电路
CN111738427B (zh) * 2020-08-14 2020-12-29 电子科技大学 一种神经网络的运算电路

Also Published As

Publication number Publication date
CN110210611B (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
CN110852416B (zh) 基于低精度浮点数数据表现形式的cnn硬件加速计算方法及系统
CN107273090A (zh) 面向神经网络处理器的近似浮点乘法器及浮点数乘法
CN109840589B (zh) 一种在fpga上运行卷积神经网络的方法和装置
CN110852434B (zh) 基于低精度浮点数的cnn量化方法、前向计算方法及硬件装置
CN110210611A (zh) 一种用于卷积神经网络计算的动态自适应数据截断方法
US20200401873A1 (en) Hardware architecture and processing method for neural network activation function
CN109543816A (zh) 一种基于权重捏合的卷积神经网络计算方法和系统
CN110265002B (zh) 语音识别方法、装置、计算机设备及计算机可读存储介质
CN109634558A (zh) 可编程的混合精度运算单元
US9058541B2 (en) Object detection method, object detector and object detection computer program
US20230376274A1 (en) Floating-point multiply-accumulate unit facilitating variable data precisions
CN110276096B (zh) 提高深度学习模型预测能力的方法、电子设备和存储介质
CN108733347B (zh) 一种数据处理方法及装置
CN113741858B (zh) 存内乘加计算方法、装置、芯片和计算设备
CN106951394A (zh) 一种可重构定浮点通用fft处理器
CN112200299B (zh) 神经网络计算装置、数据处理方法及装置
US6711596B1 (en) Method and apparatus for determining the approximate valve of a logarithmic function
CN109740740A (zh) 卷积计算的定点加速方法及装置
CN110751259A (zh) 深度神经网络中的网络层运算方法及装置
Luszczek et al. Increasing accuracy of iterative refinement in limited floating-point arithmetic on half-precision accelerators
CN114115803A (zh) 一种基于部分积概率分析的近似浮点乘法器
US20240028895A1 (en) Switchable one-sided sparsity acceleration
US20230229917A1 (en) Hybrid multipy-accumulation operation with compressed weights
US20240111830A1 (en) Accuracy-based approximation of activation functions with programmable look-up table having area budget
US20230267313A1 (en) Electronic device for performing convolution calculation and operation method therefor

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