CN107545303B - 用于稀疏人工神经网络的计算装置和运算方法 - Google Patents

用于稀疏人工神经网络的计算装置和运算方法 Download PDF

Info

Publication number
CN107545303B
CN107545303B CN201710794580.XA CN201710794580A CN107545303B CN 107545303 B CN107545303 B CN 107545303B CN 201710794580 A CN201710794580 A CN 201710794580A CN 107545303 B CN107545303 B CN 107545303B
Authority
CN
China
Prior art keywords
neural network
artificial neural
neuron
sparse
input
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
CN201710794580.XA
Other languages
English (en)
Other versions
CN107545303A (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.)
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201710794580.XA priority Critical patent/CN107545303B/zh
Publication of CN107545303A publication Critical patent/CN107545303A/zh
Application granted granted Critical
Publication of CN107545303B publication Critical patent/CN107545303B/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
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Abstract

一种计算装置和方法,所述计算装置包括运算单元,用于接收指令对所述权值和所述相应的输入神经元执行用于稀疏连接的人工神经网络运算,得到输出神经元。本公开的装置解决了CPU和GPU运算性能不足,前端译码开销大的问题,有效提高了对人工神经网络运算算法的支持,避免了内存带宽成为人工神经网络运算及其训练算法性能瓶颈的问题。

Description

