CN108171328B - 一种神经网络处理器和采用其执行的卷积运算方法 - Google Patents

一种神经网络处理器和采用其执行的卷积运算方法 Download PDF

Info

Publication number
CN108171328B
CN108171328B CN201810175352.9A CN201810175352A CN108171328B CN 108171328 B CN108171328 B CN 108171328B CN 201810175352 A CN201810175352 A CN 201810175352A CN 108171328 B CN108171328 B CN 108171328B
Authority
CN
China
Prior art keywords
weight
effective
neuron
vector
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.)
Active
Application number
CN201810175352.9A
Other languages
English (en)
Other versions
CN108171328A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201810175352.9A priority Critical patent/CN108171328B/zh
Publication of CN108171328A publication Critical patent/CN108171328A/zh
Application granted granted Critical
Publication of CN108171328B publication Critical patent/CN108171328B/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

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)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供了一种卷积运算方法和基于该方法的神经网络处理器。该卷积运算方法包括:获取卷积域内待执行卷积运算的权重向量和神经元向量,其中所述权重向量和所述神经元向量具有相同的维度;从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;针对所述有效元素子组执行卷积运算。利用本发明的方法和神经网络处理器能够降低卷积计算量,从而提高计算效率。

Description

一种神经网络处理器和采用其执行的卷积运算方法
技术领域
本发明涉及深度学习技术领域,尤其涉及一种卷积计算方法以及基于该方法的神经网络处理器。
背景技术
近年来,深度学习技术得到了飞速的发展,在解决高级抽象认知问题,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐和智能机器人等领域得到了广泛应用,成为学术界和工业界的研究热点。
深度神经网络是人工智能领域具有最高发展水平的感知模型之一,该类网络通过建立模型模拟人类大脑的神经连接结构,通过多个变换阶段分层对数据特征进行描述,为图像、视频和音频等大规模数据处理任务带来突破性进展。深度神经网络模型结构是一种运算模型,由大量节点通过网状互连结构构成,这些节点被称为神经元。每两个节点间连接强度都代表通过该连接信号在两个节点间的加权重,即权重,与人类神经网络中的记忆相对应。
然而,实现深度学习技术依赖于极大的计算量。在训练阶段,需要在海量数据中通过反复迭代计算得到神经网络中的权重数据;在推理阶段,同样需要神经网络在极短的响应时间(通常为毫秒级)内完成对输入数据的运算处理。神经网络中涉及的计算主要包括卷积操作、激活处理和池化操作等,例如,卷积操作是将输入的神经元或称像素与相应卷积核的权重进行乘累加处理,卷积操作占用了神经网络处理的大部分时间,提高卷积操作的计算效率,能够有效降低神经网络的处理时间和运行功耗。
因此,为了将神经网络推向更广泛应用,例如,智能穿戴、智能机器人、自动驾驶以及模式识别等领域,需要对现有技术中卷积运算进行改进,以实现数据处理的实时性、低功耗以及计算效率和资源利用率的提升。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种卷积计算方法和基于该方法的神经网络处理器,。
根据本发明的第一方面,提供了一种卷积运算方法。该方法包括:
步骤1:获取卷积域内待执行卷积运算的权重向量和神经元向量,其中所述权重向量和所述神经元向量具有相同的维度;
步骤2:从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;
步骤3:针对所述有效元素子组执行卷积运算。
在一个实施例中,步骤2包括:
步骤21:生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;
步骤22:根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码。
在一个实施例中,通过将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。
根据本发明的第二方面,提供了一种神经网络处理器。该神经网络处理器包括:
用于获取卷积域内待执行卷积运算的权重向量和神经元向量的向量获取单元,其中,所述权重向量和所述神经元向量具有相同的维度;
用于从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组的向量匹配单元,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;
用于针对所述有效元素子组执行卷积运算的卷积运算单元。
在一个实施例中,所述向量匹配单元还用于:生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码。
在一个实施例中,所述向量匹配单元通过执行以下过程获得所述有效性匹配编码:将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。
在一个实施例中,本发明的神经网络处理器还包括与所述向量匹配单元和所述卷积运算单元相连的有效元素子组暂存单元,其用于接收所述向量匹配单元输出的所述有效元素子组并将其输出至所述卷积运算单元。
在一个实施例中,本发明的神经网络处理器还包括控制单元,其用于控制所述神经网络处理器中数据的传递过程和传递数量。
根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现本发明的卷积计算方法。
根据本发明的第四方面,提供了一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明的卷积计算方法。
与现有技术相比,本发明的优点在于:针对神经网络中的神经元和权重存在大量0值的特点,在卷积运算中,对卷积域的神经元和权重的有效性进行匹配,滤除对卷积结果没有影响的0值的计算元素,从而降低了卷积运算量,提高了卷积计算效率和资源利用率。
附图说明
以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
图1示出了神经网络中对输入特征进行卷积的过程示意图;
图2示出了根据本发明一个实施例的卷积运算方法的流程图;
图3示出了根据本发明一个实施例的神经元向量和权重向量的示意图;
图4示出了根据本发明一个实施例的获得有效元素子组的过程示意;
图5示出了根据本发明一个实施例的神经网络处理器的示意图;
图6示出了基于图5的神经网络处理器进行卷积计算的流程图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
典型地,深度神经网络具有多层拓扑结构,例如,卷积神经网络由若干个卷积层、池化层和全连接层组成,其中,一个卷积层的操作过程是:将一个L*L大小的权重卷积核对输入特征图进行扫描,在扫描过程中权重卷积核与特征图内对应卷积域的神经元求内积,并将所有卷积域的内积值求和,得到卷积层的输出特征图或称输出神经元,图1示出了5*5权重卷积核对一个输入特征图进行扫描的过程示意。在实际的处理过程中,可以采用多个权重卷积核对某个输入特征图进行扫描,例如,采用32个权重卷积核时,即相当于提取该输入特征图的32种特征,从而获得32个输出特征图。
在本发明的一个实施例中,为了提高神经网络的计算效率,提供了一种卷积计算方法,参见图2所示,该方法包括以下步骤:
步骤S210,获取卷积域的神经元向量和权重向量。
在此步骤中,将待执行卷积运算的卷积域的神经元和权重组织为向量形式,获得神经元向量和权重向量。
例如,参见图3所示,当以2*2的权重卷积核对4个输入特征图进行卷积操作时,一个卷积域内四个输入特征图的神经元分别为
Figure GDA0002755581180000041
Figure GDA0002755581180000042
假设权重卷积核为
Figure GDA0002755581180000043
时,可将卷积域神经元组织为输入特征图的数量相等的多组向量,每组向量对应卷积域内4个输入特征图的神经元,具体地,生成4组神经元向量,分别为(1,2,3,4)、(5,6,7,8)、(9,a,b,c)和(d,e,f,g),相应地,权重卷积核的向量形式为(h,i,j,k),则采用该卷积核对该卷积域的4个输入特征图进行卷积运算的过程转换为权重卷积核(h,i,j,k)分别与4组神经元向量进行乘累加,例如,对于第一组神经元向量,计算1*h+2*i+3*j+4*k。为了清楚简洁地说明本发明的向量组织方式,在图3中,采用简单的数字和字母来表示神经元和权重。
需要说明的是,本领域的技术人员也可以采用其它的方式来获得权重向量和神经元向量,只要针对神经元向量和权重向量执行的卷积操作能够达到现有的采用卷积核对特征图进行扫描时所获得的卷积结果一致即可,但在本发明中,需要保证神经元向量中的元素数量和权重向量中的元素数量相等,即神经元向量和权重向量具有相同的维度。
步骤S220,根据神经元向量和权重向量对应位置元素的有效性确定需要执行卷积运算的有效元素子组。
在此步骤中,从神经元向量和权重向量中筛选出非0的元素,如果筛选出的非0权重,其对应位置的神经元也是非0值,则将它们称为一个有效元素子组。
在本文中,有效权重是指非0权重,有效神经元是非0神经元,有效元素子组是指由有效权重和对应位置的有效神经元构成的元素子组,有效元素子组的格式可表示为{权重,神经元}或{神经元,权重}。
在一个实施例中,采用以下过程来获得有效元素子组:
首先,标记神经元向量和权重向量中各元素的有效性,分别生成神经元有效性的标识编码和权重有效性的标识编码。
例如,参见图4所示,当权重向量为(0.1,0.25,0.65,0,0.87,0.95,0,0)时,其对应的有效性标识编码为11101100,即在此示例中,将0值元素标记为0,将非0值元素标记为1;类似地,当神经元向量为(0.85,0,0.28,0,0,0.64,0.84,0),其对应的有效性标识编码为10100110。
接下来,通过匹配神经元有效性标识编码和权重有效性标识编码来获得有效性匹配编码,根据该有效性匹配编码可以快速查找到有效元素子组。
例如,本实施例中由于以1表示有效值,故以位为单位对权重有效性标识编码和神经元有效性编码执行逻辑与操作,从而生成有效性匹配编码,即,10100100,其表示存在3组有效元素子组,即(0.1,0.85),(0.25,0.28),(0.95,0.64)。
需要说明的是,本领域的技术人员也可采用其它方式来获得有效性匹配编码,例如,省略神经元向量有效性标识编码和权重有效性标识编码的过程,而依次直接判断神经元向量和权重向量的对应位置的元素,将均不为0的位置标记为1或其他标记,而将至少存在一个0值元素的位置标记为0或其他标记,从而获得有效性匹配编码,只要根据有效性匹配编码能够获得相应的有效元素子组即可。
步骤S230,针对有效元素子组执行卷积运算。
在此步骤中,仅针对有效元素子组执行卷积运算,即对于图4的实施例,只需计算0.1*0.85+0.25*0.28+0.95*0.64即可,而略掉其它元素的卷积过程。
图5示出了基于本发明的卷积运算方法的神经网络处理器或称神经网络处理系统,该神经网络处理器500包括控制单元501、数据存储单元502、权重存储单元503、权重缓存单元504、数据缓存单元505、有效元素子组匹配单元506、有效元素子组暂存单元507、卷积运算单元508,以及激活运算单元509和池化单元510。
有效元素子组匹配单元506用于实现本发明的卷积运算方法的向量匹配功能,即根据卷积域内待执行卷积计算的神经元和权重获得相同维度的神经元向量和权重向量;通过判断两个向量中元素的有效性来获得有效元素子组。有效元素子组匹配单元506可采用软件、硬件或软硬件结合的方式实现,其可实现为如图5所示的一个单独的模块,或者利用几个独立的模块来实现有效元素子组匹配单元506所具有的功能。
控制单元501作为神经网络处理器500的核心控制单元,用于控制其它各处理单元的运行状态(为了简洁,未示出与其它单元的连接关系),根据神经网络中相关参数,例如,待处理的数据量、卷积核大小、输入特征图数量,执行神经网络数据处理相关指令,控制神经元和权重的传递等。控制单元可以是微控制器。
数据存储单元502与数据缓存单元505相连,数据存储单元502用于存储输入特征图数据,即待处理的神经元,并接收神经网络中各层的输出神经元。权重存储单元503与权重缓存单元504相连,权重存储单元503用于存储已训练好的权值。数据存储单元502与数据缓存单元505之间的数据传递以及权重存储单元503与权重缓存单元504之间的权重传递可通过DMA方式(Direct Memory Access)来实现。
数据缓存单元505与有效元素子组匹配单元506相连,数据缓存单元505在控制单元501的控制下可连续向有效元素子组匹配单元506输入卷积域的神经元。
权重缓存单元504与有效元素子组匹配单元506相连,权重缓存单元504在控制单元501的控制下可向有效元素子组匹配单元506连续地输入权值。
有效元素子组匹配单元506与有效元素子组暂存单元507相连,有效元素子组匹配单元506用于筛选参与卷积运算的有效元素子组,并将其输出到有效元素子组暂存单元507。
有效元素子组暂存单元507与卷积运算单元508相连,有效元素子组暂存单元507可用于持续地为卷积运算单元508提供需要参与计算的有效元素子组包含的神经元和权重。
卷积运算单元508用于执行卷积神经网络内的有效元素子组的卷积运算。卷积运算单元508可以通过硬件电路实现,包括但不限于FPGA、专自集成电路ASIC等或者可由加法器、乘法器、比较器等通用计算器件来实现。应理解的是,尽管图5中示出了一个卷积运算单元,本领域的技术人员可根据数据处理的规模或对处理速度的需求实现多个卷积运算单元,以进行并行计算。
激活运算单元509和池化单元510用于对卷积结果的后续计算,并将计算结果以例如DMA方式传递到数据存储单元502。
需要说明的是,各存储单元(包括缓存单元)、控制单元501和卷积运算单元508之间的数据通路包括H-TREE或FAT-TREE等互联技术。存储单元可以是静态随机存储器(SRAM)、动态随机存储器(DRAM)、寄存器堆等常见存储介质,也可以是3D存储器件等新型的存储类型。此外,在某些情况下,卷积运算单元508计算时所需要的神经元或权重可能并非存储在上述存储单元,例如,对于神经元数量较大的神经网络来说,也可以与外部的数据存储部件(即外部数据源)交换数据。
为了进一步理解本发明,图6示出了基于图5的神经网络处理器执行卷积运算的流程图,以执行一个卷积域内的卷积计算为例,包括以下步骤:
步骤S610,将卷积域内的神经元和权重加载到相应的缓存单元。
在此步骤中,将一个卷积核包含的权重从权重存储单元503加载到权重缓存单元504,将一个卷积域内所有输入特征图包含的神经元从数据存储单元502加载到数据缓存单元505,例如,如果存在8个输入特征图,则可加载该8个输入特征图的一个卷积域的神经元。
该加载过程可由控制单元501来控制。
步骤S620,从缓存单元中加载相同维度的神经元向量和权重向量。
在此步骤中,从权重缓存单元504和数据缓存单元505分别加载相同维度的权重向量和神经元向量到有效元素子组匹配单元506。
步骤S630,生成神经元向量和权重向量的有效性匹配编码。
在此步骤中,有效元素子组匹配单元506接收权重向量和神经元向量,并基于本发明的卷积运算方法生成有效性匹配编码,例如,10100100。
步骤S640,根据有效性匹配编码查找需要执行卷积运算的有效元素子组。
根据有效性匹配编码10100100可知,神经元向量和权重向量的第0、第2、第5的位置(从左至右由0开始编号)的元素构成有效元素子组。
将所确定的有效元素子组输出到有效元素子组暂存单元507进行缓存。
步骤S650,针对有效元素子组执行卷积运算。
卷积运算单元508从有效元素子组暂存单元507加载需要执行卷积运算的有效元素子组包含的权重和神经元执行卷积计算,并将卷积结果输出至激活运算单元509和池化单元510完成后续的处理过程。
在上述过程中,控制单元501的功能包括但不限于:控制向各存储单元或缓存单元中加载数据的起始时间、每次加载的数据量;根据卷积运算单元508的计算能力和运行状态控制从有效元素子组暂存单元507向卷积运算单元加载适当数量的有效元素子组等。
本发明提供的神经网络处理器可以是针对神经网络计算而设计的一个微处理器,也可以仅是微处理器的一部分,该神经网络处理器可应用于文字处理、语音识别与处理、多国语言翻译、图像识别、生物特征识到、智能控制等领域,可用作智能计算处理器、机器人、移动设备、也可用于构建大规模神经网络计算的超级计算机。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和神经网络处理器的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现。因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的适用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (4)

