CN107886167A - 神经网络运算装置及方法 - Google Patents

神经网络运算装置及方法 Download PDF

Info

Publication number
CN107886167A
CN107886167A CN201610868238.5A CN201610868238A CN107886167A CN 107886167 A CN107886167 A CN 107886167A CN 201610868238 A CN201610868238 A CN 201610868238A CN 107886167 A CN107886167 A CN 107886167A
Authority
CN
China
Prior art keywords
neural network
data
sparse
network data
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
CN201610868238.5A
Other languages
English (en)
Other versions
CN107886167B (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.)
Cambricon Technologies Corp Ltd
Original Assignee
Beijing Zhongke Cambrian 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 Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN201910559498.8A priority Critical patent/CN110298443B/zh
Priority to CN201610868238.5A priority patent/CN107886167B/zh
Publication of CN107886167A publication Critical patent/CN107886167A/zh
Application granted granted Critical
Publication of CN107886167B publication Critical patent/CN107886167B/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

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种神经网络运算装置及方法。该神经网络运算装置包括:控制单元、存储单元、稀疏选择单元和神经网络运算单元;其中:控制单元,用于产生分别对应各个单元的微指令,并将微指令发送至相应单元;稀疏选择单元,用于根据控制单元下发的对应稀疏选择单元的微指令,依照其中的稀疏数据表示的位置信息,在存储单元存储的神经网络数据中选择与有效权值相对应的神经网络数据参与运算;以及神经网络运算单元,用于根据控制单元下发的对应神经网络运算单元的微指令,对稀疏选择单元选取的神经网络数据执行神经网络运算,得到运算结果。本发明可以提升神经网络运算装置处理不同数据类型的能力,加快神经网络运算速度的同时降低功耗。

Description