用于稀疏人工神经网络的计算装置和运算方法
本公开是申请日为2016年1月20日、申请号为201610039162.5、发明名称为“一种用于稀疏连接的人工神经网络计算装置和方法”的发明专利申请的分案申请。
技术领域
本公开涉及数据处理技术领域,更具体地涉及一种用于稀疏人工神经网络的计算装置和运算方法。
背景技术
人工神经网络(Artificial Neural Networks,ANNs)简称为神经网络(NNs),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间的相互连接关系,从而达到处理信息的目的。神经网络用到的算法就是向量乘法,并且广泛采用符号函数及其各种逼近。
就像大脑里的神经网络一样,神经网络由一些互相连接的节点组成,如图1所示,每个圆圈表示一个神经元,每个箭头表示两个神经元之间的连接又被称为权值。
神经元的计算公式可以简单的描述成:
Figure GDA0002768802180000011
其中,x表示所有和输出神经元相连接的输入神经元,w表示x和输出神经元之间对应的权值。f(x)是一个非线性函数,通常称作激活函数,常用的函数如:
Figure GDA0002768802180000012
Figure GDA0002768802180000013
等。
神经网络被广泛应用于各种应用场景:计算视觉、语音识别和自然语言处理等。在近几年的时间里,神经网络的规模一直在增长。在1998年,Lecun用于手写字符识别的神经网络的规模小于1M个权值;在2012年,krizhevsky用于参加ImageNet竞赛的规模是60M个权值。
神经网络是一个高计算量和高访存的应用,权值越多,计算量和访存量都会增大。为了减小计算量和权值数量,从而降低访存量,出现了稀疏连接的神经网络,如图2所示即为一个稀疏的神经网络。
随着神经网络计算量和访存量的急剧增大,现有技术中通常采用通用处理器计算稀疏的人工神经网络。对于通用处理器,输入神经元、输出神经元和权值分别存储在三个数组中,同时还有一个索引数组,索引数组存储了每个输出神经元和输入神经元通过权值连接的连接关系。在计算时,主要的运算是神经元与权值相乘。每一次运算都要通过索引数组找到神经元对应的权值。由于通用处理器计算能力和访存能力都很弱,满足不了神经网络的需求。而多个通用处理器并行执行时,通用处理器之间相互通讯又成为了性能瓶颈。在计算剪枝之后的神经网络时,每次乘法运算都要去索引数组里重新查找权值对应的位置,增加了额外的计算量和访存开销。因此计算神经网络耗时长,功耗高。通用处理器需要把多层人工神经网络运算译码成一长列运算及访存指令序列,处理器前端译码带来了较大的功耗开销。
另一种支持稀疏连接的人工神经网络运算及其训练算法的已知方法是使用图形处理器(GPU),该方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。但由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对稀疏的人工神经网络运算的专门支持,仍然需要大量的前端译码工作才能执行稀疏的人工神经网络运算,带来了大量的额外开销。另外GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈,同时带来了巨大的功耗开销。
发明内容
有鉴于此,本公开的目的在于提供一种用于稀疏人工神经网络的计算装置和运算方法。
为了实现上述目的,作为本公开的一个方面,本公开提供了一种用于稀疏人工神经网络的计算装置,包括:
存储装置,用于存储输入数据、一个或多个权值数据、连接关系数据和指令;所述连接关系数据表示每个输入神经元数据和每个输出神经元数据是否有对应的连接关系的权值数据;
映射单元,用于接收输入数据,输入数据包括输入神经元;然后根据连接关系将每个权值一一对应于相应的输入神经元和权值;
运算单元,用于接收指令对所述权值和所述相应的输入神经元执行人工神经网络运算,得到输出神经元。
其中,所述连接关系包括:
第一种情形:
采用1表示有连接,0表示无连接,每个输出神经元与所有输入输出神经元的连接状态组成一个0和1的字符串来表示该输出神经元的连接关系;或者
采用1表示有连接,0表示无连接,每个输入神经元与所有输出神经元的连接状态组成一个0和1的字符串来表示该输入神经元的连接关系;或者
第二种情形:
将一输出神经元的第一个有连接的输入神经元所在的位置距离第一个输入神经元的距离、所述输出神经元的第二个有连接的输入神经元距离第一个有连接的输入神经元的距离,所述输出神经元的第三个有连接的输入神经元距离第二个有连接的输入神经元距离,……,依次类推,直到穷举所述输出神经元的所有输入神经元,来表示所述输出的连接关系。
其中,所述运算单元包括乘法器、加法树和非线性函数单元;所述运算单元接收指令对所述相应的输入神经元和所述权值执行运算,得到输出神经元包括:所述乘法器将所述相应的输入神经元和权值相乘,得到加权神经元数据;和/或,所述加法树将加权神经元数据相加得到总加权神经元数据;和/或所述非线性函数单元对总加权神经元数据执行激活函数运算,得到输出神经元。
其中,所述运算单元将加权神经元数据相加得到总加权神经元数据包括将加权神经元数据执行加法树运算得到总加权神经元数据。
其中,所述运算单元将总加权神经元数据和偏置相加得到加偏置神经元数据,和/或对加偏置神经元数据执行激活函数运算,得到输出神经元。
其中,所述激活函数包括sigmoid函数、tanh函数或ReLU函数。
其中,所述存储装置还用于暂存储输出神经元。
其中,映射单元将部分或全部的相应的输入神经元存储在存储装置中。
其中,所述用于稀疏连接的人工神经网络计算装置还包括:
指令缓存,用于存储所述指令;以及
控制单元,用于从所述指令缓存中读取指令,并将读取的指令译码。
其中,所述用于稀疏人工神经网络的计算装置还包括:输入神经元缓存,用于缓存输入神经元;以及权值缓存,用于缓存权值。
其中,所述用于稀疏人工神经网络的计算装置还包括:输出神经元缓存,用于缓存输出神经元。
其中,所述用于稀疏人工神经网络的计算装置还包括直接内存存取单元,用于在所述存储装置、指令缓存、输入神经元缓存、输出神经元缓存和权值缓存中进行数据或指令读写。
其中,映射单元将所述相应的输入神经元存储在输入神经元缓存中。
其中,映射单元将相应的输入神经元直接传输给运算单元。
其中,所述运算单元采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
作为本公开的另一个方面,本公开还提供了一种包括如上所述的用于稀疏人工神经网络的计算装置的人工神经网络运算装置,还包括CPU或GPU,用于数据搬运,控制所述用于稀疏人工神经网络的计算装置,传输指令给所述用于稀疏人工神经网络的计算装置;以及I/O接口,用于处理CPU或GPU的输入/输出;所述运算装置用于接受CPU或GPU的数据和指令,执行稀疏的多层人工神经网络运算算法得到执行结果,然后将执行结果传输给CPU或GPU;所述用于稀疏人工神经网络的计算装置包括存储单元,还用于存储稀疏的多层人工神经网络模型。
其中,所述人工神经网络运算装置包括多个所述用于稀疏人工神经网络的计算装置。
其中,多个所述用于稀疏人工神经网络的计算装置通过PCIE总线互联,多个所述用于稀疏人工神经网络的计算装置共用同一个宿主CPU或GPU或者分别有相应的宿主CPU或GPU。
其中,多个所述用于稀疏人工神经网络的计算装置共享指令缓存、输入神经元缓存、输出神经元缓存和/或权值缓存。
作为本公开的再一个方面,本公开还提供了一种用于稀疏人工神经网络的运算方法,所述方法包括:
使用映射单元接收输入数据和存储单元存储的权值和连接关系,输入数据包括输入神经元;然后根据连接关系将每个权值一一对应于相应的输入神经元和权值;以及
使用运算单元接收指令对所述权值和所述相应的输入神经元执行运算,得到输出神经元。
其中,所述连接关系包括:
第一种情形:
采用1表示有连接,0表示无连接,每个输出神经元与所有输入输出神经元的连接状态组成一个0和1的字符串来表示该输出神经元的连接关系;或者
采用1表示有连接,0表示无连接,每个输入神经元与所有输出神经元的连接状态组成一个0和1的字符串来表示该输入神经元的连接关系;或者
第二种情形:
将一输出神经元的第一个有连接的输入神经元所在的位置距离第一个输入神经元的距离、所述输出神经元的第二个有连接的输入神经元距离第一个有连接的输入神经元的距离,所述输出神经元的第三个有连接的输入神经元距离第二个有连接的输入神经元距离,……,依次类推,直到穷举所述输出神经元的所有输入神经元,来表示所述输出的连接关系。
其中,所述运算单元接收指令对所述相应的输入神经元和所述权值执行运算,得到输出神经元的步骤包括:所述运算单元将所述相应的输入神经元和权值相乘,得到加权神经元数据;将加权神经元数据相加得到总加权神经元数据;和/或,对总加权神经元数据执行激活函数运算,得到输出神经元。
其中,所述运算单元将加权神经元数据相加得到总加权神经元数据的步骤包括:将加权神经元数据执行加法树运算得到总加权神经元数据。
其中,所述运算单元将总加权神经元数据和偏置相加得到加偏置神经元数据,和/或,对加偏置神经元数据执行激活函数运算,得到输出神经元。
其中,所述激活函数包括sigmoid函数、tanh函数或ReLU函数。
其中,所述用于稀疏人工神经网络的运算方法还包括使用存储装置暂时存储输出神经元。
其中,映射单元将部分或全部的相应的输入神经元存储在存储装置中。
其中,所述用于稀疏人工神经网络的运算方法还包括:
使用指令缓存存储所述指令;以及
使用控制单元从所述指令缓存中读取指令,并将读取的指令译码。
其中,所述用于稀疏人工神经网络的运算方法还包括:使用输入神经元缓存缓存输入神经元;以及使用权值缓存缓存权值。
其中,所述用于稀疏人工神经网络的运算方法还包括:使用输出神经元缓存缓存输出神经元。
其中,所述用于稀疏人工神经网络的运算方法还包括使用直接内存存取单元在所述存储装置、指令缓存、输入神经元缓存、输出神经元缓存和权值缓存中进行数据或指令读写。
其中,映射单元将相应的输入神经元存储在输入神经元缓存中。
其中,映射单元将相应的输入神经元直接传输给运算单元。
其中,所述用于稀疏人工神经网络的运算方法采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
作为本公开的还一个方面,本公开还提供了一种包括如上所述的用于稀疏人工神经网络的运算方法的稀疏的多层人工神经网络运算方法,还包括使用CPU或GPU执行数据搬运,控制所述用于稀疏人工神经网络的计算装置,传输指令给所述用于稀疏人工神经网络的计算装置;以及使用I/O接口处理CPU或GPU的输入/输出;所述用于稀疏人工神经网络的运算装置接受CPU或GPU的数据和指令,执行稀疏的多层人工神经网络运算算法得到执行结果,然后将执行结果传输给CPU或GPU;所述用于稀疏人工神经网络的运算装置包括存储单元,用于存储稀疏的多层人工神经网络模型。
其中,所述稀疏的多层人工神经网络运算方法包括并行执行多个所述用于稀疏人工神经网络的运算方法的步骤。
基于上述技术方案可知,本公开的用于稀疏人工神经网络的计算装置和运算方法至少具有以下有益效果之一:
(1)通过采用针对稀疏的多层人工神经网络运算的专用SIMD指令和定制的运算单元,解决了CPU和GPU运算性能不足,前端译码开销大的问题,有效提高了对多层人工神经网络运算算法的支持;
(2)通过采用针对多层人工神经网络运算算法的专用片上缓存,充分挖掘了输入神经元和权值数据的重用性,避免了反复向内存读取这些数据,降低了内存访问带宽,避免了内存带宽成为多层人工神经网络运算及其训练算法性能瓶颈的问题。
附图说明
图1是神经网络的节点结构示意图;
图2是稀疏连接的神经网络的节点结构示意图;
图3是作为本公开一实施例的总体结构的示意性框图;
图4是作为本公开一实施例的一稀疏连接的神经网络的节点结构示意图;
图5是图4的神经网络的连接关系示意图;
图6是作为本公开又一实施例的一稀疏连接的神经网络的连接关系示意图;
图7是作为本公开一实施例的一卷积操作的示意图;
图8是卷积神经网络变得稀疏时输入、输出和权值的变化图;
图9是作为本公开一实施例的稀疏连接的人工神经网络运算装置的结构示意图;
图10是作为本公开一实施例的映射单元的结构示意图;
图11是作为本公开一实施例的稀疏连接的人工神经网络运算过程的流程图;
图12是作为本公开另一实施例的稀疏连接的人工神经网络运算装置的结构示意图;
图13是作为本公开另一实施例的映射单元的结构示意图;
图14是作为本公开再一实施例的稀疏连接的人工神经网络运算装置的结构示意图;
图15是作为本公开再一实施例的映射单元的结构示意图;
图16是作为本公开还一实施例的稀疏连接的人工神经网络运算装置的结构示意图;
图17是作为本公开还一实施例的映射单元的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
本公开公开了一种用于稀疏人工神经网络的计算装置,包括:
映射单元,用于将输入数据转换成输入神经元和权值一一对应的存储方式,并存储在存储装置或者缓存中;
存储装置,用于存储数据和指令;
运算单元,用于根据所述存储装置中存储的指令对所述数据执行相应的运算;所述运算单元主要执行三步运算,第一步是将输入的神经元和权值数据相乘;第二步执行加法树运算,用于将第一步处理后的加权输出神经元通过加法树逐级相加,或者将加权输出神经元通过和偏置相加得到加偏置输出神经元;第三步执行激活函数运算,得到最终输出神经元。
其中,所述映射单元中的一一对应关系表示如下:
第一种情形:
采用1表示有连接,0表示无连接,每个输出神经元与所有输入神经元的连接状态组成一个0和1的字符串来表示该输出神经元的连接关系;或者
采用1表示有连接,0表示无连接,每个输入神经元与所有输出神经元的连接状态组成一个0和1的字符串来表示该输入神经元的连接关系;
第二种情形:
将一输出神经元第一个连接所在的输入神经元的位置距离第一个输入神经元的距离、所述输出神经元第二个输入神经元距离上一个输入神经元的距离,所述输出神经元第三个输入神经元距离上一个输入神经元的距离,……,依次类推,直到穷举所述输出神经元的所有输入神经元,来表示所述输出神经元的连接关系。
作为优选,所述人工神经网络计算装置还包括直接内存存取单元(Direct Memoryaccess,DMA),用于在所述存储装置和缓存中进行数据或者指令读写。
作为优选,所述人工神经网络计算装置还包括:
指令缓存,用于存储专用指令;以及
控制单元,用于从所述指令缓存中读取专用指令,并将其译码成各运算单元指令。
作为优选,所述人工神经网络计算装置还包括:
输入神经元缓存,用于缓存输入到所述运算单元的输入神经元数据;以及
权值缓存,用于缓存权值数据。
作为优选,所述人工神经网络计算装置还包括:
输出神经元缓存,用于缓存所述运算单元输出的输出神经元。
作为优选,所述映射单元用于将输入数据转换成输入神经元和权值一一对应的存储方式,并输出到所述运算单元,而不是存储在存储装置中。
作为优选,所述人工神经网络计算装置还包括输入神经元缓存和/或权值缓存,所述输入神经元缓存用于缓存输入到所述运算单元的输入神经元数据,所述权值缓存用于缓存权值数据,所述映射单元用于将输入数据转换成输入神经元和权值一一对应的存储方式,并输出到所述输入神经元缓存和/或权值缓存。
作为优选,所述运算单元在第三步执行的激活函数包括sigmoid函数、tanh函数或ReLU函数。
本公开还公开了一种用于稀疏连接的人工神经网络的计算方法,包括以下步骤:
步骤1,将输入数据转换成输入神经元和权值一一对应的存储方式;其中,所述对应关系包括:
第一种情形:
采用1表示有连接,0表示无连接,每个输出神经元与所有输入神经元的连接状态组成一个0和1的字符串来表示该输出神经元的连接关系;或者
采用1表示有连接,0表示无连接,每个输入神经元与所有输出神经元的连接状态组成一个0和1的字符串来表示该输入神经元的连接关系;
第二种情形:
将一输出神经元第一个连接所在的输入神经元的位置距离第一个输入神经元的距离、所述输出神经元第二个输入神经元距离上一个输入神经元的距离,所述输出神经元第三个输入神经元距离上一个输入神经元的距离,……,依次类推,直到穷举所述输出神经元的所有输入神经元,来表示所述输出神经元的连接关系
步骤2,将输入的神经元和权值数据相乘;
步骤3,执行加法树运算,将第一步处理后的加权输出神经元通过加法树逐级相加,或者将加权输出神经元通过和偏置相加得到加偏置输出神经元;
步骤4,对加权输出神经元或加偏置输出神经元执行激活函数运算,得到最终输出神经元;其中,所述激活函数包括sigmoid函数、tanh函数或ReLU函数。
下面结合附图和具体实施例对本公开的技术方案进一步阐释说明。
图3是根据本公开一个实施例的总体结构的示意性框图。
I/O接口1,用于I/O数据需要经过CPU3发给稀疏的多层人工神经网络运算装置,然后由稀疏的多层人工神经网络运算装置4写入存储装置,稀疏的多层人工神经网络运算装置4需要的专用程序也是由CPU3传输到稀疏的多层人工神经网络运算装置4。
存储装置2用于暂存稀疏的多层人工神经网络模型和神经元数据,特别是当全部模型无法在稀疏的多层人工神经网络运算装置4上的缓存中放下时。
中央处理器CPU3,用于进行数据搬运以及稀疏的多层人工神经网络运算装置4启动停止等基本控制,作为稀疏的多层人工神经网络运算装置4与外部控制的接口。
稀疏的人工神经网络运算装置4,用于执行稀疏的多层人工神经网络运算单元,接受来自CPU3的数据和程序,执行上述稀疏的多层人工神经网络运算算法,稀疏的人工神经网络运算装置4的执行结果将传输回CPU3。
通用系统结构:将稀疏的人工神经网络运算装置4作为CPU 3或者GPU的协处理器来执行稀疏的多层人工神经网络运算算法。
多个稀疏的人工神经网络运算装置互联的系统结构:多个稀疏的人工神经网络运算装置4可以通过PCIE总线互联,以支持更大规模的稀疏的多层人工神经网络运算,可以共用同一个宿主CPU或者分别有自己的宿主CPU,可以共享内存也可以每个加速器有各自的内存。此外其互联方式可以是任意互联拓扑。
对于一个稀疏连接的神经网络如图4所示,有4个输入神经元:i1,i2,i3,i4,有2个输出神经元:o1,o2。其中,o1和i1,i3,i4有连接,把连接的权值分别表示为w11,w31,w41,o2和i2,i3有连接,把连接的权值分别表示为w22,w32
有两种方法可以表示上面稀疏神经网络的连接关系,一种是每个输入与输出神经元之间都用一位表示是否有连接,另一种是用连接之间的距离来表示每个连接的位置。
第一种连接表示:
对于图4中的神经网络,如图5所示,输出神经元o1的连接关系为:1011,每一位表示是否与输入神经元有连接,1表示有连接,0表示无连接,输出神经元o2的连接关系为0110。在运算时,连接关系为0所对应的输入神经元不会进行运算。
在存储连接关系时,可以按照优先输入神经元或者输出神经元的顺序对连接关系进行存储。具体存储格式有以下几种:
格式一:将每个输出神经元的所有输入神经元依次摆放完,上面的例子摆放的顺序为10110110。
格式二:将每个输入神经元的所有的输出神经元依次摆放完,上面的例子摆放的顺序为10011110。
第二种连接表示:
比如对于图6中的神经网络,输出神经元o1与输入神经元i1,i3,i4相连接,那么连接关系为0,2,1。0表示第一个连接所在的位置距离第一个输入神经元的距离为0,即第一个输入神经元,2表示第二个输入神经元距离上一个输入神经元的距离为2,即表示第三个输入神经元,1表示第三个输入神经元距离上一个输入神经元的距离为1,即表示第四个输入神经元。同理,o2的连接关系为1,1。
本公开的映射单元包括但不限于以上的连接关系。
卷积神经网络是人工神经网络的一种,卷积层包含多个滤波器,也就是卷积核,这些卷积核重复的作用于所有输入图像上,提取局部特征。不同的卷积核能够提取出不同种类的局部特征,一副输入图像在经过卷积层之后就变成一些能够被更好理解的抽象特征。
自然图像有其固有特性,也就是说,图像的一部分的统计特性与其他部分是一样的。这也意味着在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,都能使用同样的学习特征。当从一个大尺寸图像中随机选取一小块,比如说8*8作为样本,并且从这个小块样本中学习到了一些特征,这时可以把从这个8*8样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,可以用从8*8样本中学习到的特征跟原本的大尺寸图像做卷积,从而对这个大尺寸图像上的任意位置获得一个不同特征的激活值。这个8*8的样本特征被称作卷积核。
如图7是一个卷积操作的例子。卷积核是一个2*2的矩阵,卷积核在输入图像上滑动。
假设每次滑动一个像素点,则总共会有四次卷积操作。对于每次卷积操作,卷积核矩阵与对应的输入图像数据做乘加操作。
假设卷积核的权值变得稀疏,由之前的2*2,变成只有两个参数,如图8所示。则对于输出o0来说,需要的输入神经元为i0,i1,i3,i4,输入权值为:w0,w3,连接关系为1001或者0,2;
对于输出o3来说,需要的输入神经元为i3,i5,i7,i8,输入权值为:w0,w3,连接关系为1001或者0,2。
由此可见,对于同个输出特征图上的不同的输出神经元,所需要的输入神经元不同,权值和连接关系是相同的。
可执行稀疏连接的人工神经网络运算装置可以处理各种稀疏连接表示的稀疏连接的人工神经网络,可执行稀疏连接的人工神经网络运算装置中有一个专门用于处理稀疏连接的单元,在这里称为映射单元,对于不同的稀疏连接关系和处理方法,稀疏连接的人工神经网络运算装置结构会略有不同,下面将分别描述不同的结构和方法。
结构和方法一
如图9所示,映射单元5,用来将输入数据转换成输入神经元和权值一一对应的存储方式。
存储装置1,用来存储数据和指令,尤其是神经网络规模很大的时候,指令缓存3、输入神经元缓存6、输出神经元缓存9、权值缓存8放不下这么多数据,只能将数据临时存放在存储装置1。
直接内存存取单元DMA2,用来将存储装置中的数据或者指令搬到各个缓存中。
指令缓存3,用来存储专用指令。
控制单元4,从指令缓存3中读取专用指令,并将其译码成各运算单元指令。
输入神经元缓存6,用来存储运算的输入神经元数据。
运算单元7,用于执行具体的运算。运算单元包括三个阶段,第一阶段执行乘法运算,用于将输入的神经元和权值数据相乘。第二阶段执行加法树运算,第一、二两阶段合起来完成了向量内积运算。第三阶段执行激活函数运算,激活函数可以是sigmoid函数、tanh函数等。第三阶段得到输出神经元,写回到输出神经元缓存。
权值缓存8,用来存储权值数据。
输出神经元缓存9,用来存储运算的输出神经元。
映射单元的结构如图10所示。
以上面稀疏连接的神经网络为例,连接关系可以是上述的两种稀疏表示之一,映射单元会根据连接关系,将输入神经元和输入权值按照连接关系输出映射后的神经元和权值,映射后的神经元和权值可以在运算时被直接使用而不需要考虑连接关系,对于输出神经元o1映射的具体过程如下:输入神经元为:i1,i2,i3,i4,输入权值为:w11,w31,w41,连接关系可以为:1011,或0,2,1。映射单元根据连接关系,将输入神经元和权值变成相对应的关系,输出包括两种情况:一种是去除掉没有连接的输入神经元,则映射后的神经元为i1,i3,i4,映射后的权值为w11,w31,w41;另一种是权值在没有连接的地方补成0,则映射后的神经元为i1,i2,i3,i4,映射后的权值为w11,0,w31,w41
运算单元包括三个部分,第一部分乘法器,第二部分加法树,第三部分为非线性函数单元。第一部分将输入神经元(in)通过和权值(w)相乘得到加权输出神经元(out),过程为:out=w*in;第二部分将加权输出神经元通过加法树逐级相加,另外还可以将输出神经元(in)通过和偏置(b)相加得到加偏置输出神经元(out),过程为:out=in+b;第三部分将输出神经元(in)通过激活函数(active)运算得到激活输出神经元(out),过程为:out=active(in),激活函数active可以是sigmoid、tanh、relu、softmax等,除了做激活操作,第三部分可以实现其他的非线性函数,可将输入神经元(in)通过运算(f)得到输出神经元(out),过程为:out=f(in)。
运算过程如图11所示。
结构和方法二
如图12所示,存储装置1,用来存储数据和指令,尤其是神经网络规模很大的时候,指令缓存3、输入神经元缓存6、输出神经元缓存9、权值缓存8放不下这么多数据,只能将数据临时存放在存储装置1。
直接内存存取单元DMA2,用来将存储装置中的数据或者指令搬到各个缓存中。
指令缓存3,用来存储专用指令。
控制单元4,从指令缓存3中读取专用指令,并将其译码成各运算单元指令。
映射单元5,用来将输入数据转换成输入神经元和权值一一对应的存储方式。
输入神经元缓存6,用来存储运算的输入神经元数据。
运算单元7,用于执行具体的运算。运算单元包括三个阶段,第一阶段执行乘法运算,用于将输入的神经元和权值数据相乘。第二阶段执行加法树运算,第一、二两阶段合起来完成了向量内积运算。第三阶段执行激活函数运算,激活函数可以是sigmoid函数、tanh函数等。第三阶段得到输出神经元,写回到输出神经元缓存。
权值缓存8,用来存储权值数据。
输出神经元缓存9,用来存储运算的输出神经元。
映射单元的结构如图13所示。
以上述稀疏连接的神经网络为例,连接关系可以是上述的两种稀疏表示之一,映射单元会根据连接关系,将输入神经元和输入权值按照连接关系输出映射后的神经元和权值,映射后的神经元和权值可以在运算时被直接使用而不需要考虑连接关系,对于输出神经元o1映射的具体过程如下:
输入神经元为:i1,i2,i3,i4,输入权值为:w11,w31,w41,连接关系可以为:1011,或0,2,1。映射单元根据连接关系,将输入神经元和权值变成相对应的关系,输出有两种情况:一种是去除掉没有连接的输入神经元,则映射后的神经元为i1,i3,i4,映射后的权值为w11,w31,w41;另一种是权值在没有连接的地方补成0,则映射后的神经元为i1,i2,i3,i4,映射后的权值为w11,0,w31,w41
结构和方法一和结构方法二中的映射单元的主要区别是结构和方法一中的映射单元是在计算之前事先把输入神经元和权值映射好后存储在存储装置中,结构和方法二是在计算中进行映射,将映射好的数据直接给运算单元进行运算。
结构和方法三:
基于结构和方法二稍作修改可以改成如图14所示的结构,映射单元只对输入神经元进行映射。
此时,映射单元的结构图如图15所示。
对于输出神经元o1映射的具体过程如下:
输入神经元为:i1,i2,i3,i4,连接关系可以为:1011,或者:0,2,1。映射单元根据连接关系,将输入神经元和权值变成相对应的关系,去除掉没有连接的输入神经元,则映射后的神经元为i1,i3,i4
结构和方法四:
基于结构和方法二稍作修改可以改成如图16所示的结构,映射单元只对输入权值进行映射。
此时,映射单元的结构图如图17所示。
对于输出神经元o1映射的具体过程如下:
输入权值为:w11,w31,w41,连接关系可以为:1011,或者:0,2,1。映射单元根据连接关系,将输入神经元和权值变成相对应的关系,映射后的权值为w11,0,w31,w41
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (41)