1.一种神经网络处理器,包括:
用于存储神经网络的输入特征图数据的数据存储单元,其与数据缓存单元相连;
用于存储已训练好的权重的权重存储单元,其与权重缓存单元相连;
有效元素子组匹配单元,用于从权重向量查找有效权重并从神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;所述有效元素子组匹配单元还用于:生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码;
卷积运算单元,用于针对所述有效元素子组执行卷积运算;
有效元素子组暂存单元,其与所述有效元素子组匹配单元和所述卷积运算单元相连,用于接收所述有效元素子组匹配单元输出的所述有效元素子组并将其输出至所述卷积运算单元;
控制单元,用于控制所述神经网络处理器中数据的传递过程和传递数量,其被配置为:
将一个卷积核包含的权重从权重存储单元加载到权重缓存单元,并将一个卷积域内所有输入特征图包含的神经元从数据存储单元加载到数据缓存单元;
从数据缓存单元和权重缓存单元分别加载相同维度的神经元向量和权重向量到有效元素子组匹配单元;
将经由有效元素子组匹配单元获得的有效元素子组加载至卷积运算单元。
2.根据权利要求1所述的神经网络处理器,其特征在于,所述有效元素子组匹配单元通过执行以下过程获得所述有效性匹配编码:
将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;
将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。
3.一种采用权利要求1所述神经网络处理器执行的卷积运算方法,包括以下步骤:
步骤1:获取卷积域内待执行卷积运算的权重向量和神经元向量,其中所述权重向量和所述神经元向量具有相同的维度;
步骤2:从所述权重向量查找有效权重并从所述神经元向量查找有效神经元,匹配获得有效元素子组,其中,每一个有效元素子组包括一个有效权重以及与该有效权重对应的一个有效神经元,所述有效权重是非零权重,所述有效神经元是非零神经元;生成反映所述权重向量中各元素是否为零值的权重有效性标识编码并生成反映所述神经元向量中各元素是否为零值的神经元有效性标识编码;根据所述权重有效性标识编码和所述神经元有效性标识编码匹配获得用于查找所述有效元素子组的有效性匹配编码;
步骤3:针对所述有效元素子组执行卷积运算。
4.根据权利要求3所述的方法,其中,
通过将非零权重和非零神经元标记为1,将零值权重和零值神经元标记为0获得所述权重有效性标识编码和所述神经元有效性标识编码;
将所述权重有效性标识编码和所述神经元有效性标识编码进行逻辑与操作获得所述有效性匹配编码。
CN201810175352.9A 2018-03-02 2018-03-02 一种神经网络处理器和采用其执行的卷积运算方法 Active CN108171328B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810175352.9A CN108171328B (zh) 2018-03-02 2018-03-02 一种神经网络处理器和采用其执行的卷积运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810175352.9A CN108171328B (zh) 2018-03-02 2018-03-02 一种神经网络处理器和采用其执行的卷积运算方法

