CN109557996A - 运算装置 - Google Patents
运算装置 Download PDFInfo
- Publication number
- CN109557996A CN109557996A CN201810161068.6A CN201810161068A CN109557996A CN 109557996 A CN109557996 A CN 109557996A CN 201810161068 A CN201810161068 A CN 201810161068A CN 109557996 A CN109557996 A CN 109557996A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- unit
- weighted volumes
- characteristic pattern
- instruction 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
实施方式提供能够进行多个种类的运算并且能够抑制存储器的读入及写入的次数、抑制耗电的运算装置。实施方式的运算装置(3)具有运算指示部(11)、运算部(21)、缓冲器(41)和保存区域指示部(31)。运算指示部(11)进行第1运算或第2运算中的某一方的运算种类的运算指示。运算部(21)根据运算指示,进行运算,将中间运算结果输出。缓冲器(41)保存中间运算结果(Ic)。保存区域指示部(31)根据运算种类,进行保存中间运算结果(Ic)的缓冲器内的区域(B)的指示。
Description
关联申请
本申请以日本专利申请第2017-182766号(申请日:2017年9月22日)为基础申请而主张优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及运算装置。
背景技术
以往,有通过神经网络从图像或声音等信息中实现认识、识别处理等的技术。例如,在卷积神经网络技术中,通过使卷积层及全连接层(日语:全結合層)等层连续而构成神经网络,在各层中,通过进行卷积运算及全连接运算等规定的运算,来实现认识、识别处理等。
关于神经网络中的运算,在卷积运算、全连接运算等运算的过程中,有时会发生中间运算结果向存储器的暂时退避等,存储器的读入、写入次数变多。此外,有通过将输入特征图(Feature Map)以及加权量多次反复读取而存储器的读入次数变多的情况。由于这样的存储器的读入及写入的次数的增加,有耗电增大的情况。
发明内容
实施方式提供能够进行多个种类的运算、并且能够抑制存储器的读入及写入的次数而抑制耗电的运算装置。
实施方式的运算装置具有运算指示部、运算部、缓冲器、以及保存区域指示部。上述运算指示部进行第1运算或第2运算中的某一方的运算种类的运算指示。上述运算部根据上述运算指示,进行运算,输出中间运算结果。上述缓冲器保存上述中间运算结果。上述保存区域指示部根据上述运算种类,指示对上述中间运算结果进行保存的上述缓冲器内的区域。
附图说明
图1是表示第一实施方式的运算系统的结构的一例的框图。
图2是用于说明第一实施方式的运算系统的运算顺序的一例的表。
图3是用于说明第一实施方式的运算系统的卷积运算的一例的图。
图4是用于说明第一实施方式的运算系统的卷积运算的一例的图。
图5是用于说明第一实施方式的运算系统的卷积运算的一例的图。
图6是用于说明第一实施方式的运算系统的卷积运算的一例的图。
图7是用于说明第一实施方式的运算系统的卷积运算的一例的图。
图8是用于说明第一实施方式的运算系统的卷积运算的一例的图。
图9是用于说明第一实施方式的运算系统的卷积运算的一例的流程图。
图10是用于说明第一实施方式的运算系统的全连接运算的一例的图。
图11是用于说明第一实施方式的运算系统的全连接运算的一例的图。
图12是用于说明第一实施方式的运算系统的全连接运算的一例的流程图。
图13是用于说明第二实施方式的运算系统的全连接运算的一例的流程图。
图14是表示第三实施方式的运算系统的结构的一例的框图。
图15是用于说明第三实施方式的运算系统的运算顺序的一例的表。
图16是用于说明第三实施方式的运算系统的卷积运算的一例的图。
图17是用于说明第三实施方式的运算系统的卷积运算的一例的图。
图18是用于说明第三实施方式的运算系统的卷积运算的一例的图。
图19是用于说明第三实施方式的运算系统的卷积运算的一例的流程图。
图20是用于说明第三实施方式的运算系统的全连接运算的一例的图。
图21是用于说明第三实施方式的运算系统的全连接运算的一例的流程图。
图22是用于说明第三实施方式的运算系统的全连接运算的一例的图。
具体实施方式
(第一实施方式)
(结构)
以下,参照附图说明实施方式。
图1是表示第一实施方式的运算系统1的结构的框图。在实施方式及变形例的说明中,特征图X表示特征图或特征量的全部或一部分,加权量W表示加权量的全部或一部分,运算单元M表示运算单元的全部或一部分,区域B表示区域的全部或一部分,运算结果Y表示运算结果的全部或一部分。
运算系统1具有存储器2和运算装置3。运算装置3与存储器2连接,从存储器2将各种信息读入而进行运算。
存储器2存储网络结构信息S、加权量W以及特征图X,例如由SRAM构成。网络结构信息S、加权量W以及特征图X例如通过使用了卷积神经网络技术的机器学习而预先制作。
网络结构信息S是运算装置3进行的处理的网络结构的信息。网络结构信息S具有运算的次序、运算种类、和加权量W的识别信息(以下称作加权量识别信息)。
运算装置3根据从存储器2读入的网络结构信息S,进行第1运算及第2运算。例如,第1运算是卷积运算Cv,第2运算是全连接运算Fc。运算装置3具有运算指示部11、运算部21、保存区域指示部31、缓冲器41和控制部51。控制部51与运算装置3内的各部连接,能够控制各种动作。
图2是用于说明第一实施方式的运算系统1的运算顺序的一例的表。图2的例子中,构成为进行2次卷积运算Cv和1次全连接运算Fc。在(次序1和次序2指示相同的网络层并且相同的特征图运算的)次序1中,运算装置3从存储器2读入预先设定的特征图X、和加权量W1、W2、W3、W4,进行卷积运算Cv,将运算结果Y写入存储器2。接着,在次序2中,从存储器2读入次序1的运算结果Y,进行从存储器2读入的加权量W5、W6和卷积运算Cv。接着,在次序3(其他网络层)中,从存储器2读入在次序2中写入到存储器2中的运算结果Y来作为特征图X,还从存储器2读入加权量W7、W8、W9,进行全连接运算Fc,将作为最终输出的运算结果Y写入存储器2。
运算指示部11具有加权量输出部12以及特征量输出部13。运算指示部11根据网络结构信息S,从存储器2读入加权量W和特征图X,向运算部21输出加权量W和特征图X。更具体而言,运算指示部11根据从控制部51输入的运算种类以及加权量识别信息,从存储器2读入加权量W和特征图X,将读入的加权量W和特征图X向运算部21输出,由此进行第1运算或第2运算的某一方的运算指示。
加权量输出部12从存储器2读入加权量W,向运算单元M输出。
特征量输出部13从存储器2读入特征图X,向运算单元M输出。
此外,运算指示部11将输出目的地的运算单元M的信息即输出目的地的信息向控制部51输出。另外,运算指示部11也可以不经由控制部51而将输出目的地的信息向保存区域指示部31输出。
即,运算指示部11对运算部21进行第1运算或第2运算的某一方的运算种类的运算指示。更具体而言,运算指示部11根据表示第1运算以及第2运算的运算顺序的网络结构信息S,从存储器2读入与第1运算或第2运算的某一方的运算种类相应的加权量W和特征量X,将读入的加权量W和特征量X向运算部21输出从而进行运算指示。
运算部21根据运算指示,对所输入的加权量W和特征图X进行运算,将中间运算结果Ic向缓冲器41输出。运算部21具有进行积和运算的多个运算单元M。
即,运算部21根据运算指示,进行运算,将中间运算结果Ic向缓冲器41输出。
各个运算单元M将所输入的各个加权量W和各个特征图X累积,将累积结果合计,计算中间运算结果Ic。
保存区域指示部31根据所输入的运算种类以及输出目的地的信息,决定保存中间运算结果Ic的区域B,向缓冲器41指示区域B。
即,保存区域指示部31根据运算种类,进行保存中间运算结果Ic的缓冲器41内的进行保存的区域B的指示。
缓冲器41具有保存中间运算结果Ic的区域B。缓冲器41在保存区域指示部31的指示之下,对保存在区域B中的值加上中间运算结果Ic的值,将加法结果再次保存到所指定的区域B。当规定的运算结束时,缓冲器41将保存在由保存区域指示部31指定的区域B中的值作为运算结果Y向存储器2输出。
控制部51从存储器2读入网络结构信息S。控制部51根据网络结构信息S,向运算指示部11输出运算种类和加权量识别信息。此外,向保存区域指示部31输出运算种类、和从运算指示部11输入的输出目的地的信息。
(卷积运算Cv)
利用图3~图7,对运算系统1的卷积运算Cv进行说明。图3~图6是用于说明第一实施方式的、运算系统1的卷积运算Cv的一例的说明图。
如图3所示,在卷积运算Cv中,将m通道的特征图X1~Xm和n组的加权量W1~Wn输入到运算部21。1组的加权量W如图4所示,由用xy坐标规定的二维排列构成。此外,如图3所示,特征图X由用xyz坐标规定的三维排列构成。特征图X中,z方向表示通道数。
卷积运算Cv中,运算结果Y的组数根据加权量W的组数而决定。此外,区域B的数量根据1通道的量的特征图X的对应区域C而设定。
卷积运算Cv中,根据加权量W和与加权量W对应的对应区域C的特征图X,进行积和运算。例如,数式(1)中,示出加权量W1(图4)和与加权量W1对应的对应区域C的特征图X1(图5的阴影区域)之间的积和运算。通过积和运算算出的中间运算结果Ic被保存到区域B1。矩阵W1是加权量W1的矩阵,矩阵X1a是与加权量W1对应的对应区域C的特征图X。w11~w33是在加权量W1中包含的值,x11~x55是在特征图X1中包含的值。左边的括弧内表示保存中间运算结果Ic的区域B。
Ic(B1)=w11×x11+w12×x12+…+w33×x33
=矩阵W1[w11,w12,…,w33]·矩阵X1a[x11,x12,…,x33]···(1)
接着,将对应区域C在x方向上滑动1个(图6的阴影区域),如数式(2)所示,算出在区域B2中保存的中间运算结果Ic。
Ic(B2)=w11×x12+w12×x13+…w33×x34
=矩阵W1[w11,w12,…,w33]·矩阵X1a[x12,x13,…,x34]···(2)
即,在xy方向上对特征图X1内进行扫描而将对应区域C读入,进行运算单元M1~M9的与加权量W1的运算,在区域B1~B9中保存中间运算结果Ic。当特征图X1的运算结束,则在xy方向上对特征图X2内进行扫描而将对应区域C读入,与加权量W1进行运算。同样,关于特征图X3~Xm,也进行与加权量W1的运算,将中间运算结果Ic累积加入到区域B1~B9中。如图7的例子所示,运算结果Y1通过利用了加权量W1的运算而生成。此外,如图8的例子所示,运算结果Yn通过利用了加权量Wn的运算而生成。
另外,在图5及图6的例子中,特征图X上的xy方向的每个滑动数是1,但滑动数也可以是2以上。在其他实施方式及变形例中也同样。
图7是用于说明第一实施方式的、运算系统1的卷积运算Cv的运算的一例的流程图。控制部51输出用于使卷积运算Cv开始的控制信号(S1)。控制部51根据从存储器2读入的网络结构信息S,将表示卷积运算Cv的运算种类的信息、和加权量识别信息向运算指示部11输出。
运算指示部11从存储器2读入加权量W(T11)。在图2的例子中,加权量W1~W4被读入。运算指示部11从存储器2读入特征图X(T12)。
运算指示部11决定输出目的地的运算单元M(T13)。具体而言,运算指示部11决定加权量W和特征图X的输出目的地的运算单元M。例如,在图5的例子中,作为加权量w11~w33和特征量x11~x33的输出目的地,决定运算单元M1。此外,在图6的例子中,作为加权量w11~w33和特征量x12~x34的输出目的地,决定运算单元M2。输出目的地的信息经由控制部51而被输出到保存区域指示部31(图9的虚线)。
运算指示部11将加权量W及特征图X输出(T14)。
运算指示部11判定全部通道的特征图X的输出是否结束(T15)。当全部通道的特征图X的输出没有结束时(T15:否),返回T12。通过重复T12~T15的处理,特征量输出部13按每个通道进行分割而从存储器2将特征图X读入。例如,在重复的第1次中,进行特征图X1的读入。在重复的第m次中,进行特征图Xm的读入。
另一方面,当全部通道的特征图X的输出结束时(T15:是),运算指示部11经由控制部51向缓冲器41输出用于将中间运算结果Ic向存储器2输出的控制信号,前进至T16。
运算指示部11判定全部组的加权量W的输出是否结束(T16)。当全部组的加权量W的输出没有结束时(T16:否),返回T11。另一方面,当全部组的加权量W的输出结束时(T16:是),运算指示部11经由控制部51向缓冲器41输出表示全部组的加权量W的输出已结束的控制信号,结束处理。
即,运算指示部11在卷积运算Cv中将与加权量W对应的特征图X的对应区域C的特征量x从存储器2读入。更具体而言,运算指示部11在将特征图X内在xy方向上扫描而进行了特征图X的读入后,在z方向上滑动,进行接着的xy方向的扫描。
在运算部21中,通过运算单元M,进行所输入的加权量W及特征图X的积和运算,将中间运算结果Ic向缓冲器41输出(U11)。
保存区域指示部31基于从运算指示部11输入的输出目的地的信息,决定保存中间运算结果Ic的区域B(V11)。即,在卷积运算Cv中,根据对应区域C(按每个块而运算的结果),决定中间运算结果Ic的区域B。缓冲器41在所决定的区域B中加上中间运算结果Ic而进行保存(V12)。
缓冲器41在T15中基于从运算指示部11输入的控制信号,判定是否将中间运算结果Ic向存储器2输出(V13)。当V13为“否”时,返回V11。另一方面,当V13为“是”时,缓冲器41将中间运算结果Ic向存储器2输出(V14)。在向存储器2输出后,区域B被清除。即,缓冲器41在卷积运算Cv中当基于1组的加权量W的运算结束则将中间运算结果Ic向存储器2输出。
缓冲器41在T16中基于从运算指示部11输入的控制信号,判定全部组的加权量W的输出是否结束(V15)。缓冲器41当全部组的加权量W的输出没有结束时(V15:否),返回V11。另一方面,当全部组的加权量W的输出结束时(V15:是),处理结束。
(全连接运算Fc)
对运算系统1的全连接运算Fc进行说明。图10及图11是用于说明第一实施方式的、运算系统1的全连接运算Fc的一例的说明图。
如图10所示,在全连接运算Fc中,使用n通道的特征图x1~xn和n组的加权量W1~Wn。运算部21通过运算单元M1~Mn进行运算,将中间运算结果Ic向缓冲器41输出。缓冲器41将中间运算结果Ic保存到区域B1~Bn。
在全连接运算Fc中,特征图X的通道数、加权量W的组数、运算单元M以及区域B的数量是相同的。在全连接运算Fc中,将在区域B1~Bn中保存的中间运算结果Ic合计,运算结果Y被输出到存储器2。
接着,说明运算系统1的全连接运算Fc的流程。
图12是用于说明第一实施方式的、运算系统1的全连接运算Fc的一例的流程图。
控制部51输出用于使全连接运算Fc开始的控制信号(S2)。控制部51基于从存储器2读入的网络结构信息S,将表示全连接运算Fc的运算种类的信息、和加权量识别信息向运算指示部11输出。
运算指示部11从存储器2读入加权量W(T21)。在图2的次序3的例子中,由加权量输出部12从存储器2读入加权量W7~W9。例如,加权量W7中包含加权量w71~w7n,加权量W8中包含加权量w81~w8n,加权量W9中包含加权量w91~w9n。
运算指示部11从存储器2读入1通道的量的特征图X(T22)。特征图X中包含特征量x。
运算指示部11决定输出目的地的运算单元M(T23)。如图11所示,在全连接运算Fc中,例如,将特征量x1与各个加权量w11~w1n累积,将中间运算结果Ic保存到区域B1~Bn。接着,将特征量x2与各个加权量w21~w2n累积,将中间运算结果Ic在区域B1~Bn中进行加法运算。特征量x1~xm重复该处理,将区域B1~Bn合计,将运算结果Y向存储器2输出。
因而,例如,在重复的第1次中,运算指示部11将特征量x1和加权量w71的输出目的地决定为运算单元M1,将特征量x1和加权量w72的输出目的地决定为运算单元M2,将特征量x1和加权量w7n的输出目的地决定为运算单元Mn。在重复的第2次中,运算指示部11将特征量x2和加权量w81的输出目的地决定为运算单元M1,将特征量x2和加权量w82的输出目的地决定为运算单元M2,将特征量x2和加权量w8n的输出目的地决定为运算单元Mn。在重复的第3次中,运算指示部11将特征量x3和加权量w91的输出目的地决定为运算单元M1,将特征量x3和加权量w92的输出目的地决定为运算单元M2,将特征量x3和加权量w9n的输出目的地决定为运算单元Mn。输出目的地的信息经由控制部51还向保存区域指示部31输出。
运算指示部11将加权量W和1通道的量的特征图X输出(T24)。
运算指示部11判定全部通道的特征图X的输出是否结束(T25)。当全部通道的特征图X的输出没有结束时,处理返回到T22。另一方面,当全部通道的特征图X的输出结束时,经由控制部51向缓冲器41输出用于将中间运算结果Ic向存储器2输出的控制信号,处理结束。
U21、V21~V23的处理与U11、V11~V13的处理是相同的,因此省略说明。
缓冲器41将中间运算结果Ic进行合计而向存储器2输出(V24)。即,缓冲器41,在全连接运算Fc中,当基于全部通道的特征图X以及全部组的加权量W的运算结束时,将中间运算结果Ic向存储器2输出。
由此,在运算装置3中,能够根据运算种类而改变针对运算部21的加权量W和特征图X的输出,通过运算部21进行卷积运算Cv以及全连接运算Fc双方。此外,在运算装置3中,将中间运算结果Ic在缓冲器41中进行加法运算并保存。因而,运算装置3能够使缓冲器41的区域B较小,并且还能够抑制从缓冲器41向存储器2进行输出的次数。
根据第一实施方式,运算装置3能够进行多个种类的运算,并且,能够抑制存储器2的读入及写入的次数而抑制耗电。
(第一实施方式的变形例)
第一实施方式中,运算装置3对于从存储器2读入的加权量W及特征图X的全部进行运算,但也可以当加权量W包含0值时省略0值的运算。在本变形例的说明中,对于与其他实施方式或变形例相同的结构省略说明。
图13是用于说明第二实施方式的、运算系统1的全连接运算Fc的一例的流程图。本变形例中,运算装置3具有加权量压缩部12a及特征量压缩部13a(图1的双点划线)。
加权量压缩部12a当从存储器2读入的加权量W包含0值时将0值去除,将加权量W压缩,向加权量输出部12输出压缩后的加权量W。此外,加权量压缩部12a将加权量W的压缩位置信息向特征量压缩部13a输出。
特征量压缩部13a基于所输入的压缩位置信息,将处于加权量W的压缩位置的特征量x去除,向特征量输出部13输出将特征量x压缩后的特征图X(T22a)。
运算指示部11根据压缩位置信息以及输出目的地的运算单元M,生成输出目的地的信息,经由控制部51向保存区域指示部31输出。即,加权量压缩部12a通过将加权量W中包含的0值去除而将加权量W压缩,输出压缩位置信息。此外,特征量压缩部13a通过根据压缩位置信息将特征图X中包含的值去除而压缩特征图X。由此,在运算装置3中,能够抑制运算量。
(第二实施方式)
在第一实施方式以及变形例中,运算指示部11在卷积运算Cv中进行了特征图X内的xy方向的扫描后,向z方向滑动,进行接着的xy方向的扫描而构成,但也可以在沿z方向进行了扫描后,向x方向或y方向中的某一方向滑动,进行接着的z方向的扫描而构成。在本实施方式的说明中,对于与其他实施方式或变形例相同的结构省略说明。
例如,运算装置3通过z方向的扫描,依次将中间运算结果Ic在区域B1中进行加法运算并保存,在进行了z方向的扫描后,将中间运算结果Ic从区域B1向存储器2输出,将区域B1清除。接着,在x方向上滑动,通过接着的z方向的扫描,依次将中间运算结果Ic在区域B1中进行加法运算并保存。由此,运算装置3中,能够进一步使区域B变小。
(第二实施方式的变形例)
第一、第二实施方式以及第一实施方式的变形例中,运算种类由卷积运算Cv以及全连接运算Fc构成,但也可以由扫描方向不同的运算构成。在本变形例的说明中,对于与其他实施方式或变形例相同的结构省略说明。
例如可以是,第1运算是在xy方向上进行了扫描后、在z方向上滑动并进行接着的xy方向的扫描而读入特征图X从而进行的卷积运算Cv,第2运算是在z方向上进行了扫描后、在x方向或y方向上滑动并扫描接着的z方向而读入特征图X从而进行的卷积运算Cv。
在第1运算中,也可以是,通过在xy方向上进行扫描,例如,如在图5及图6中重复的区域x12、x13、x22、x23、x32、x33那样,将重复多次读入的区域仅读入1次。通过再利用而在多个运算中使用,能够抑制读入量。另一方面,在第2运算中,通过在z方向上进行扫描,能够抑制区域B的使用量。
由此,运算装置3能够根据特征图X,在抑制存储器2的读入量时进行第1运算,在抑制区域B的使用量时进行第2运算。
(第三实施方式)
接着,对第三实施方式进行说明。在本实施方式的说明中,对于与其他实施方式或变形例相同的结构省略说明。
图14是表示第三实施方式的运算系统1的结构的一例的框图。
如图14所示,在存储器2中,存储网络结构信息S、加权矩阵W以及特征图X。网络结构信息S具有作为加权矩阵W的识别信息的加权矩阵识别信息。加权矩阵W表示加权矩阵的全部或一部分。
图15是用于说明第三实施方式的运算系统1的运算顺序的一例的表。
如图15所示,在次序1中,运算装置3从存储器2读入预先设定的特征图X和与加权矩阵识别信息对应的加权矩阵W1x、W2x、W3x、W4x,进行卷积运算Cv,将运算结果Y写入存储器2。接着,在次序2中,从存储器2读入次序1的运算结果Y,与从存储器2读入的加权矩阵W5x、W6x进行卷积运算Cv。接着,在次序3中,从存储器2读入在次序2中写入到存储器2中的运算结果Y作为特征图X,将加权矩阵W7x、W8x、W9x也从存储器2读入,进行全连接运算Fc,将作为最终输出的运算结果Y写入存储器2。
运算指示部11根据从控制部51输入的运算种类以及加权量识别信息,将加权矩阵W和特征图X从存储器2读入,将所读入的加权矩阵W和特征图X向运算部21输出,由此进行第1运算或第2运算中的某一个的运算指示。
运算部21根据运算指示,对于所输入的加权矩阵W和特征图X,通过运算单元M进行运算,将中间运算结果Ic向缓冲器41输出。
保存区域指示部31根据所输入的运算种类以及输出目的地的信息,决定保存中间运算结果Ic的区域B,向缓冲器41指示区域B。
缓冲器41在保存区域指示部31的指示下,对保存在区域B中的值加上中间运算结果Ic的值,将相加结果再次保存到所指定的区域B。缓冲器41当规定的运算结束则将保存在由保存区域指示部31指定的区域B中的值作为运算结果Y向存储器2输出。
控制部51基于从存储器2读入的网络结构信息S,向运算指示部11输出运算种类和加权矩阵识别信息。此外,向保存区域指示部31输出运算种类和从运算指示部11输入的输出目的地的信息。
另外,在实施方式中,缓冲器41相比于存储器2而言构成为访问时的耗电量较小,以便能够抑制运算装置3的耗电。例如,当存储器2由片外(off chip)的DRAM构成时,缓冲器41由片内(on chip)的SRAM或寄存器中的某个构成。此外,当存储器2由片内的DRAM构成时,缓冲器41由片内的SRAM或寄存器中的某个构成。此外,当存储器2由片内的SRAM构成时,缓冲器41由寄存器构成。
(卷积运算Cv)
图16~图18是用于说明第三实施方式的运算系统1的卷积运算Cv的一例的说明图。
如图16所示,卷积运算Cv中,特征图X和加权矩阵W被输入到运算部21。
卷积运算Cv的特征图X由三维的xyz坐标规定,z方向表示通道数m,y方向表示行数h,x方向表示列数w。
卷积运算Cv的加权矩阵W由四维的xyzu坐标规定,u方向表示组数n,z方向表示通道数m,y方向表示行数h,x方向表示列数w。加权矩阵W的通道数m与特征图X的通道数m相同。加权矩阵W的行数h以及列数w可以不与特征图X的行数h以及列数w相同。
卷积运算Cv的中间运算结果Ic由四维的xyzu坐标规定,u方向表示组数n,z方向表示通道数m,y方向表示行数h,x方向表示列数w。
卷积运算Cv的运算结果Y由三维的xyu坐标规定,u方向表示通道数n,y方向表示行数h,x方向表示列数w。运算结果Y的通道数n与加权矩阵W的组数n相同。行数h及列数w的大小根据加权矩阵W的滑动数和特征图X的行数h及列数w决定。
在实施方式以及变形例的说明中,特征图X(z,y,x)、加权矩阵W(u,z,y,x)、中间运算结果Ic(u,z,y,x)以及运算结果Y(u,y,x)由在括弧内示出的坐标来表示各轴方向的要素。例如,如果是特征图X(1,2,3),则表示特征图X的第1通道(z=1)、第2行(y=2)、第3列(x=3)的要素。
区域B的数量根据特征图X的通道内设置的对应区域C的数量决定。
运算部21根据与特征图X的通道(z坐标)对应的二维矩阵(y,x坐标)和与加权矩阵W的组(u坐标)及通道(z坐标)对应的二维矩阵(y,x坐标)进行卷积运算Cv,算出中间运算结果Ic(u,z,y,x)。接着,运算部21在z方向上取中间运算结果Ic(u,z,y,x)的要素和,算出运算结果Y(u,y,x)。
在数式(3)的例子中,进行第1组且第1通道的3行3列的加权矩阵W(1,1,1~3,1~3)与第1通道的特征图X(1,1~3,1~3)的卷积运算Cv,算出第1组、第1通道、第1行、第1列的中间运算结果Ic(1,1,1,1)。如图17所示,算出的中间运算结果Ic(1,1,1,1)被保存到区域B1。
Ic(1,1,1,1)=W(1,1,1,1)×X(1,1,1)+W(1,1,1,2)×X(1,1,2)+W(1,1,1,3)×X(1,1,3)+W(1,1,2,1)×X(1,2,1)+…+W(1,1,3,3)×X(1,3,3)···(3)
数式(4)表示使特征图X的对应区域C在x方向上滑动1个的例子。在数式(4)的例子中,进行加权矩阵W(1,1,1~3,1~3)与特征图X(1,2~4,2~4)的卷积运算Cv,算出第1组、第1通道、第1行以及第2列的中间运算结果Ic(1,1,1,2)。算出的中间运算结果Ic(1,1,1,2)被保存到区域B2。
Ic(1,1,1,2)=W(1,1,1,1)×X(1,1,2)+W(1,1,1,2)×X(1,1,3)+W(1,1,1,3)×X(1,1,4)+W(1,1,2,1)×X(1,2,2)+…+W(1,1,3,3)×X(1,3,4)···(4)
如图17所示,运算部21沿xy方向在特征图X内扫描,算出中间运算结果Ic(u=1,z=1,y=1~h,x=1~w),将中间运算结果Ic保存到与xy坐标对应的区域B1~Bk中的某一个。
接着,运算部21在将特征图X内沿z方向滑动了后,沿xy方向进行扫描,算出中间运算结果Ic(1,2,1~h,1~w),将中间运算结果Ic累积相加而保存到与xy坐标对应的区域B1~Bk中的某一个。
通过将通道数m的特征图X的中间运算结果Ic在区域B1~Bk中累积相加而算出中间运算结果Ic的z方向的要素和,如下面的数式(5)~(7)的例子所示那样,算出1通道的量的运算结果Y(u=1,y=1~h,x=1~w)。
Y(1,1,1)={Ic(1,1,1,1)+Ic(1,2,1,1)+…+(1,m,1,1)}···(5)
Y(1,1,2)={Ic(1,1,1,2)+Ic(1,2,1,2)+…+(1,m,1,2)}···(6)
Y(1,h,w)={Ic(1,1,h,w)+Ic(1,2,h,w)+…+(1,m,h,w)}··(7)
在图17的例子中,在区域B1中生成运算结果Y(1,1,1),在区域B2中生成运算结果Y(1,1,2),在区域Bk中生成运算结果Y(1,h,w)。
在算出了1通道的量的运算结果Y(1,1~h,1~w)后,根据第2组的加权矩阵W(2,1~m,1~h,1~w)和特征图X(1~m,1~h,1~w),进行运算,算出运算结果Y(2,1~h,1~w)。
使加权矩阵W沿u方向从组1滑动至组n,如图18所示,如果反复进行运算直到算出第n通道的运算结果Y(n,1~h,1~w),则算出运算结果Y(1~n,1~h,1~w)。
图19是用于说明第三实施方式的运算系统1的卷积运算Cv的运算的一例的流程图。
控制部51输出用于开始卷积运算Cv的控制信号(S3)。控制部51根据从存储器2读入的网络结构信息S,将表示卷积运算Cv的运算种类的信息、和加权矩阵识别信息向运算指示部11输出。
运算指示部11从存储器2将加权矩阵W读入1组(T31)。
运算指示部11从存储器2将特征图X读入1通道(T32)。
运算指示部11决定各个运算单元M的输出数据(T33)。具体而言,运算指示部11根据在运算中使用的加权矩阵W(u,z,1~h,1~w)、和当前的滑动位置,从特征图X提取与加权矩阵W的二维矩阵相同大小的映射,决定为运算单元M的输出数据。例如,运算指示部11将加权矩阵W(1,1,1~3,1~3)和特征图X(1,1~3,1~3)决定为运算单元M1的输出数据。此外,运算指示部11将向x方向例如滑动了1个后的加权矩阵W(1,1,1~3,1~3)和特征图X(1,2~4,2~4)决定为运算单元M2的输出数据。输出数据的输出目的地的信息经由控制部51被向保存区域指示部31输出。
运算指示部11将输出数据向各个运算单元M输出(T34)。
运算指示部11判断特征图X的全部通道的输出是否结束(T35)。当特征图X的全部通道的输出没有结束时(T35:否),返回T32,使特征图X的处理对象的通道向z方向前进1个。通过反复T32~T35的处理,特征量输出部13按每个通道从存储器2将特征图X读入。例如,在第1次的反复中,进行特征图X(1,1~h,1~w)的读入。在第m次的反复中,进行特征图X(m,1~h,1~w)的读入。另一方面,当特征图X的全部通道的输出结束时(T35:是),运算指示部11经由控制部51,向缓冲器41输出用于将中间运算结果Ic向存储器2输出的控制信号,并前进至T36。
运算指示部11判断加权矩阵W的全部组的输出是否结束(T36)。当加权矩阵W的全部组的输出没有结束时(T36:否),返回T31,使加权矩阵W的处理对象的组沿u方向滑动。另一方面,当加权矩阵W的全部组的输出结束时(T36:是),运算指示部11经由控制部51,向缓冲器41输出表示使加权矩阵W的全部组的输出结束的控制信号,结束处理。
即,运算指示部11在卷积运算Cv中将与处理中的组及通道对应的加权矩阵W(u,z,1~h,1~w)、和与处理中的滑动位置对应的特征图X的对应区域C从存储器2读入。更具体而言,运算指示部11在沿xy方向在特征图X内扫描而进行了特征图X的读入后,使其沿z方向滑动而进行接下来的特征图X的xy方向的扫描。并且,运算指示部11在z方向的滑动完成后,使加权量W沿u方向滑动而进行接下来的特征图X的xy方向的扫描。
在运算部21中,通过运算单元M,进行所输入的加权矩阵W及特征图X的积和运算,将中间运算结果Ic向缓冲器41输出(U31)。
保存区域指示部31根据从运算指示部11输入的输出数据的输出目的地的信息,决定保存中间运算结果Ic的区域B(V31)。即,在卷积运算Cv中,对应于对应区域C(按每块运算的结果),决定中间运算结果Ic的区域B。
缓冲器41在所决定的区域B中将中间运算结果Ic进行加法运算并保存(V32)。
缓冲器41根据在T35中从运算指示部11输入的控制信号,判断是否将中间运算结果Ic向存储器2输出(V33)。当V33为否时,返回V31。另一方面,当V33为是时,处理向V34前进。
缓冲器41将中间运算结果Ic向存储器2输出(V34)。在向存储器2输出后,区域B被清除。即,在卷积运算Cv中当z方向的处理完成时,缓冲器41将保存在基于中间运算结果Ic的区域B中的运算结果Y的处理通道的数据向存储器2输出。
缓冲器41根据在T36中从运算指示部11输入的控制信号,判断加权矩阵W的全部组的输出是否结束(V35)。缓冲器41当加权矩阵W的全部组的输出没有结束时(V35:否),返回V31。另一方面,当加权矩阵W的全部组的输出结束时(V35:是),处理结束。
(全连接运算Fc)
对运算系统1的全连接运算Fc进行说明。图20及图21是用于说明第三实施方式的运算系统1的全连接运算Fc的一例的说明图。
在全连接运算Fc中,使用作为通道数N的一维数据的特征图X和作为行数N、列数M的二维数据的加权矩阵W。在全连接运算Fc中,特征图X的通道数N与加权矩阵W的行数N相同。
在全连接运算Fc中,输出由下面的数式(8)表示的运算结果Y(1)~Y(M)。另外,在全连接运算Fc中,也可以将运算结果Y(1)~Y(M)的合计值作为运算结果Y输出。
如图20所示,在全连接运算Fc中,使用N通道的特征图X(1)~X(N)和由行数N、列数M构成的加权矩阵W(1~N,1~M)。运算部21通过运算单元M1~Mk进行运算,将中间运算结果Ic向缓冲器41输出。缓冲器41将中间运算结果Ic保存到区域B1~Bk。
接着,说明运算系统1的全连接运算Fc的流程。
图21是用于说明第三实施方式的运算系统1的全连接运算Fc的一例的流程图。图21是用于说明第三实施方式的运算系统1的全连接运算Fc的一例的图。
控制部51输出用于开始全连接运算Fc的控制信号(S4)。控制部51根据从存储器2读入的网络结构信息S,将表示全连接运算Fc的运算种类的信息、和加权矩阵识别信息向运算指示部11输出。
运算指示部11从存储器2将特征图X读入(T41)。运算指示部11根据当前的通道计数n,从存储器2将与通道计数n对应的特征图X(n)的值读入。通道计数n通过T41至T46的循环来进行计数。
运算指示部11从存储器2将加权矩阵W读入(T42)。运算指示部11根据加权矩阵W的当前的组计数m,从存储器2将加权矩阵W(N,m)~W(N,m+规定的运算单元数)读入。规定的运算单元数是预先设定的全连接运算Fc中使用的运算单元M的数量。组计数m通过T42至T45的循环来进行计数。
运算指示部11决定运算单元M的输出的保存目的地(T43)。如图22所示,在全连接运算Fc中,根据通道计数n(n=1~N),将各个加权矩阵W(n,m+规定的运算单元数)与特征图X(n)进行乘法运算,将各个中间运算结果Ic(n,m+规定的运算单元数)在缓冲器41的区域B1~Bk中累积相加。保存中间运算结果Ic(n,m+规定的运算单元数)的各个区域B1~Bk根据加权矩阵W的各个列数1~M而决定。
运算指示部11将特征图X(n)和加权矩阵W(n,m+规定的运算单元数)向各个运算单元M输出(T44)。
运算指示部11判断加权矩阵W内的处理对象的要素组的输出是否结束(T45)。当组计数m为列数M以上时,运算指示部11判断为作为处理对象的要素组的加权矩阵W(n,1~M)的输出已结束。当加权矩阵W(n,1~M)的输出没有结束时,对组计数m加上规定的运算单元数,处理返回T42。另一方面,当处理对象的加权矩阵W(n,1~M)的输出结束时,处理向T46前进。
判断特征图X的全部通道的输出是否结束(T46)。运算指示部11当通道计数n为行数N以上时,判断为特征图X的全部通道的输出结束。当特征图X的全部通道的输出没有结束时,将通道计数n递增1,处理返回T41。当特征图X的全部通道的输出结束时,运算指示部11经由控制部51,向缓冲器41输出用于将中间运算结果Ic向存储器2输出的控制信号,处理结束。
U41、V41~V43的处理与U31、V31~V33的处理相同,因此省略说明。
缓冲器41将中间运算结果Ic进行合计而向存储器2输出(V44)。即,缓冲器41在全连接运算Fc中当基于特征图X的全部通道的运算结束时,将中间运算结果Ic向存储器2输出。
运算装置3中,根据运算种类,将运算指示部11的加权矩阵W和特征图X的读入方法、缓冲器41中的保存运算结果Y的各个区域B进行变更。例如,在卷积运算Cv中,根据特征图X的xy坐标,决定区域B1~Bk的每一个。此外,在全连接运算Fc中,根据加权矩阵W的列数1~M,决定区域B1~Bk的每一个。
更具体而言,在卷积运算Cv中,运算指示部11将加权矩阵W、和特征图X内的与加权矩阵W建立了对应的对应区域C向运算部21输出,根据特征图X内的对应区域C的xy坐标,决定保存中间运算结果Ic的缓冲器41内的区域B,将区域B向保存区域指示部31进行指示。
此外,在全连接运算Fc中,运算指示部11将特征图X、和加权矩阵W内的与特征图X建立了对应的要素组向运算部21输出,根据加权矩阵W内的要素组,决定保存中间运算结果Ic的缓冲器41内的区域B,将区域B向保存区域指示部31进行指示。
由此,在卷积运算Cv及全连接运算Fc这两个运算中,能够不将中间运算结果Ic向存储器2写入地进行运算。此外,与对两个运算分别设置专用的缓冲器41的情况相比,能够通过较少的缓冲器41量执行两个运算。
根据第三实施方式,在运算装置3中,由同一缓冲器41实现多个种类的运算,并且,中间运算结果Ic不向存储器2退避,读入及写入的次数得以抑制,耗电得以抑制。
(第三实施方式的变形例)
第三实施方式中,运算装置3对从存储器2读入的加权矩阵W以及特征图X的全部进行运算,但也可以当加权矩阵W中包含0值时省略0值的运算。在本变形例的说明中,对于与实施方式相同的结构将说明省略。
在本变形例中,运算装置3具有加权矩阵压缩部12a以及特征量压缩部13a(图14的双点划线)。
加权矩阵压缩部12a,当从存储器2读入的加权矩阵W中包含0值时,将0值去除,对加权矩阵W进行压缩,向加权矩阵输出部12输出压缩后的加权矩阵W。此外,加权矩阵压缩部12a将加权矩阵W的压缩位置信息向特征量压缩部13a输出。
特征量压缩部13a根据所输入的压缩位置信息,将处于加权矩阵W的压缩位置的要素去除,将压缩后的特征图X向特征量输出部13输出。
运算指示部11根据压缩位置信息以及输出目的地的运算单元M算出输出目的地的信息,经由控制部51向保存区域指示部31输出。即,加权矩阵压缩部12a通过将加权矩阵W中包含的0值去除而将加权矩阵W压缩,输出压缩位置信息。此外,特征量压缩部13a通过对应于压缩位置信息将特征图X中包含的值去除而将特征图X压缩。由此,在运算装置3中,能够抑制运算量。
(第四实施方式)
在实施方式以及变形例中,运算指示部11在卷积运算Cv中在进行了特征图X内的xy方向的扫描后,沿z方向滑动,进行接下来的xy方向的扫描而构成,但也可以构成为,在沿z方向进行了扫描后,沿x方向或y方向的某一方向滑动,进行接下来的z方向的扫描。在本实施方式的说明中,对于与其他实施方式或变形例相同的结构将说明省略。
例如,运算装置3通过z方向的扫描,依次将中间运算结果Ic在缓冲器41中相加而保存,在进行了z方向的扫描后,将中间运算结果Ic从缓冲器41向存储器2输出。接着,沿x方向滑动,通过接下来的z方向的扫描,依次将中间运算结果Ic在缓冲器41中进行加法运算而保存。此时的缓冲器41的中间运算结果Ic的保存目的地按每个运算单元M而被预先设定。由此,在运算装置3中,不在缓冲器41上设置对应xy坐标的区域B也能够通过对应z坐标的区域B进行运算,能够通过更少的缓冲器41量进行运算。
(第四实施方式的变形例)
在实施方式以及变形例中,运算种类由卷积运算Cv及全连接运算Fc构成,但也可以由扫描方向不同的运算构成。在本变形例的说明中,对于与其他实施方式或变形例相同的结构将说明省略。
例如,可以是,第一卷积运算Cv是在沿xy方向进行了扫描后沿z方向滑动、并进行接下来的xy方向的扫描而将特征图X读入从而进行的卷积运算Cv,此外,第二卷积运算Cv是在沿z方向进行了扫描后沿x方向或y方向滑动、并进行接下来的z方向的扫描而将特征图X读入从而进行的卷积运算Cv。
另外,在第1运算中,构成为,通过沿xy方向进行扫描,例如在将特征图X(1,1,2~5)等沿x方向滑动时,将在x方向上连续的要素仅读入1次,不会每次滑动重复从存储器2读入,能够通过特征图X的再利用来抑制读入量。另一方面,在第2运算中,通过沿z方向进行扫描,能够抑制缓冲器41中使用的区域B。
由此,运算装置3根据特征图X,能够在抑制存储器2的读入量时按xyz的扫描方向的顺序进行扫描,在抑制缓冲器41中使用的区域B时按zxy的扫描方向的顺序进行扫描。
另外,在实施方式的变形例中,控制部51根据网络结构信息S,向运算指示部11输出运算种类,但也可以构成为,检测从存储器2读入的特征图X,判断是否进行扫描方向的顺序,向运算指示部11输出运算种类。
对本发明的实施方式进行了说明,但这些实施方式是作为例子示出的,并不意欲限定本发明的范围。这些新的实施方式能够以其他各种形态实施,在不脱离发明的主旨的范围内,能够进行各种省略、替换、变更。这些实施方式及其变形包含在发明的范围及主旨中,并且包含在权利要求所记载的发明及其等同范围中。
Claims (6)
1.一种运算装置,其中,具有:
运算指示部,进行第1运算或第2运算的某一方的运算种类的运算指示;
运算部,根据上述运算指示,进行运算,输出中间运算结果;
缓冲器,保存上述中间运算结果;以及
保存区域指示部,根据上述运算种类,进行对上述中间运算结果进行保存的上述缓冲器内的区域的指示。
2.如权利要求1所述的运算装置,其中,
上述运算指示部从存储器读入与上述第1运算或上述第2运算的某一方的运算种类相应的加权量和特征量,将所读入的上述加权量和上述特征量向上述运算部输出,从而进行上述运算指示。
3.如权利要求2所述的运算装置,其中,
上述第1运算是卷积运算,
上述第2运算是全连接运算。
4.如权利要求3所述的运算装置,其中,
上述运算指示部在上述卷积运算中从存储器读入与上述加权量对应的特征图X的对应区域的上述特征量。
5.如权利要求2所述的运算装置,其中,
上述运算指示部具有加权量压缩部以及特征量压缩部,
上述加权量压缩部通过将上述加权量中包含的0值去除而将上述加权量进行压缩,输出作为压缩位置的信息的压缩位置信息,
上述特征量压缩部根据上述压缩位置信息将上述特征量中包含的值去除,从而压缩上述特征量。
6.如权利要求2所述的运算装置,其中,
上述加权量是加权矩阵。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017182766 | 2017-09-22 | ||
JP2017-182766 | 2017-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109557996A true CN109557996A (zh) | 2019-04-02 |
CN109557996B CN109557996B (zh) | 2022-12-02 |
Family
ID=65864491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810161068.6A Active CN109557996B (zh) | 2017-09-22 | 2018-02-27 | 运算装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6957365B2 (zh) |
CN (1) | CN109557996B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103095A1 (en) * | 2002-11-06 | 2004-05-27 | Canon Kabushiki Kaisha | Hierarchical processing apparatus |
CN105260776A (zh) * | 2015-09-10 | 2016-01-20 | 华为技术有限公司 | 神经网络处理器和卷积神经网络处理器 |
CN106203621A (zh) * | 2016-07-11 | 2016-12-07 | 姚颂 | 用于卷积神经网络计算的处理器 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN108475348A (zh) * | 2015-12-15 | 2018-08-31 | 美国亚德诺半导体公司 | 卷积神经网络 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160358069A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Neural network suppression |
CN106447034B (zh) * | 2016-10-27 | 2019-07-30 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
-
2018
- 2018-01-15 JP JP2018003972A patent/JP6957365B2/ja active Active
- 2018-02-27 CN CN201810161068.6A patent/CN109557996B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103095A1 (en) * | 2002-11-06 | 2004-05-27 | Canon Kabushiki Kaisha | Hierarchical processing apparatus |
CN105260776A (zh) * | 2015-09-10 | 2016-01-20 | 华为技术有限公司 | 神经网络处理器和卷积神经网络处理器 |
CN108475348A (zh) * | 2015-12-15 | 2018-08-31 | 美国亚德诺半导体公司 | 卷积神经网络 |
CN106203621A (zh) * | 2016-07-11 | 2016-12-07 | 姚颂 | 用于卷积神经网络计算的处理器 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
Non-Patent Citations (1)
Title |
---|
TIANSHI CHEN: "DianNao:a small-footprint high-throughput accelerator for ubiquitous machine-learning", 《ASPLOS》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109557996B (zh) | 2022-12-02 |
JP2019061641A (ja) | 2019-04-18 |
JP6957365B2 (ja) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112018002228B4 (de) | Konfigurierbare faltungsmaschine für verschachtelte kanaldaten | |
CN106204660B (zh) | 一种基于特征匹配的地面目标跟踪装置 | |
EP3460724A1 (en) | Operation device and operation system | |
US20200218777A1 (en) | Signal Processing Method and Apparatus | |
CN103017654A (zh) | 一种光斑图像多路质心定位方法及装置 | |
CN114299303A (zh) | 一种船舶目标检测方法、终端设备及存储介质 | |
CN110390382A (zh) | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 | |
CN114519881A (zh) | 人脸位姿估计方法、装置、电子设备及存储介质 | |
US20200394516A1 (en) | Filter processing device and method of performing convolution operation at filter processing device | |
CN110648284A (zh) | 一种光照不均匀的图像处理方法及装置 | |
CN108960012B (zh) | 特征点检测方法、装置及电子设备 | |
Malik et al. | Real-time component labelling with centre of gravity calculation on FPGA | |
CN109557996A (zh) | 运算装置 | |
EP2400455A1 (en) | System, data structure, and method for transposing multi-dimensional data to switch between vertical and horizontal filters | |
CN107111878B (zh) | 数据处理方法、装置及系统 | |
CN114022518B (zh) | 图像的光流信息获取方法、装置、设备和介质 | |
CN112784828B (zh) | 基于方向梯度直方图的图像检测方法、装置、计算机设备 | |
CN115660969A (zh) | 图像处理方法、模型训练方法、装置、设备和存储介质 | |
CN108876701A (zh) | 一种基于游程的单次扫描通域标记方法及其硬件结构 | |
US20100020096A1 (en) | Antialiasing apparatus | |
CN107527319A (zh) | 图像收缩方法和装置 | |
CN111783876B (zh) | 自适应智能检测电路及图像智能检测方法 | |
CN114612513B (zh) | 一种基于fpga的图像金字塔光流值计算方法及系统 | |
AU2017248406A1 (en) | Method, apparatus and system for rendering a graphical representation within limited memory | |
CN113610883B (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 |