神经网络运算装置及方法
技术领域
本发明涉及信息技术领域,尤其涉及一种兼容通用神经网络数据、稀疏神经网络数据和离散神经网络数据的神经网络运算装置及方法。
背景技术
人工神经网络(ANNs),简称神经网络(NNs),是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠***的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。目前,神经网络在智能控制、机器学***台(CPU,GPU,传统神经网络加速器)已无法满足用户需求。
为了提高神经网络运算平台的运算效率,在通用神经网络数据的基础上,发展出稀疏神经网络数据和离散神经网络数据。然而,目前的神经网络运算平台针对每一种类型的神经网络数据均需要设立单独的处理模块进行处理,造成计算资源紧张,并连带产生了访存带宽不够、功耗过高等问题。
发明内容
(一)要解决的技术问题
鉴于上述技术问题,本发明提供了一种神经网络运算装置及方法,以提升神经网络数据处理的复用化程度,节省计算资源。
(二)技术方案
根据本发明的一个方面,提供了一种神经网络运算装置。该神经网络运算装置包括:控制单元、存储单元、稀疏选择单元和神经网络运算单元;其中:存储单元,用于存储神经网络数据;控制单元,用于产生分别对应稀疏选择单元和神经网络运算单元、存储单元的微指令,并将微指令发送至相应单元;稀疏选择单元,用于根据控制单元下发的对应稀疏选择单元的微指令,依照其中的稀疏数据表示的位置信息,在存储单元存储的神经网络数据中选择与有效权值相对应的神经网络数据参与运算;以及神经网络运算单元,用于根据控制单元下发的对应神经网络运算单元的微指令,对稀疏选择单元选取的神经网络数据执行神经网络运算,得到运算结果。
根据本发明的另一个方面,还提供了一种运用上述神经网络运算装置的神经网络数据处理方法。该神经网络数据处理方法包括:步骤D,离散神经网络数据拆分单元将离散神经网络数据的神经网络模型拆分成N个稀疏表示的子网络,每个子网络中只包含一种实数,其余权值都为0;步骤E,稀疏选择单元和神经网络运算单元将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;以及步骤F,神经网络运算单元将N个子网络的运算结果求和,得到离散神经网络数据的神经网络运算结果,神经网络数据处理结束。
根据本发明的另一个方面,还提供了一种运用上述神经网络运算装置的神经网络数据处理方法。该神经网络数据处理方法包括:步骤A,数据类型判断单元判断神经网络数据的类型,如果神经网络数据为稀疏神经网络数据,执行步骤B,如果神经网络数据为离散神经网络数据,执行步骤D;如果神经网络数据为通用神经网络数据,执行步骤G;步骤B,稀疏选择单元依照稀疏数据表示的位置信息,在存储单元中选择与有效权值相对应的神经网络数据;步骤C,神经网络运算单元对稀疏选择单元获取的神经网络数据执行神经网络运算,得到稀疏神经网络数据的运算结果,神经网络数据处理结束;步骤D,离散神经网络数据拆分单元将离散神经网络数据的神经网络模型拆分成N个稀疏表示的子网络,每个子网络中只包含一种实数,其余权值都为0;步骤E,稀疏选择单元和神经网络运算单元将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;以及步骤F,神经网络运算单元将N个子网络的运算结果求和,得到离散神经网络数据的神经网络运算结果,神经网络数据处理结束;步骤G,神经网络运算单元对通用神经网络数据执行神经网络运算,得到运算结果,神经网络数据处理结束。
(三)有益效果
从上述技术方案可以看出,本发明神经网络运算装置及方法至少具有以下有益效果其中之一:
(1)通过复用稀疏选择单元,同时高效支持稀疏神经网络以及离散数据表示的神经网络运算,实现了减少运算需要的数据量,增加运算过程中的数据复用,从而解决了现有技术中存在的运算性能不足、访存带宽不够、功耗过高等问题;
(2)通过依赖关系处理单元,本装置可以判断数据是否有相互依赖关系,例如下一步计算使用的输入数据是上一步计算执行结束之后的输出结果,这样没有盘算数据依赖关系模块,下一步计算不等待上一步计算结束就开始计算,会引发计算结果不正确。通过依赖关系处理单元判断数据依赖关系从而控制装置等待数据进行下一步计算,从而保证了装置运行的正确性和高效性。
附图说明
图1为本发明第一实施例神经网络运算装置的结构示意图;
图2为稀疏神经网络权值模型数据的示意图;
图3为将N=4的离散神经网络数据拆分为两个子网络的示意图;
图4为将N=2的离散神经网络数据拆分为两个子网络的示意图;
图5为本发明第二实施例神经网络运算装置的结构示意图;
图6为本发明第三实施例神经网络运算装置的结构示意图;
图7为本发明第四实施例神经网络数据处理方法的流程图;
图8为本发明第五实施例神经网络数据处理方法的流程图;
图9为本发明第六实施例神经网络数据处理方法的流程图;
图10为本发明第七实施例神经网络数据处理方法的流程图。
具体实施方式
在对本发明进行介绍之前,首先对三种类型的神经网络数据-通用神经网络数据、稀疏神经网络数据和离散神经网络数据进行说明。
本发明中,通用神经网络数据指代的是通用的计算机数据,也就是计算机中常用的数据类型,例如32位浮点数据、16位浮点数据、32位定点数据等等。
本发明中,离散神经网络数据表示为:部分数据或全部数据是用离散数据表示的计算机数据。不同于通用神经网络数据中32位浮点、16位浮点的数据表示,离散神经网络数据指参与运算的全部数据只是某几个离散的实数组成的集合,神经网络中的数据包括输入数据和神经网络模型数据。包括以下几种类型:
(1)输入数据和神经网络模型数据全部由这几个实数组成叫做全部离散数据表示;
(2)神经网络中的数据只有神经网络模型数据(全部神经网络层或某几个神经网络层)由这几个实数组成,输入数据用通用神经网络数据叫做模型离散数据表示;
(3)神经网络中的数据只有输入数据由这几个实数组成,神经网络模型数据用原始通用神经网络数据叫做输入离散数据表示。
本发明中的离散数据表示指代了包括上述三种离散数据表示方式。例如输入数据是原始通用的神经网络数据,可以是一张RGB图像数据,神经网络模型数据是离散数据表示的,既某几层的权值数据只有-1/+1两种值,此既为离散神经网络数据表示的神经网络。
本发明中,稀疏神经网络数据为:位置上不连续的数据,具体包括数据和数据位置信息这两部分。例如一个神经网络的模型数据是稀疏的,首先我们通过1个长度与整个模型数据大小相同的01比特串反映了数据位置信息。具体为01反应了相应位置上的模型数据是否有效,0表示该位置数据无效既稀疏掉,1表示该位置数据有效。最后,存储时我们只存储有效位置上的数据成为我们的数据信息。这样真实存储的数据信息和01比特串存储的位置信息共同组成了我们的稀疏神经网络数据,本发明中这种数据表示方式也叫做稀疏数据表示。
本发明提供的神经网络运算装置及方法通过复用稀疏选择单元,同时支持稀疏神经网络数据以及离散神经网络数据的神经网络运算。
本发明可以应用于以下(包括但不限于)场景中:数据处理、机器人、电脑、打印机、扫描仪、电话、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备等各类电子产品;飞机、轮船、车辆等各类交通工具;电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机等各类家用电器;以及包括核磁共振仪、B超、心电图仪等各类医疗设备。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
一、第一实施例
在本发明的第一个示例性实施例中,提供了一种神经网络运算装置。请参照图1,本实施例神经网络运算装置包括:控制单元100、存储单元200、稀疏选择单元300和神经网络运算单元400。其中,存储单元200用于存储神经网络数据。控制单元100用于产生分别对应所述稀疏选择单元和神经网络运算单元的微指令,并将微指令发送至相应单元。稀疏选择单元300用于根据控制单元下发的对应稀疏选择单元的微指令,依照其中的稀疏数据表示的位置信息,在存储单元存储的神经网络数据中选择与有效权值相对应的神经网络数据参与运算。神经网络运算单元400用于根据控制单元下发的对应神经网络运算单元的微指令,对稀疏选择单元选取的神经网络数据执行神经网络运算,得到运算结果。
以下分别对本实施例神经网络运算装置的各个组成部分进行详细描述。
存储单元200用于存储三种类型的神经网络数据-通用神经网络数据、稀疏神经网络数据和离散神经网络数据,在一种实施方式中,该存储单元可以是高速暂存存储器,能够支持不同大小的数据规模;本发明将必要的计算数据暂存在高速暂存存储器(ScratchpadMemory)上,使本运算装置在进行神经网络运算过程中可以更加灵活有效地支持不同规模的数据。存储单元可以通过各种不同存储器件(SRAM、eDRAM、DRAM、忆阻器、3D-DRAM或非易失存储等)实现。
控制单元100用于产生分别对应所述稀疏选择单元和神经网络运算单元的微指令,并将微指令发送至相应单元。其中,在本发明中,控制单元可以支持多种不同类型的神经网络算法,包括但不限于CNN/DNN/DBN/MLP/RNN/LSTM/SOM/RCNN/FastRCNN/Faster-RCNN等。
稀疏选择单元300用于根据稀疏神经网络数据的位置信息选择与有效权值相对应的神经元参与运算。在处理离散神经网络数据时,我们同样通过稀疏选择单元处理相应的离散数据。
神经网络运算单元400用于根据控制单元生成的微指令,从存储单元中获取输入数据,执行一般神经网络或稀疏神经网络或离散数据表示的神经网络运算,得到运算结果,并将运算结果存储至存储单元中。
在上述介绍的基础上,以下重点对本实施例中的稀疏选择单元进行详细说明。请参照图1,该稀疏选择单元可以对稀疏数据表示和离散数据表示进行处理,具体为:稀疏选择单元根据稀疏数据的位置信息,既01比特串,来选择与该位置相对应的神经网络每一层的输入数据送入到神经网络运算单元。01比特串中,每1位对应神经网络模型中的一个权值数据,0表示对应的权值数据无效,既不存在。1表示对应的权值数据有效,既存在。稀疏数据表示中的数据部分只存储有效的数据。例如,我们有图2所示的稀疏神经网络权值模型数据。稀疏选择模块将稀疏数据表示的有效权值部分直接送入神经网络运算单元,之后根据01字符串选择其中1既有效位的位置对应的输入神经元的数据送入神经网络运算单元。图2中,稀疏选择模块将把与权值位置1/2/3/7/9/11/15(该数字对应图2中位置信息数字1的从左到右位置,相当于数组序号)相对应的输入神经元送入神经网络运算单元。
本发明的一大特点是将稀疏选择模块300复用于离散神经网络数据中。具体地,对离散神经网络数据,由几个实数值便当做几个稀疏神经网络数据进行运算。准备神经网络模型数据时,通过将神经网络模型拆分成N个子网络。该子网络与原离散神经网络数据的尺寸相同。每个子网络中只包含一种实数,其余权值都为0,这样每个子网络都类似于上述稀疏表示。与上述稀疏数据的唯一区别在于,子网络在神经网络运算单元计算完毕后,需要外部一条指令控制神经网络运算单元将子网络计算结果求和得到最终结果。
请继续参照图1,本实施例中,神经网络运算装置还包括:离散神经网络数据拆分单元500。该离散神经网络数据拆分单元500用于:
(1)确定离散神经网络数据中实数值的个数N;
(2)将离散神经网络模型数据的神经网络模型拆分成N个子网络,每个子网络中只包含一种实数,其余权值都为0;
其中,稀疏选择单元300和神经网络运算单元400将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果。所述神经网络运算单元还用于将N个子网络的运算结果求和,从而得到所述离散神经网络数据的神经网络运算结果。
如图3所示,神经网络模型数据中某一层的权值数据由离散数据表示。我们的离散数据由4个实数值组成(N=4),既只有-1/1/2/-2四种权值,按照这四种权值拆成了四个稀疏表示的子网络。具体执行过程中,外部准备好这四个子网络,稀疏选择模块依次读入4个子网络,之后的处理方式与稀疏神经网络数据相同,均是选择与权值位置信息相对应的输入数据送到运算单元。唯一区别在于,运算单元计算完成后,需要外部一条指令控制神经网络运算单元将4个子网络的运算结果求和。
当量化值个数N=2时,可以将两个稀疏表示合并成一个(稀疏表示中的0和1分别表示两个不同的量化值,不再表示有效和非有效)。如图4所示,特别的当N=2时,我们可以将两个稀疏表示的子网络的位置信息2串比特串合并为1串比特串,比特串指数字01组成的序列。此时的0/1不表示是否稀疏的位置信息,而分别表示1/-1权值的位置信息。稀疏选择模块会选择输入数据两次,分别与权值1和权值-1的位置信息相对应的输入数据输入到运算单元中。同样,最后需要外部一条指令控制运算单元将2个子网络输出结果求和。
二、第二实施例
在本发明的第二个示例性实施例中,提供了一种神经网络运算装置。如图5所示,与第一实施例相比,本实施例神经网络运算装置的区别在于:增加了数据类型判断单元600来判断神经网络数据的类型。
本发明的神经网络数据类型在指令中指定。控制单元通过数据类型判断单元的输出结果控制了稀疏选择单元和运算单元工作方式:
(a)针对稀疏神经网络数据,稀疏选择模块根据位置信息选择对应输入数据送入神经网络运算单元;
具体而言,当所述神经网络数据为稀疏神经网络数据,令所述稀疏选择单元依照稀疏数据表示的位置信息,在存储单元中选择与有效权值相对应的神经元参与运算;令所述神经网络运算单元对稀疏选择单元获取的神经网络数据执行神经网络运算,得到运算结果。
(b)针对离散神经网络数据,稀疏选择模块根据位置信息选择相对应的输入数据送入运算单元,运算单元根据外部运算指令对计算结果求和;
具体而言,当所述神经网络数据为离散神经网络数据时,令所述离散神经网络数据拆分单元工作,将离散神经网络数据的神经网络模型拆分成N个子网络;令所述稀疏选择单元和神经网络运算单元工作,将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;令所述神经网络运算单元工作,将N个子网络的运算结果求和,得到所述离散神经网络数据的神经网络运算结果。
(c)针对一般神经网络数据,既稀疏选择模块不工作,不会根据位置信息选择。
具体而言,当所述神经网络数据为通用神经网络数据时,令所述稀疏选择单元不工作,令所述神经网络运算单元对通用神经网络数据执行神经网络运算,得到运算结果。
三、第三实施例
在本发明的第三个示例性实施例中,提供了一种神经网络运算装置。与第二实施例相比,本实施例神经网络运算装置的区别在于:在控制单元中增加了依赖关系处理功能。
请参照图6,根据本发明的一种实施方式,控制单元100包括:指令缓存模块110,用于存储待执行的神经网络指令,所述神经网络指令包含待处理神经网络数据的地址信息;取指模块120,用于从所述指令缓存模块中获取神经网络指令;译码模块130,用于对神经网络指令进行译码,得到分别对应存储单元、稀疏选择单元和神经网络运算单元的微指令,所述微指令中包含相应神经网络数据的地址信息;指令队列140,用于对译码后的微指令进行存储;标量寄存器堆150,用于存储所述待处理神经网络数据的地址信息;依赖关系处理模块160,用于判断指令队列中的微指令与前一微指令是否访问相同的数据,若是,将该微指令存储在一存储队列中,待前一微指令执行完毕后,将存储队列中的该微指令发射至相应单元;否则,直接将该微指令发射至相应单元。
其中,指令缓存模块用于存储待执行的神经网络指令。指令在执行过程中,同时也被缓存在指令缓存模块中,当一条指令执行完之后,如果该指令同时也是指令缓存模块中未被提交指令中最早的一条指令,该指令将被提交,一旦提交,该条指令进行的操作对装置状态的改变将无法撤销。在一种实施方式中,指令缓存模块可以是重排序缓存。
除此之外,本实施例神经网络运算装置还包括:输入输出单元,用于将数据存储于存储单元,或者,从存储单元中获取神经网络运算结果。其中,直接存储单元,负责从内存中读取数据或写入数据。
四、第四实施例
基于第三实施例的神经网络运算装置,本发明还提供一种通用神经网络数据(通用神经网络指数据不采用离散数据表示或者稀疏化表示的神经网络)处理方法,用于根据运算指令执行一般神经网络运算。如图7所示,本实施例通用神经网络数据的处理方法包括:
步骤S701,取指模块由指令缓存模块中取出神经网络指令,并将所述神经网络指令送往译码模块;
步骤S702,译码模块对所述神经网络指令译码,得到分别对应存储单元、稀疏选择单元和神经网络运算单元的微指令,并将各微指令送往指令队列;
步骤S703,从标量寄存器堆里获取所述微指令的神经网络运算操作码和神经网络运算操作数,之后的微指令送给依赖关系处理单元;
步骤S704,依赖关系处理单元分析所述微指令与之前尚未执行完的微指令在数据上是否存在依赖关系,如果存在,则所述微指令需要在存储队列中等待至其与之前未执行完的微指令在数据上不再存在依赖关系为止之后微指令送往神经网络运算单元和存储单元;
步骤S705,神经网络运算单元根据所需数据的地址和大小从高速暂存存储器中取出需要的数据(包括输入数据,神经网络模型数据等)。
步骤S706,然后在神经网络运算单元中完成所述运算指令对应的神经网络运算,并将神经网络运算得到的结果写回存储单元。
至此,本发明第四实施例稀疏神经网络数据处理方法介绍完毕。
五、第五实施例
基于第三实施例的神经网络运算装置,本发明还提供一种稀疏神经网络数据处理方法,用于根据运算指令执行稀疏神经网络运算。如图8所示,本实施例稀疏神经网络数据的处理方法包括:
步骤S801,取指模块由指令缓存模块中取出神经网络指令,并将所述神经网络指令送往译码模块;
步骤S802,译码模块对所述神经网络指令译码,得到分别对应存储单元、稀疏选择单元和神经网络运算单元的微指令,并将各微指令送往指令队列;
步骤S803,从标量寄存器堆里获取所述微指令的神经网络运算操作码和神经网络运算操作数,之后的微指令送给依赖关系处理单元;
步骤S804,依赖关系处理单元分析所述微指令与之前尚未执行完的微指令在数据上是否存在依赖关系,如果存在,则所述微指令需要在存储队列中等待至其与之前未执行完的微指令在数据上不再存在依赖关系为止之后微指令送往神经网络运算单元和存储单元;
步骤S805,运算单元根据所需数据的地址和大小从高速暂存存储器中取出需要的数据(包括输入数据,神经网络模型数据,神经网络稀疏表示数据),然后稀疏选择模块根据稀疏表示,选择出有效神经网络权值数据对应的输入数据;
例如,输入数据采用一般数据表示,神经网络模型数据采用稀疏表示。稀疏选择模块根据神经网络模型数据的01比特串选择与权值相对应的输入数据,01比特串的长度等于神经网络模型数据的长度,如图2所示,在比特串数字为1的位置选择该位置权值相对应的输入数据输入装置,为0的位置不输入权值相对应的输入数据。如此,我们根据输入稀疏化表示的权值的位置信息01比特串选择了与稀疏权值位置相对应输入数据。
步骤S806,在运算单元中完成所述运算指令对应的神经网络运算(因为我们在S5中已经根据稀疏的权值数据选择了与之相对应的输入数据。所以计算过程与图3中的S106步骤相同。包括输入和权值相乘求和之后加偏置最后激励的过程),并将神经网络运算得到的结果写回存储单元。
至此,本发明第五实施例稀疏神经网络数据处理方法介绍完毕。
六、第六实施例
基于第三实施例的神经网络运算装置,本发明还提供一种离散神经网络数据处理方法,用于根据运算指令执行离散数据表示的神经网络运算。
如图9所示,本实施例离散神经网络数据处理方法包括:
步骤S901,取指模块由指令缓存模块中取出神经网络指令,并将所述神经网络指令送往译码模块;
步骤S902,译码模块对所述神经网络指令译码,得到分别对应存储单元、稀疏选择单元和神经网络运算单元的微指令,并将各微指令送往指令队列;
步骤S903,从标量寄存器堆里获取所述微指令的神经网络运算操作码和神经网络运算操作数,之后的微指令送给依赖关系处理单元;
步骤S904,依赖关系处理单元分析所述微指令与之前尚未执行完的微指令在数据上是否存在依赖关系,如果存在,则所述微指令需要在存储队列中等待至其与之前未执行完的微指令在数据上不再存在依赖关系为止之后微指令送往神经网络运算单元和存储单元;
步骤S905,运算单元根据所需数据的地址和大小从高速暂存存储器中取出需要的数据(包括输入数据,如上文所述的多个子网络的模型数据,每个子网络仅包含一种离散表示的权值,以及每个子网络的稀疏表示,然后稀疏选择模块根据每个子网络的稀疏表示,选择出该子网络的有效权值数据对应的输入数据。离散数据的存储方式例如图3、图4所示,稀疏选择模块与上文中的操作类似,根据稀疏表示的01比特串表示的位置信息,选择相对应的输入数据从高速暂存存储器中取出到装置中)
步骤S906,然后在运算单元中完成所述运算指令对应的子神经网络的运算(此过程也与上文中的计算过程类似,唯一的不同在于,例如像图2和图3的差别,稀疏表示方法中模型数据只有一个稀疏化表示,而离散数据数据表示可能会从一个模型数据中产生出多个子模型,运算过程中需要对所有子模型的运算结果做累加和),并将各个子网络的运算结果相加,并将运算得到的最终结果写回存储单元。
至此,本发明第六实施例稀疏神经网络数据处理方法介绍完毕。
七、第七实施例
基于第三实施例的神经网络运算装置,本发明还提供一种神经网络数据处理方法。请参照图10,本实施例神经网络数据处理方法包括:
步骤A,数据类型判断单元判断神经网络数据的类型,如果神经网络数据为稀疏神经网络数据,执行步骤B,如果神经网络数据为离散神经网络数据,执行步骤D;如果神经网络数据为通用神经网络数据,执行步骤G;
步骤B,稀疏选择单元依照稀疏数据表示的位置信息,在存储单元中选择与有效权值相对应的神经网络数据;
步骤C,神经网络运算单元对稀疏选择单元获取的神经网络数据执行神经网络运算,得到稀疏神经网络数据的运算结果,神经网络数据处理结束;
步骤D,离散神经网络数据拆分单元将离散神经网络数据的神经网络模型拆分成N个稀疏表示的子网络,每个子网络中只包含一种实数,其余权值都为0;
步骤E,稀疏选择单元和神经网络运算单元将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;以及
步骤F,神经网络运算单元将N个子网络的运算结果求和,得到离散神经网络数据的神经网络运算结果,神经网络数据处理结束;
步骤G,神经网络运算单元对通用神经网络数据执行神经网络运算,得到运算结果,神经网络数据处理结束。
至此,本发明第七实施例稀疏神经网络数据处理方法介绍完毕。
需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换,例如:离散数据、稀疏数据、一般普通神经网络数据三种数据的混合使用,输入数据是一般神经网络数据,神经网络模型数据中某几层数据采用离散数据、某几层数据采用稀疏数据。因为本发明装置中的基本流程是以一层神经网络运算为例的,真实使用的神经网络往往是多层的,所以真实使用中这种每一层采取不同数据类型的方式是常见的。
还需要说明的是,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。
综上所述,本发明通过复用稀疏选择单元,同时高效支持稀疏神经网络以及离散数据表示的神经网络运算,实现了减少运算需要的数据量,增加运算过程中的数据复用,从而解决了现有技术中存在的运算性能不足、访存带宽不够、功耗过高等问题。同时,通过依赖关系处理模块,达到了保证神经网络正确运行的同时提高了运行效率缩短运行时间的效果,在多个领域均有广泛的应用,具有极强的应用前景和较大的经济价值。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种神经网络运算装置,其特征在于,包括:控制单元、存储单元、稀疏选择单元和神经网络运算单元;其中:
存储单元,用于存储神经网络数据;
所述控制单元,用于产生分别对应所述稀疏选择单元和神经网络运算单元、存储单元的微指令,并将微指令发送至相应单元;
稀疏选择单元,用于根据控制单元下发的对应稀疏选择单元的微指令,依照其中的稀疏数据表示的位置信息,在存储单元存储的神经网络数据中选择与有效权值相对应的神经网络数据参与运算;以及
神经网络运算单元,用于根据控制单元下发的对应神经网络运算单元的微指令,对稀疏选择单元选取的神经网络数据执行神经网络运算,得到运算结果。
2.根据权利要求1所述的神经网络运算装置,其特征在于,所述神经网络数据为离散神经网络数据;
所述神经网络运算装置还包括:离散神经网络数据拆分单元,用于确定离散神经网络数据中实数值的个数N,将离散神经网络数据的神经网络模型拆分成N个稀疏表示的子网络,每个子网络中只包含一种实数,其余权值都为0;
所述稀疏选择单元和神经网络运算单元将每个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;
所述神经网络运算单元还用于将N个子网络的运算结果求和,从而得到所述离散神经网络数据的神经网络运算结果。
3.根据权利要求2所述的神经网络运算装置,其特征在于,所述N=2或4。
4.根据权利要求2所述的神经网络运算装置,其特征在于,还包括:
数据类型判断单元,用于判断所述神经网络数据的类型;
所述控制单元用于:
(a)当所述神经网络数据为稀疏神经网络数据,令所述稀疏选择单元依照稀疏数据表示的位置信息,在存储单元中选择与有效权值相对应的神经网络数据;令所述神经网络运算单元对稀疏选择单元获取的神经网络数据执行神经网络运算,得到运算结果;
(b)当所述神经网络数据为离散神经网络数据时,令所述离散神经网络数据拆分单元工作,将离散神经网络数据的神经网络模型拆分成N个子网络;令所述稀疏选择单元和神经网络运算单元工作,将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;令所述神经网络运算单元工作,将N个子网络的运算结果求和,得到所述离散神经网络数据的神经网络运算结果。
5.根据权利要求4所述的神经网络运算装置,其特征在于,所述控制单元还用于:
(c)当所述神经网络数据为通用神经网络数据时,令所述稀疏选择单元不工作,令所述神经网络运算单元对通用神经网络数据执行神经网络运算,得到运算结果。
6.根据权利要求1所述的神经网络运算装置,其特征在于,所述控制单元包括:
指令缓存模块,用于存储待执行的神经网络指令,所述神经网络指令包含待处理神经网络数据的地址信息;
取指模块,用于从所述指令缓存模块中获取神经网络指令;
译码模块,用于对神经网络指令进行译码,得到分别对应存储单元、稀疏选择单元和神经网络运算单元的微指令,所述微指令中包含相应神经网络数据的地址信息;
指令队列,用于对译码后的微指令进行存储;
标量寄存器堆,用于存储所述待处理神经网络数据的地址信息;
依赖关系处理模块,用于判断指令队列中的微指令与前一微指令是否访问相同的数据,若是,将该微指令存储在一存储队列中,待前一微指令执行完毕后,将存储队列中的该微指令发射至相应单元;否则,直接将该微指令发射至相应单元。
7.根据权利要求1至6中任一项所述的神经网络运算装置,其特征在于,应用于以下场景中:电子产品、交通工具、家用电器或医疗设备,其中:
所述电子产品为以下群组中的一种:数据处理、机器人、电脑、打印机、扫描仪、电话、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备;
所述交通工具为以下群组中的一种:飞机、轮船、车辆;
所述家用电器为以下群组中的一种:电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;
所述医疗设备为以下群组中的一种:核磁共振仪、B超、心电图仪。
8.一种运用权利要求2所述神经网络运算装置的神经网络数据处理方法,其特征在于,包括:
步骤D,离散神经网络数据拆分单元将离散神经网络数据的神经网络模型拆分成N个稀疏表示的子网络,每个子网络中只包含一种实数,其余权值都为0;
步骤E,稀疏选择单元和神经网络运算单元将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;以及
步骤F,神经网络运算单元将N个子网络的运算结果求和,得到所述离散神经网络数据的神经网络运算结果,神经网络数据处理结束。
9.一种运用权利要求5所述神经网络运算装置的神经网络数据处理方法,其特征在于,包括:
步骤A,所述数据类型判断单元判断神经网络数据的类型,如果神经网络数据为稀疏神经网络数据,执行步骤B,如果神经网络数据为离散神经网络数据,执行步骤D;如果神经网络数据为通用神经网络数据,执行步骤G:
步骤B,所述稀疏选择单元依照稀疏数据表示的位置信息,在存储单元中选择与有效权值相对应的神经网络数据;
步骤C,所述神经网络运算单元对稀疏选择单元获取的神经网络数据执行神经网络运算,得到稀疏神经网络数据的运算结果,神经网络数据处理结束;
步骤D,所述离散神经网络数据拆分单元将离散神经网络数据的神经网络模型拆分成N个稀疏表示的子网络,每个子网络中只包含一种实数,其余权值都为0;
步骤E,所述稀疏选择单元和神经网络运算单元将每一个子网络按照稀疏神经网络数据进行处理,分别得到运算结果;以及
步骤F,所述神经网络运算单元将N个子网络的运算结果求和,得到所述离散神经网络数据的神经网络运算结果,神经网络数据处理结束;
步骤G,所述神经网络运算单元对通用神经网络数据执行神经网络运算,得到运算结果,神经网络数据处理结束。
10.根据权利要求8或9所述的神经网络处理方法,其特征在于,所述控制单元包括:指令缓存模块、取指模块、译码模块和指令队列和标量寄存器堆和依赖关系处理模块;
所述步骤A之前还包括:
取指模块由指令缓存模块中取出神经网络指令,并将所述神经网络指令送往译码模块;
译码模块对所述神经网络指令译码,得到分别对应存储单元、稀疏选择单元和神经网络运算单元的微指令,并将各微指令送往指令队列;
之后微指令从标量寄存器堆里获取所述微指令的神经网络运算操作码和神经网络运算操作数,之后的微指令送给依赖关系处理单元;
依赖关系处理单元分析所述微指令与之前尚未执行完的微指令在数据上是否存在依赖关系,如果存在,则所述微指令需要在存储队列中等待至其与之前未执行完的微指令在数据上不再存在依赖关系为止之后微指令送往神经网络运算单元、稀疏选择单元、存储单元。
CN201610868238.5A 2016-09-29 2016-09-29 神经网络运算装置及方法 Active CN107886167B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910559498.8A CN110298443B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法
CN201610868238.5A CN107886167B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610868238.5A CN107886167B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910559498.8A Division CN110298443B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法