Publications (2)

Publication Number Publication Date
CN108171328A CN108171328A (zh) 2018-06-15
CN108171328B true CN108171328B (zh) 2020-12-29

Family

ID=62510691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810175352.9A Active CN108171328B (zh) 2018-03-02 2018-03-02 一种神经网络处理器和采用其执行的卷积运算方法

Country Status (1)

Country Link
CN (1) CN108171328B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032781A (zh) * 2018-07-13 2018-12-18 重庆邮电大学 一种卷积神经网络算法的fpga并行系统
CN111340201A (zh) * 2018-12-19 2020-06-26 北京地平线机器人技术研发有限公司 卷积神经网络加速器及其执行卷积运算操作的方法
CN109886394B (zh) * 2019-03-05 2021-06-18 北京时代拓灵科技有限公司 嵌入式设备中三值神经网络权值处理方法及装置
CN110135563B (zh) * 2019-05-13 2022-07-26 北京航空航天大学 一种卷积神经网络二值化方法及运算电路
CN115640494B (zh) * 2022-12-14 2023-03-21 北京登临科技有限公司 卷积计算单元、ai运算阵列及相关设备
WO2024124808A1 (zh) * 2022-12-14 2024-06-20 北京登临科技有限公司 卷积计算单元、ai运算阵列、稀疏卷积运算方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512723A (zh) * 2016-01-20 2016-04-20 南京艾溪信息科技有限公司 一种用于稀疏连接的人工神经网络计算装置和方法
CN106447034A (zh) * 2016-10-27 2017-02-22 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN106485318A (zh) * 2015-10-08 2017-03-08 上海兆芯集成电路有限公司 具有混合协处理器/执行单元神经网络单元的处理器
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN106779068A (zh) * 2016-12-05 2017-05-31 北京深鉴智能科技有限公司 调整人工神经网络的方法和装置
CN107451652A (zh) * 2016-05-31 2017-12-08 三星电子株式会社 高效的稀疏并行的基于威诺格拉德的卷积方案

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485318A (zh) * 2015-10-08 2017-03-08 上海兆芯集成电路有限公司 具有混合协处理器/执行单元神经网络单元的处理器
CN105512723A (zh) * 2016-01-20 2016-04-20 南京艾溪信息科技有限公司 一种用于稀疏连接的人工神经网络计算装置和方法
CN107451652A (zh) * 2016-05-31 2017-12-08 三星电子株式会社 高效的稀疏并行的基于威诺格拉德的卷积方案
CN106447034A (zh) * 2016-10-27 2017-02-22 中国科学院计算技术研究所 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN106779068A (zh) * 2016-12-05 2017-05-31 北京深鉴智能科技有限公司 调整人工神经网络的方法和装置