1.一种用于稀疏人工神经网络的计算装置,其特征在于,包括:
映射单元,用于接收输入数据,输入数据包括输入神经元、连接关系和权值;然后根据连接关系将每个权值一一对应于相应的输入神经元,得到处理后的神经元和处理后的权值;其中,所述连接关系表示每个输入神经元和每个输出神经元是否有对应的连接关系的权值;
运算单元,用于接收指令、处理后的神经元和处理后的权值,然后根据指令对所述处理后的神经元和处理后的权值执行人工神经网络运算,得到输出神经元。
2.如权利要求1所述的用于稀疏人工神经网络的计算装置,其特征在于,所述用于稀疏人工神经网络的计算装置还包括存储装置,用于存储输入数据、权值数据、连接关系数据和指令;所述连接关系包括:
第一种情形:
采用1表示有连接,0表示无连接,每个输出神经元与所有输入输出神经元的连接状态组成一个0和1的字符串来表示该输出神经元的连接关系;或者
采用1表示有连接,0表示无连接,每个输入神经元与所有输出神经元的连接状态组成一个0和1的字符串来表示该输入神经元的连接关系;或者
第二种情形:
将一输出神经元的第一个有连接的输入神经元所在的位置距离第一个输入神经元的距离、所述输出神经元的第二个有连接的输入神经元距离第一个有连接的输入神经元的距离,所述输出神经元的第三个有连接的输入神经元距离第二个有连接的输入神经元距离,……,依次类推,直到穷举所述输出神经元的所有输入神经元,来表示所述输出的连接关系。
3.如权利要求1或2所述的用于稀疏人工神经网络的计算装置,其特征在于,所述运算单元包括乘法器、加法树和非线性函数单元;所述运算单元接收指令对所述处理后的神经元和处理后的权值执行运算,得到输出神经元包括:所述乘法器将所述处理后的神经元和处理后的权值相乘,得到加权神经元数据;和/或,所述加法树将加权神经元数据相加得到总加权神经元数据;和/或,所述非线性函数单元对总加权神经元数据执行激活函数运算,得到输出神经元。
4.如权利要求3所述的用于稀疏人工神经网络的计算装置,其特征在于,所述运算单元将加权神经元数据相加得到总加权神经元数据包括将加权神经元数据执行加法树运算得到总加权神经元数据。
5.如权利要求4所述的用于稀疏人工神经网络的计算装置,其特征在于,所述运算单元将总加权神经元数据和偏置相加得到加偏置神经元数据,和/或,对加偏置神经元数据执行激活函数运算,得到输出神经元。
6.如权利要求5所述的用于稀疏人工神经网络的计算装置,其特征在于,所述激活函数包括sigmoid函数、tanh函数或ReLU函数。
7.如权利要求6所述的用于稀疏人工神经网络的计算装置,其特征在于,所述用于稀疏人工神经网络的计算装置包括存储装置,所述存储装置还用于存储输出神经元。
8.如权利要求7所述的用于稀疏人工神经网络的计算装置,其特征在于,映射单元将部分或全部的相应的输入神经元存储在存储装置中。
9.如权利要求8所述的用于稀疏人工神经网络的计算装置,其特征在于,所述用于稀疏人工神经网络的计算装置还包括:
指令缓存,用于存储所述指令;以及
控制单元,用于从所述指令缓存中读取指令,并将读取的指令译码。
10.如权利要求9所述的用于稀疏人工神经网络的计算装置,其特征在于,所述用于稀疏人工神经网络的计算装置还包括:输入神经元缓存,用于缓存输入神经元;和权值缓存,用于缓存权值。
11.如权利要求10所述的用于稀疏人工神经网络的计算装置,其特征在于,所述用于稀疏人工神经网络的计算装置还包括:输出神经元缓存,用于缓存输出神经元。
12.如权利要求11所述的用于稀疏人工神经网络的计算装置,其特征在于,所述用于稀疏人工神经网络的计算装置还包括直接内存存取单元,用于在所述存储装置、指令缓存、输入神经元缓存、输出神经元缓存和权值缓存中进行数据或指令读写。
13.如权利要求10所述的用于稀疏人工神经网络的计算装置,其特征在于,映射单元将所述相应的输入神经元存储在输入神经元缓存中。
14.如权利要求1、2、4-12中任一项所述的用于稀疏人工神经网络的计算装置,其特征在于,映射单元将相应的输入神经元直接传输给运算单元。
15.如权利要求1、2、4-13中任一项所述的用于稀疏人工神经网络的计算装置,其特征在于,所述运算单元采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
16.如权利要求3所述的用于稀疏人工神经网络的计算装置,其特征在于,所述运算单元采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
17.如权利要求14所述的用于稀疏人工神经网络的计算装置,其特征在于,所述运算单元采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
18.一种包括如权利要求1-17中任一所述的用于稀疏人工神经网络的计算装置的用于稀疏人工神经网络的运算装置,其特征在于,还包括CPU或GPU,用于数据搬运,控制所述用于稀疏人工神经网络的计算装置,传输指令给所述用于稀疏人工神经网络的计算装置;以及I/O接口,用于处理CPU或GPU的输入/输出;所述用于稀疏人工神经网络的运算装置用于接受CPU或GPU的数据和指令,执行稀疏的多层人工神经网络运算算法得到执行结果,然后将执行结果传输给CPU或GPU;所述用于稀疏人工神经网络的运算装置包括存储单元,还用于存储稀疏的多层人工神经网络模型。
19.如权利要求18所述的用于稀疏人工神经网络的运算装置,其特征在于,包括多个所述用于稀疏人工神经网络的计算装置。
20.如权利要求19所述的用于稀疏人工神经网络的运算装置,其特征在于,多个所述用于稀疏人工神经网络的计算装置通过PCIE总线互联,多个所述用于稀疏人工神经网络的计算装置共用同一个宿主CPU或GPU或者分别有相应的宿主CPU或GPU。
21.如权利要求20所述的用于稀疏人工神经网络的运算装置,其特征在于,多个所述用于稀疏人工神经网络的计算装置共享指令缓存、输入神经元缓存、输出神经元缓存和/或权值缓存。
22.一种用于稀疏人工神经网络的运算方法,其特征在于,所述方法包括:
使用映射单元接收输入数据和存储单元存储的权值和连接关系数据,输入数据包括输入神经元、连接关系和权值;然后使用映射单元根据连接关系数据将每个权值一一对应于相应的输入神经元,得到处理后的神经元和处理后的权值;其中,所述连接关系数据为表示每个输入神经元和每个输出神经元是否有对应的连接关系的权值;以及
使用运算单元接收指令对所述处理后的神经元和处理后的权值执行运算,得到输出神经元。
23.如权利要求22所述的用于稀疏人工神经网络的运算方法,其特征在于,所述连接关系包括:
第一种情形:
采用1表示有连接,0表示无连接,每个输出神经元与所有输入输出神经元的连接状态组成一个0和1的字符串来表示该输出神经元的连接关系;或者
采用1表示有连接,0表示无连接,每个输入神经元与所有输出神经元的连接状态组成一个0和1的字符串来表示该输入神经元的连接关系;或者
第二种情形:
将一输出神经元的第一个有连接的输入神经元所在的位置距离第一个输入神经元的距离、所述输出神经元的第二个有连接的输入神经元距离第一个有连接的输入神经元的距离,所述输出神经元的第三个有连接的输入神经元距离第二个有连接的输入神经元距离,……,依次类推,直到穷举所述输出神经元的所有输入神经元,来表示所述输出的连接关系。
24.如权利要求22或23所述的用于稀疏人工神经网络的运算方法,其特征在于,所述运算单元接收指令对所述处理后的神经元和处理后的权值执行运算,得到输出神经元的步骤包括:所述运算单元将所述处理后的神经元和处理后的权值相乘,得到加权神经元数据;将加权神经元数据相加得到总加权神经元数据;和/或,对总加权神经元数据执行激活函数运算,得到输出神经元。
25.如权利要求24所述的用于稀疏人工神经网络的运算方法,其特征在于,所述运算单元将加权神经元数据相加得到总加权神经元数据的步骤包括:将加权神经元数据执行加法树运算得到总加权神经元数据。
26.如权利要求25所述的用于稀疏人工神经网络的运算方法,其特征在于,所述运算单元将总加权神经元数据和偏置相加得到加偏置神经元数据,和/或,对加偏置神经元数据执行激活函数运算,得到输出神经元。
27.如权利要求26所述的用于稀疏人工神经网络的运算方法,其特征在于,所述激活函数包括sigmoid函数、tanh函数或ReLU函数。
28.如权利要求27所述的用于稀疏人工神经网络的运算方法,还包括使用存储装置暂存储输出神经元。
29.如权利要求28所述的用于稀疏人工神经网络的运算方法,其特征在于,映射单元将部分或全部的相应的输入神经元存储在存储装置中。
30.如权利要求22、23、25-29中任一项所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法还包括:
使用指令缓存存储所述指令;以及
使用控制单元从所述指令缓存中读取指令,并将读取的指令译码。
31.如权利要求30所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法还包括:使用输入神经元缓存缓存输入神经元;以及使用权值缓存缓存权值。
32.如权利要求31所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法还包括:使用输出神经元缓存缓存输出神经元。
33.如权利要求32所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法还包括使用直接内存存取单元在所述存储装置、指令缓存、输入神经元缓存、输出神经元缓存和权值缓存中进行数据或指令读写。
34.如权利要求31所述的用于稀疏连接的人工神经网络运算方法,其特征在于,映射单元将相应的输入神经元存储在输入神经元缓存中。
35.如权利要求22、23、25-29、32、33中任一项所述的用于稀疏连接的人工神经网络运算方法,其特征在于,映射单元将相应的输入神经元直接传输给运算单元。
36.如权利要求22、23、25-29、31-34中任一项所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
37.如权利要求24所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
38.如权利要求30所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
39.如权利要求35所述的用于稀疏人工神经网络的运算方法,其特征在于,所述用于稀疏人工神经网络的运算方法采用针对稀疏的多层人工神经网络运算的专用SIMD指令。
40.一种包括如权利要求36-39任一项所述的用于稀疏人工神经网络的运算方法的稀疏的多层人工神经网络运算方法,其特征在于,还包括使用CPU或GPU执行数据搬运,控制所述用于稀疏人工神经网络的计算装置,传输指令给所述用于稀疏人工神经网络的计算装置;以及使用I/O接口处理CPU或GPU的输入/输出;所述用于稀疏人工神经网络的运算装置接受CPU或GPU的数据和指令,执行稀疏的多层人工神经网络运算算法得到执行结果,然后将执行结果传输给CPU或GPU;所述用于稀疏人工神经网络的运算装置包括存储单元,用于存储稀疏的多层人工神经网络模型。
41.如权利要求40所述的稀疏的多层人工神经网络运算方法,其特征在于,所述稀疏的多层人工神经网络运算方法中包括并行执行多个所述人工神经网络运算方法的步骤。
CN201710794580.XA 2016-01-20 2016-01-20 用于稀疏人工神经网络的计算装置和运算方法 Active CN107545303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710794580.XA CN107545303B (zh) 2016-01-20 2016-01-20 用于稀疏人工神经网络的计算装置和运算方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710794580.XA CN107545303B (zh) 2016-01-20 2016-01-20 用于稀疏人工神经网络的计算装置和运算方法
CN201610039162.5A CN105512723B (zh) 2016-01-20 2016-01-20 一种用于稀疏连接的人工神经网络计算装置和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201610039162.5A Division CN105512723B (zh) 2016-01-20 2016-01-20 一种用于稀疏连接的人工神经网络计算装置和方法