Publications (2)

Publication Number Publication Date
CN107886167A true CN107886167A (zh) 2018-04-06
CN107886167B CN107886167B (zh) 2019-11-08

Family

ID=61769472

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910559498.8A Active CN110298443B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法
CN201610868238.5A Active CN107886167B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910559498.8A Active CN110298443B (zh) 2016-09-29 2016-09-29 神经网络运算装置及方法

Country Status (1)

Country Link
CN (2) CN110298443B (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740754A (zh) * 2018-12-29 2019-05-10 北京中科寒武纪科技有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN109740739A (zh) * 2018-12-29 2019-05-10 北京中科寒武纪科技有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN109754073A (zh) * 2018-12-29 2019-05-14 北京中科寒武纪科技有限公司 数据处理方法、装置、电子设备和可读存储介质
CN109831801A (zh) * 2019-01-04 2019-05-31 东南大学 基于深度学习神经网络的用户行为预测的基站缓存算法
CN109919315A (zh) * 2019-03-13 2019-06-21 科大讯飞股份有限公司 一种神经网络的前向推理方法、装置、设备及存储介质
CN110058943A (zh) * 2019-04-12 2019-07-26 三星(中国)半导体有限公司 用于电子设备的内存优化方法和设备
CN110490314A (zh) * 2019-08-14 2019-11-22 北京中科寒武纪科技有限公司 神经网络的稀疏方法及相关产品
CN110490315A (zh) * 2019-08-14 2019-11-22 北京中科寒武纪科技有限公司 神经网络的反向运算稀疏方法及相关产品
CN110659069A (zh) * 2018-06-28 2020-01-07 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算***
WO2020078446A1 (zh) * 2018-10-19 2020-04-23 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111078281A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079912A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079909A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078280A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079914A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079910A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079907A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079916A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078293A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079924A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079911A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111105009A (zh) * 2018-10-25 2020-05-05 通用汽车环球科技运作有限责任公司 用于车辆感知***的神经网络中的定点量化
WO2020140477A1 (zh) * 2019-01-03 2020-07-09 中国科学院自动化研究所 基于神经网络的3d打印误差补偿方法、***、装置
CN111523653A (zh) * 2019-02-03 2020-08-11 上海寒武纪信息科技有限公司 运算装置及方法
CN111694675A (zh) * 2019-03-15 2020-09-22 上海商汤智能科技有限公司 任务调度方法及装置、存储介质
CN111767995A (zh) * 2019-04-02 2020-10-13 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN111860796A (zh) * 2019-04-30 2020-10-30 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN113269316A (zh) * 2021-03-26 2021-08-17 复旦大学 支持稀疏神经网络计算加速器的稀疏数据选择逻辑模块

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111160545A (zh) * 2019-12-31 2020-05-15 北京三快在线科技有限公司 人工神经网络处理***及其数据处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040128004A1 (en) * 2000-08-16 2004-07-01 Paul Adams Neural network device for evolving appropriate connections
CN103620624A (zh) * 2011-06-22 2014-03-05 高通股份有限公司 用于导致稀疏连通性的局部竞争性学习规则的方法和装置
CN105005911A (zh) * 2015-06-26 2015-10-28 深圳市腾讯计算机***有限公司 深度神经网络的运算***及运算方法
CN105260776A (zh) * 2015-09-10 2016-01-20 华为技术有限公司 神经网络处理器和卷积神经网络处理器
CN105488563A (zh) * 2015-12-16 2016-04-13 重庆大学 面向深度学习的稀疏自适应神经网络、算法及实现装置
CN105512723A (zh) * 2016-01-20 2016-04-20 南京艾溪信息科技有限公司 一种用于稀疏连接的人工神经网络计算装置和方法
CN105874477A (zh) * 2014-01-23 2016-08-17 高通股份有限公司 配置稀疏神经网络

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105654176B (zh) * 2014-11-14 2018-03-27 富士通株式会社 神经网络***及神经网络***的训练装置和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040128004A1 (en) * 2000-08-16 2004-07-01 Paul Adams Neural network device for evolving appropriate connections
CN103620624A (zh) * 2011-06-22 2014-03-05 高通股份有限公司 用于导致稀疏连通性的局部竞争性学习规则的方法和装置
CN105874477A (zh) * 2014-01-23 2016-08-17 高通股份有限公司 配置稀疏神经网络
CN105005911A (zh) * 2015-06-26 2015-10-28 深圳市腾讯计算机***有限公司 深度神经网络的运算***及运算方法
CN105260776A (zh) * 2015-09-10 2016-01-20 华为技术有限公司 神经网络处理器和卷积神经网络处理器
CN105488563A (zh) * 2015-12-16 2016-04-13 重庆大学 面向深度学习的稀疏自适应神经网络、算法及实现装置
CN105512723A (zh) * 2016-01-20 2016-04-20 南京艾溪信息科技有限公司 一种用于稀疏连接的人工神经网络计算装置和方法

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659069A (zh) * 2018-06-28 2020-01-07 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算***
CN110659069B (zh) * 2018-06-28 2022-08-19 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算***
CN111079914B (zh) * 2018-10-19 2021-02-09 中科寒武纪科技股份有限公司 运算方法、***及相关产品
WO2020078446A1 (zh) * 2018-10-19 2020-04-23 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079916A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078280B (zh) * 2018-10-19 2021-01-26 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079911A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079924A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078293B (zh) * 2018-10-19 2021-03-16 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111078281B (zh) * 2018-10-19 2021-02-12 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078293A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111078281A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079912A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079909A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111078280A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079914A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、***及相关产品
CN111079910A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111079907A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
CN111105009A (zh) * 2018-10-25 2020-05-05 通用汽车环球科技运作有限责任公司 用于车辆感知***的神经网络中的定点量化
CN109754073A (zh) * 2018-12-29 2019-05-14 北京中科寒武纪科技有限公司 数据处理方法、装置、电子设备和可读存储介质
CN109740739B (zh) * 2018-12-29 2020-04-24 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN109740754A (zh) * 2018-12-29 2019-05-10 北京中科寒武纪科技有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN109740739A (zh) * 2018-12-29 2019-05-10 北京中科寒武纪科技有限公司 神经网络计算装置、神经网络计算方法及相关产品
WO2020140477A1 (zh) * 2019-01-03 2020-07-09 中国科学院自动化研究所 基于神经网络的3d打印误差补偿方法、***、装置
US11106193B1 (en) 2019-01-03 2021-08-31 Institute Of Automation, Chinese Academy Of Sciences Neural network-based error compensation method, system and device for 3D printing
CN109831801A (zh) * 2019-01-04 2019-05-31 东南大学 基于深度学习神经网络的用户行为预测的基站缓存算法
CN111523655A (zh) * 2019-02-03 2020-08-11 上海寒武纪信息科技有限公司 处理装置及方法
CN111523653B (zh) * 2019-02-03 2024-03-29 上海寒武纪信息科技有限公司 运算装置及方法
CN111523655B (zh) * 2019-02-03 2024-03-29 上海寒武纪信息科技有限公司 处理装置及方法
CN111523653A (zh) * 2019-02-03 2020-08-11 上海寒武纪信息科技有限公司 运算装置及方法
CN109919315B (zh) * 2019-03-13 2021-10-01 科大讯飞股份有限公司 一种神经网络的前向推理方法、装置、设备及存储介质
CN109919315A (zh) * 2019-03-13 2019-06-21 科大讯飞股份有限公司 一种神经网络的前向推理方法、装置、设备及存储介质
CN111694675B (zh) * 2019-03-15 2022-03-08 上海商汤智能科技有限公司 任务调度方法及装置、存储介质
US11347546B2 (en) 2019-03-15 2022-05-31 Shanghai Sensetime Intelligent Technology Co., Ltd Task scheduling method and device, and computer storage medium
CN111694675A (zh) * 2019-03-15 2020-09-22 上海商汤智能科技有限公司 任务调度方法及装置、存储介质
CN111767995A (zh) * 2019-04-02 2020-10-13 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN111767995B (zh) * 2019-04-02 2023-12-05 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN110058943B (zh) * 2019-04-12 2021-09-21 三星(中国)半导体有限公司 用于电子设备的内存优化方法和设备
CN110058943A (zh) * 2019-04-12 2019-07-26 三星(中国)半导体有限公司 用于电子设备的内存优化方法和设备
CN111860796A (zh) * 2019-04-30 2020-10-30 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN111860796B (zh) * 2019-04-30 2023-10-03 上海寒武纪信息科技有限公司 运算方法、装置及相关产品
CN110490314B (zh) * 2019-08-14 2024-01-09 中科寒武纪科技股份有限公司 神经网络的稀疏方法及相关产品
CN110490315A (zh) * 2019-08-14 2019-11-22 北京中科寒武纪科技有限公司 神经网络的反向运算稀疏方法及相关产品
CN110490315B (zh) * 2019-08-14 2023-05-23 中科寒武纪科技股份有限公司 神经网络的反向运算稀疏方法及相关产品
CN110490314A (zh) * 2019-08-14 2019-11-22 北京中科寒武纪科技有限公司 神经网络的稀疏方法及相关产品
CN113269316A (zh) * 2021-03-26 2021-08-17 复旦大学 支持稀疏神经网络计算加速器的稀疏数据选择逻辑模块
CN113269316B (zh) * 2021-03-26 2022-10-11 复旦大学 支持稀疏神经网络计算加速器的稀疏数据选择逻辑模块

Also Published As

Publication number Publication date
CN110298443B (zh) 2021-09-17
CN107886167B (zh) 2019-11-08
CN110298443A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
CN107886167A (zh) 神经网络运算装置及方法
CN108229654B (zh) 神经网络卷积运算装置及方法
CN105930902B (zh) 一种神经网络的处理方法、***
CN109189473A (zh) 神经网络处理装置及其执行向量交换指令的方法
JP6880160B2 (ja) 計算装置と計算方法
CN108898554A (zh) 提高图像分辨率的方法及相关产品
CN109032670A (zh) 神经网络处理装置及其执行向量复制指令的方法
CN111047022B (zh) 一种计算装置及相关产品
CN108170640B (zh) 神经网络运算装置及应用其进行运算的方法
CN110163361A (zh) 一种计算装置及方法
CN117933327A (zh) 处理装置、处理方法、芯片及电子装置
WO2018058427A1 (zh) 神经网络运算装置及方法
CN110163350A (zh) 一种计算装置及方法
CN108320018A (zh) 一种人工神经网络运算的装置及方法
WO2022111002A1 (zh) 用于训练神经网络的方法、设备和计算机可读存储介质
CN110909872B (zh) 集成电路芯片装置及相关产品
WO2023045446A1 (zh) 计算装置、数据处理方法及相关产品
CN111047021B (zh) 一种计算装置及相关产品
CN112801276B (zh) 数据处理方法、处理器及电子设备
CN114692865A (zh) 一种神经网络量化训练方法、装置及相关产品
CN109102074B (zh) 一种训练装置
CN113469333B (zh) 执行神经网络模型的人工智能处理器、方法及相关产品
CN116781484B (zh) 数据处理方法、装置、计算机设备及存储介质
CN111125627A (zh) 用于池化多维矩阵的方法及相关产品
CN114692847B (zh) 数据处理电路、数据处理方法及相关产品

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
CP01 Change in the name or title of a patent holder

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Patentee after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Patentee before: Beijing Zhongke Cambrian Technology Co., Ltd.

CP01 Change in the name or title of a patent holder