Also Published As

Publication number Publication date
CN108171328A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108171328B (zh) 一种神经网络处理器和采用其执行的卷积运算方法
CN107977704B (zh) 权重数据存储方法和基于该方法的神经网络处理器
US11593586B2 (en) Object recognition with reduced neural network weight precision
CN109190756B (zh) 基于Winograd卷积的运算装置及包含该装置的神经网络处理器
US11574195B2 (en) Operation method
US11307865B2 (en) Data processing apparatus and method
CN107944545B (zh) 应用于神经网络的计算方法及计算装置
CN111401406B (zh) 一种神经网络训练方法、视频帧处理方法以及相关设备
EP3407266B1 (en) Artificial neural network calculating device and method for sparse connection
CN107818367B (zh) 用于神经网络的处理系统和处理方法
US11348004B2 (en) Method of managing data representation for deep learning, method of processing data for deep learning and deep learning system performing the same
WO2022068623A1 (zh) 一种模型训练方法及相关设备
CN112016543A (zh) 一种文本识别网络、神经网络训练的方法以及相关设备
CN107766292B (zh) 一种神经网络处理方法及处理系统
EP3561732A1 (en) Operation apparatus and method for artificial neural network
CN114925320B (zh) 一种数据处理方法及相关装置
CN113095475A (zh) 一种神经网络的训练方法、图像处理方法以及相关设备
WO2023179482A1 (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
KR20190098671A (ko) 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치
CN113065997B (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
CN113939801A (zh) 利用自我修正代码减少神经网络的计算量
CN113627421B (zh) 一种图像处理方法、模型的训练方法以及相关设备
CN111652349A (zh) 一种神经网络的处理方法及相关设备
CN112132281B (zh) 一种基于人工智能的模型训练方法、装置、服务器及介质
CN108376283B (zh) 用于神经网络的池化装置和池化方法

Legal Events

Date Code Title Description
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