Publications (2)

Publication Number Publication Date
CN107545303A CN107545303A (zh) 2018-01-05
CN107545303B true CN107545303B (zh) 2021-09-07

Family

ID=55720686

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201610039162.5A Active CN105512723B (zh) 2016-01-20 2016-01-20 一种用于稀疏连接的人工神经网络计算装置和方法
CN201710794712.9A Active CN107506828B (zh) 2016-01-20 2016-01-20 用于稀疏连接的人工神经网络计算装置和方法
CN201710794715.2A Active CN107563497B (zh) 2016-01-20 2016-01-20 用于稀疏人工神经网络的计算装置和运算方法
CN201710794711.4A Active CN107609642B (zh) 2016-01-20 2016-01-20 计算装置和方法
CN201710794580.XA Active CN107545303B (zh) 2016-01-20 2016-01-20 用于稀疏人工神经网络的计算装置和运算方法
CN201710794713.3A Active CN107578099B (zh) 2016-01-20 2016-01-20 计算装置和方法

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN201610039162.5A Active CN105512723B (zh) 2016-01-20 2016-01-20 一种用于稀疏连接的人工神经网络计算装置和方法
CN201710794712.9A Active CN107506828B (zh) 2016-01-20 2016-01-20 用于稀疏连接的人工神经网络计算装置和方法
CN201710794715.2A Active CN107563497B (zh) 2016-01-20 2016-01-20 用于稀疏人工神经网络的计算装置和运算方法
CN201710794711.4A Active CN107609642B (zh) 2016-01-20 2016-01-20 计算装置和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710794713.3A Active CN107578099B (zh) 2016-01-20 2016-01-20 计算装置和方法

Country Status (5)

Country Link
US (3) US20180260710A1 (zh)
EP (1) EP3407266B1 (zh)
KR (3) KR102166775B1 (zh)
CN (6) CN105512723B (zh)
WO (1) WO2017124646A1 (zh)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301453B (zh) * 2016-04-15 2021-04-20 中科寒武纪科技股份有限公司 支持离散数据表示的人工神经网络正向运算装置和方法
CN105930902B (zh) * 2016-04-18 2018-08-10 中国科学院计算技术研究所 一种神经网络的处理方法、系统
CN109375951B (zh) * 2016-04-27 2020-10-09 中科寒武纪科技股份有限公司 一种用于执行全连接层神经网络正向运算的装置和方法
WO2017185256A1 (zh) * 2016-04-27 2017-11-02 北京中科寒武纪科技有限公司 一种用于执行RMSprop梯度下降算法的装置及方法
CN111860814B (zh) * 2016-04-29 2024-01-16 中科寒武纪科技股份有限公司 一种用于执行batch normalization运算的装置和方法
CN111860813B (zh) * 2016-04-29 2024-01-16 中科寒武纪科技股份有限公司 一种用于执行卷积神经网络正向运算的装置和方法
CN111310904B (zh) * 2016-04-29 2024-03-08 中科寒武纪科技股份有限公司 一种用于执行卷积神经网络训练的装置和方法
CN107341541B (zh) * 2016-04-29 2021-01-29 中科寒武纪科技股份有限公司 一种用于执行全连接层神经网络训练的装置和方法
EP3451239A4 (en) 2016-04-29 2020-01-01 Cambricon Technologies Corporation Limited APPARATUS AND METHOD FOR PERFORMING RECURRENT NEURONAL NETWORK AND LTSM CALCULATIONS
CN107341542B (zh) * 2016-04-29 2021-06-11 中科寒武纪科技股份有限公司 用于执行循环神经网络和lstm运算的装置和方法
US20170330069A1 (en) * 2016-05-11 2017-11-16 Kneron Inc. Multi-layer artificial neural network and controlling method thereof
CN109478253B (zh) * 2016-05-19 2022-11-01 国立大学法人东京工业大学 神经网络电路以及神经网络集成电路
CN105893159B (zh) * 2016-06-21 2018-06-19 北京百度网讯科技有限公司 数据处理方法和装置
CN107678781B (zh) * 2016-08-01 2021-02-26 北京百度网讯科技有限公司 处理器以及用于在处理器上执行指令的方法
CN111310893B (zh) 2016-08-05 2023-11-21 中科寒武纪科技股份有限公司 一种用于执行神经网络运算的装置及方法
US11238337B2 (en) * 2016-08-22 2022-02-01 Applied Brain Research Inc. Methods and systems for implementing dynamic neural networks
CN107808664B (zh) * 2016-08-30 2021-07-30 富士通株式会社 基于稀疏神经网络的语音识别方法、语音识别装置和电子设备
CN106485317A (zh) * 2016-09-26 2017-03-08 上海新储集成电路有限公司 一种神经网络加速器以及神经网络模型的实现方法
WO2018058427A1 (zh) * 2016-09-29 2018-04-05 北京中科寒武纪科技有限公司 神经网络运算装置及方法
CN110298443B (zh) * 2016-09-29 2021-09-17 中科寒武纪科技股份有限公司 神经网络运算装置及方法
CN106529670B (zh) * 2016-10-27 2019-01-25 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片
CN108022281B (zh) * 2016-10-31 2021-02-23 龙芯中科技术股份有限公司 渲染三维图形的方法及装置
CN108073550A (zh) * 2016-11-14 2018-05-25 耐能股份有限公司 缓冲装置及卷积运算装置与方法
WO2018103736A1 (en) 2016-12-09 2018-06-14 Beijing Horizon Information Technology Co., Ltd. Systems and methods for data management
EP3557484B1 (en) * 2016-12-14 2021-11-17 Shanghai Cambricon Information Technology Co., Ltd Neural network convolution operation device and method
CN108205706B (zh) * 2016-12-19 2021-04-23 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
WO2018112699A1 (zh) * 2016-12-19 2018-06-28 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
WO2018113597A1 (zh) * 2016-12-20 2018-06-28 上海寒武纪信息科技有限公司 矩阵乘加运算装置、神经网络运算装置和方法
EP3340129B1 (en) * 2016-12-21 2019-01-30 Axis AB Artificial neural network class-based pruning
WO2018113790A1 (zh) * 2016-12-23 2018-06-28 北京中科寒武纪科技有限公司 一种人工神经网络运算的装置及方法
CN111291878A (zh) * 2016-12-28 2020-06-16 上海寒武纪信息科技有限公司 用于人工神经网络计算的处理器
EP3564863B1 (en) * 2016-12-30 2024-03-13 Shanghai Cambricon Information Technology Co., Ltd Apparatus for executing lstm neural network operation, and operational method
CN113537480B (zh) * 2016-12-30 2024-04-02 上海寒武纪信息科技有限公司 用于执行lstm神经网络运算的装置和运算方法
TWI630544B (zh) * 2017-02-10 2018-07-21 耐能股份有限公司 卷積神經網路的運算裝置及方法
CN107633297B (zh) * 2017-03-10 2021-04-06 南京风兴科技有限公司 一种基于并行快速fir滤波器算法的卷积神经网络硬件加速器
CN106951962B (zh) * 2017-03-22 2020-09-01 南京地平线机器人技术有限公司 用于神经网络的复合运算单元、方法和电子设备
EP3590076A1 (en) * 2017-03-24 2020-01-08 Huawei Technologies Co., Ltd. Neural network data processing apparatus and method
EP3579150B1 (en) * 2017-04-06 2022-03-23 Shanghai Cambricon Information Technology Co., Ltd Operation apparatus and method for a neural network
US11010338B2 (en) 2017-04-06 2021-05-18 Shanghai Cambricon Information Technology Co., Ltd Data screening device and method
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
CN108734288B (zh) * 2017-04-21 2021-01-29 上海寒武纪信息科技有限公司 一种运算方法及装置
EP3614259A4 (en) 2017-04-19 2021-02-24 Shanghai Cambricon Information Technology Co., Ltd TREATMENT APPARATUS AND TREATMENT METHOD
CN108734279B (zh) * 2017-04-20 2021-04-23 上海寒武纪信息科技有限公司 一种运算装置和方法
US20200034698A1 (en) * 2017-04-20 2020-01-30 Shanghai Cambricon Information Technology Co., Ltd. Computing apparatus and related product
CN108733348B (zh) 2017-04-21 2022-12-09 寒武纪(西安)集成电路有限公司 融合向量乘法器和使用其进行运算的方法
CN114970827A (zh) * 2017-04-21 2022-08-30 上海寒武纪信息科技有限公司 一种运算装置和方法
CN109478251B (zh) * 2017-05-23 2021-01-05 安徽寒武纪信息科技有限公司 处理方法及加速装置
CN109389218B (zh) * 2017-08-09 2021-09-03 上海寒武纪信息科技有限公司 数据压缩方法及压缩装置
EP3657398A1 (en) 2017-05-23 2020-05-27 Shanghai Cambricon Information Technology Co., Ltd Weight quantization method for a neural network and accelerating device therefor
CN108960420B (zh) * 2017-05-23 2021-06-08 上海寒武纪信息科技有限公司 处理方法及加速装置
CN110175673B (zh) * 2017-05-23 2021-02-09 上海寒武纪信息科技有限公司 处理方法及加速装置
CN109146069B (zh) * 2017-06-16 2020-10-13 上海寒武纪信息科技有限公司 运算装置、运算方法和芯片
CN109102073A (zh) 2017-06-21 2018-12-28 上海寒武纪信息科技有限公司 一种稀疏训练方法
EP3637327B1 (en) 2017-06-13 2023-09-13 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
CN109102074B (zh) * 2017-06-21 2021-06-01 上海寒武纪信息科技有限公司 一种训练装置
CN109117455A (zh) 2017-06-26 2019-01-01 上海寒武纪信息科技有限公司 计算装置及方法
CN109214616B (zh) 2017-06-29 2023-04-07 上海寒武纪信息科技有限公司 一种信息处理装置、系统和方法
CN109426553A (zh) 2017-08-21 2019-03-05 上海寒武纪信息科技有限公司 任务切分装置及方法、任务处理装置及方法、多核处理器
EP3637272A4 (en) 2017-06-26 2020-09-02 Shanghai Cambricon Information Technology Co., Ltd DATA-SHARING SYSTEM AND RELATED DATA-SHARING PROCESS
CN110413551B (zh) 2018-04-28 2021-12-10 上海寒武纪信息科技有限公司 信息处理装置、方法及设备
CN109583577B (zh) * 2017-09-29 2021-04-23 上海寒武纪信息科技有限公司 运算装置及方法
CN107729990B (zh) * 2017-07-20 2021-06-08 上海寒武纪信息科技有限公司 支持离散数据表示的用于执行正向运算的装置及方法
CN109615061B (zh) * 2017-08-31 2022-08-26 中科寒武纪科技股份有限公司 一种卷积运算方法及装置
CN110245752B (zh) * 2017-08-31 2020-10-09 中科寒武纪科技股份有限公司 一种使用芯片装置进行全连接运算方法及装置
CN107590535A (zh) * 2017-09-08 2018-01-16 西安电子科技大学 可编程神经网络处理器
US10366322B2 (en) 2017-10-06 2019-07-30 DeepCube LTD. System and method for compact and efficient sparse neural networks
CN107766643B (zh) * 2017-10-16 2021-08-03 华为技术有限公司 数据处理方法及相关装置
CN109697509B (zh) * 2017-10-24 2020-10-20 上海寒武纪信息科技有限公司 处理方法及装置、运算方法及装置
EP3627397B1 (en) 2017-10-20 2022-07-27 Shanghai Cambricon Information Technology Co., Ltd Processing method and apparatus
CN109697135B (zh) * 2017-10-20 2021-03-26 上海寒武纪信息科技有限公司 存储装置及方法、数据处理装置及方法、电子装置
CN107833176A (zh) * 2017-10-30 2018-03-23 上海寒武纪信息科技有限公司 一种信息处理方法及相关产品
GB2560600B (en) * 2017-11-06 2020-03-04 Imagination Tech Ltd Nueral Network Hardware
GB2570187B (en) 2017-11-06 2022-07-06 Imagination Tech Ltd Single plane filters
CN110097180B (zh) * 2018-01-29 2020-02-21 上海寒武纪信息科技有限公司 计算机设备、数据处理方法及存储介质
CN109902813B (zh) * 2017-12-11 2020-08-04 中科寒武纪科技股份有限公司 神经网络运算模块和方法
WO2019129302A1 (zh) 2017-12-30 2019-07-04 北京中科寒武纪科技有限公司 集成电路芯片装置及相关产品
CN109993289B (zh) * 2017-12-30 2021-09-21 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN109993290B (zh) 2017-12-30 2021-08-06 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN109993292B (zh) * 2017-12-30 2020-08-04 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN109993291B (zh) * 2017-12-30 2020-07-07 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN108021537B (zh) * 2018-01-05 2022-09-16 南京大学 一种基于硬件平台的softmax函数计算方法
WO2019147751A2 (en) * 2018-01-24 2019-08-01 Fractal Industries, Inc. Platform for hierarchy cooperative computing
CN110163362B (zh) * 2018-02-13 2020-12-11 上海寒武纪信息科技有限公司 一种计算装置及方法
CN110197272B (zh) * 2018-02-27 2020-08-25 上海寒武纪信息科技有限公司 集成电路芯片装置及相关产品
CN110197263B (zh) * 2018-02-27 2020-10-09 上海寒武纪信息科技有限公司 集成电路芯片装置及相关产品
CN108171328B (zh) * 2018-03-02 2020-12-29 中国科学院计算技术研究所 一种神经网络处理器和采用其执行的卷积运算方法
CN110414663B (zh) * 2018-04-28 2022-03-25 深圳云天励飞技术有限公司 神经网络的卷积实现方法及相关产品
US11645529B2 (en) * 2018-05-01 2023-05-09 Hewlett Packard Enterprise Development Lp Sparsifying neural network models
CN108764468A (zh) * 2018-05-03 2018-11-06 中国科学院计算技术研究所 用于智能识别的人工神经网络处理器
CN108647777A (zh) * 2018-05-08 2018-10-12 济南浪潮高新科技投资发展有限公司 一种实现并行卷积计算的数据映射系统及方法
CN108647155B (zh) * 2018-05-14 2020-08-21 瑞芯微电子股份有限公司 一种基于深度学习的多级cache共享的方法和装置
CN108921012B (zh) * 2018-05-16 2022-05-03 中国科学院计算技术研究所 一种利用人工智能芯片处理图像视频帧的方法
CN108647660A (zh) * 2018-05-16 2018-10-12 中国科学院计算技术研究所 一种使用神经网络芯片处理图像的方法
CN108566537A (zh) * 2018-05-16 2018-09-21 中国科学院计算技术研究所 用于对视频帧进行神经网络运算的图像处理装置
CN108764470B (zh) * 2018-05-18 2021-08-31 中国科学院计算技术研究所 一种人工神经网络运算的处理方法
CN108647781B (zh) * 2018-05-18 2021-08-27 中国科学院计算技术研究所 一种人工智能芯片处理装置
CN108764465B (zh) * 2018-05-18 2021-09-24 中国科学院计算技术研究所 一种进行神经网络运算的处理装置
CN108846142A (zh) * 2018-07-12 2018-11-20 南方电网调峰调频发电有限公司 一种文本聚类方法、装置、设备及可读存储介质
CN110738316A (zh) * 2018-07-20 2020-01-31 北京三星通信技术研究有限公司 基于神经网络的操作方法、装置及电子设备
CN112732601A (zh) * 2018-08-28 2021-04-30 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质
KR102519467B1 (ko) 2018-08-28 2023-04-06 캠브리콘 테크놀로지스 코퍼레이션 리미티드 데이터 전처리 방법, 장치, 컴퓨터 설비 및 저장 매체
CN110874550A (zh) * 2018-08-31 2020-03-10 华为技术有限公司 数据处理方法、装置、设备和系统
US10817042B2 (en) * 2018-09-27 2020-10-27 Intel Corporation Power savings for neural network architecture with zero activations during inference
CN111078624B (zh) * 2018-10-18 2022-03-25 上海寒武纪信息科技有限公司 片上网络处理系统和片上网络数据处理方法
CN111078623B (zh) * 2018-10-18 2022-03-29 上海寒武纪信息科技有限公司 片上网络处理系统和片上网络数据处理方法
CN111078625B (zh) * 2018-10-18 2022-03-29 上海寒武纪信息科技有限公司 片上网络处理系统和片上网络数据处理方法
KR102637733B1 (ko) * 2018-10-31 2024-02-19 삼성전자주식회사 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법
CN111198670B (zh) 2018-11-20 2021-01-29 华为技术有限公司 执行矩阵乘法运算的方法、电路及soc
JP6852141B2 (ja) * 2018-11-29 2021-03-31 キヤノン株式会社 情報処理装置、撮像装置、情報処理装置の制御方法、および、プログラム
CN111290698B (zh) * 2018-12-07 2022-05-03 上海寒武纪信息科技有限公司 数据存取方法、数据处理方法、数据存取电路和运算装置
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
KR102579883B1 (ko) 2018-12-28 2023-09-18 엘지전자 주식회사 냉장고
KR20200082189A (ko) * 2018-12-28 2020-07-08 엘지전자 주식회사 냉장고
CN109740739B (zh) * 2018-12-29 2020-04-24 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
KR102360452B1 (ko) * 2019-06-18 2022-02-11 주식회사 퓨리오사에이아이 뉴럴 네트워크 프로세서의 컨벌루션 연산 처리 방법 및 장치
US11630992B2 (en) 2019-07-05 2023-04-18 Electronics And Telecommunications Research Institute Neural network generation method for neuromorphic computing and apparatus for the same
CN110929627B (zh) * 2019-11-18 2021-12-28 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
US11537323B2 (en) 2020-01-07 2022-12-27 SK Hynix Inc. Processing-in-memory (PIM) device
US11422803B2 (en) 2020-01-07 2022-08-23 SK Hynix Inc. Processing-in-memory (PIM) device
CN113222103A (zh) * 2020-02-05 2021-08-06 北京三星通信技术研究有限公司 神经网络的更新方法、分类方法和电子设备
CN111312270B (zh) * 2020-02-10 2022-11-22 腾讯科技(深圳)有限公司 语音增强方法及装置、电子设备和计算机可读存储介质
KR20210106131A (ko) 2020-02-20 2021-08-30 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11556384B2 (en) 2020-03-13 2023-01-17 Cisco Technology, Inc. Dynamic allocation and re-allocation of learning model computing resources
CN111292322B (zh) * 2020-03-19 2024-03-01 中国科学院深圳先进技术研究院 医学图像处理方法、装置、设备及存储介质
CN111966405B (zh) * 2020-07-03 2022-07-26 北京航空航天大学杭州创新研究院 一种基于GPU的Polar码高速并行译码方法
CN112288085B (zh) * 2020-10-23 2024-04-09 中国科学院计算技术研究所 一种基于卷积神经网络的图像检测方法及系统
CN112994840B (zh) * 2021-02-03 2021-11-02 白盒子(上海)微电子科技有限公司 一种基于神经网络的译码器
CN116863490B (zh) * 2023-09-04 2023-12-12 之江实验室 面向FeFET存储阵列的数字识别方法及硬件加速器

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930009066B1 (ko) * 1990-08-18 1993-09-22 정호선 다층신경회로망 및 그 회로설계방법
US5517596A (en) * 1991-05-17 1996-05-14 International Business Machines Corporation Learning machine synapse processor system apparatus
US5293456A (en) * 1991-06-28 1994-03-08 E. I. Du Pont De Nemours And Company Object recognition system employing a sparse comparison neural network
US5926566A (en) * 1996-11-15 1999-07-20 Synaptics, Inc. Incremental ideographic character input method
WO2002015125A2 (en) * 2000-08-16 2002-02-21 Research Foundation Of State University Of New York Neural network device for evolving appropriate connections
US20020143720A1 (en) * 2001-04-03 2002-10-03 Anderson Robert Lee Data structure for improved software implementation of a neural network
JP4513865B2 (ja) * 2008-01-25 2010-07-28 セイコーエプソン株式会社 並列演算装置および並列演算方法
CN101527010B (zh) * 2008-03-06 2011-12-07 上海理工大学 人工神经网络算法的硬件实现方法及其系统
US9015093B1 (en) * 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
CN102201188A (zh) * 2011-05-25 2011-09-28 华侨大学 一种面向楼宇电视广告系统的智能控制装置和方法
CN103460220A (zh) * 2012-01-23 2013-12-18 松下电器产业株式会社 神经网络电路的学习方法
US8903746B2 (en) * 2012-03-22 2014-12-02 Audrey Kudritskiy System and method for viewing, modifying, storing, and running artificial neural network components
KR20150016089A (ko) * 2013-08-02 2015-02-11 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
JP6236296B2 (ja) * 2013-11-14 2017-11-22 株式会社デンソーアイティーラボラトリ 学習装置、学習プログラム、及び学習方法
US20150206050A1 (en) * 2014-01-23 2015-07-23 Qualcomm Incorporated Configuring neural network for low spiking rate
US20150269479A1 (en) * 2014-03-24 2015-09-24 Qualcomm Incorporated Conversion of neuron types to hardware
CN104077595B (zh) * 2014-06-15 2017-06-20 北京工业大学 基于贝叶斯正则化的深度学习网络图像识别方法
CN104200224A (zh) * 2014-08-28 2014-12-10 西北工业大学 基于深度卷积神经网络的无价值图像去除方法
US10169073B2 (en) * 2015-12-20 2019-01-01 Intel Corporation Hardware accelerators and methods for stateful compression and decompression operations
WO2017177442A1 (zh) * 2016-04-15 2017-10-19 北京中科寒武纪科技有限公司 支持离散数据表示的人工神经网络正向运算装置和方法
US10949736B2 (en) * 2016-11-03 2021-03-16 Intel Corporation Flexible neural network accelerator and methods therefor
CN107688850B (zh) * 2017-08-08 2021-04-13 赛灵思公司 一种深度神经网络压缩方法
US10719932B2 (en) * 2018-03-01 2020-07-21 Carl Zeiss Meditec, Inc. Identifying suspicious areas in ophthalmic data

Also Published As

Publication number Publication date
CN107609642B (zh) 2021-08-31
US20180260711A1 (en) 2018-09-13
CN107563497A (zh) 2018-01-09
CN107506828B (zh) 2020-11-03
KR102142889B1 (ko) 2020-08-10
KR20180101334A (ko) 2018-09-12
CN107609642A (zh) 2018-01-19
KR102163561B1 (ko) 2020-10-08
EP3407266B1 (en) 2023-08-09
US20180260710A1 (en) 2018-09-13
CN107563497B (zh) 2021-03-19
CN107506828A (zh) 2017-12-22
KR102166775B1 (ko) 2020-10-16
CN105512723B (zh) 2018-02-16
CN107578099A (zh) 2018-01-12
KR20180093969A (ko) 2018-08-22
KR20180093970A (ko) 2018-08-22
CN107545303A (zh) 2018-01-05
CN105512723A (zh) 2016-04-20
CN107578099B (zh) 2021-06-11
US20180260709A1 (en) 2018-09-13
EP3407266A1 (en) 2018-11-28
EP3407266A4 (en) 2019-09-18
WO2017124646A1 (zh) 2017-07-27

Similar Documents

Publication Publication Date Title
CN107545303B (zh) 用于稀疏人工神经网络的计算装置和运算方法
US11308398B2 (en) Computation method
CN108427990B (zh) 神经网络计算系统和方法
CN112840356B (zh) 运算加速器、处理方法及相关设备
CN110321997B (zh) 高并行度计算平台、系统及计算实现方法
CN111160547B (zh) 一种人工神经网络运算的装置及方法
CN108171328B (zh) 一种神经网络处理器和采用其执行的卷积运算方法
CN112348182B (zh) 一种神经网络maxout层计算装置
EP3447690A1 (en) Maxout layer operation apparatus and method
WO2018112892A1 (zh) 一种支持快速人工神经网络运算的装置及方法
CN114730331A (zh) 数据处理装置和数据处理方法
WO2020042770A1 (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
TA01 Transfer of patent application right

Effective date of registration: 20180503

Address after: 100190 room 644, research complex, 6 South Road, Haidian District Science Academy, Beijing.

Applicant after: Beijing Zhongke Cambrian Technology Co., Ltd.

Address before: 210049 18 Xianlin Road, Ma Qun street, Qixia District, Nanjing, Jiangsu.

Applicant before: NANJING AIXI INFORMATION TECHNOLOGY CO., LTD.

TA01 Transfer of patent application right
CB02 Change of applicant information

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

Applicant after: Zhongke Cambrian Technology Co., Ltd

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

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

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant