CN110880032A - 使用自适应3d阵列的卷积神经网络 - Google Patents
使用自适应3d阵列的卷积神经网络 Download PDFInfo
- Publication number
- CN110880032A CN110880032A CN201910840879.3A CN201910840879A CN110880032A CN 110880032 A CN110880032 A CN 110880032A CN 201910840879 A CN201910840879 A CN 201910840879A CN 110880032 A CN110880032 A CN 110880032A
- Authority
- CN
- China
- Prior art keywords
- kernel
- activation data
- adaptive
- data map
- width
- 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
Images
Classifications
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
一种在卷积神经网络中构造自适应乘法累加层的方法,所述方法包括确定激活数据图宽度、激活数据图高度、通道深度、批量、核宽度、核高度和滤波器组数量;基于激活数据图宽度来设置自适应乘法器层的第一维度;基于通道深度来设置自适应乘法器层的第二维度;基于滤波器组数量来设置自适应乘法器层的第三维度;以及基于第一维度、第二维度和第三维度来构造自适应乘法器层。
Description
技术领域
目前的公开涉及卷积神经网络,并且尤其提高了乘法累加的计算效率。
现有技术
卷积层处理本质上是多维的(4-D)。激活数据的4个维度为激活数据图宽度(W),激活数据图高度(H),通道深度(D)和批量(B);对应的滤波器权重的4个维度为核宽度(Ky),核高度(Kx),通道深度(D)和数量(N)。为了计算最终的卷积输出,使用了八层嵌套循环。如果一个批量的输入被处理以及一个层的输出,则使用六个嵌套层的循环W x H x D x Ky xKx x N。
发明内容
在卷积神经网络中构造自适应乘法累加层的第一示例方法包括以下中的至少一个:确定激活数据图宽度、激活数据图高度、通道深度、批量、核宽度、核高度和滤波器组数量;基于激活数据图宽度来设置自适应乘法器层的第一维度;基于通道深度来设置自适应乘法器层的第二维度;基于滤波器组数量来设置自适应乘法器层的第三维度;以及基于第一维度、第二维度和第三维度来构造自适应乘法器层。
附图说明
在图中:
图1为根据本公开一个实施例的第一示例系统图。
图2为根据本公开一个实施例的第二示例系统图。
图3为根据本公开一个实施例的示例自适应乘法累加。
图4为根据本公开一个实施例的嵌套乘法累加的示例。
图5为根据本公开一个实施例的自适应乘法累加的输入和输出的示例。
图6为根据本公开一个实施例的自适应乘法累加的示例方法。
具体实施方式
以下列出的实施例仅用于说明该装置和方法的应用,而不是限制其范围。对该装置和方法的等价形式的修改应纳入权利要求的保护范围之内。
贯穿以下描述和权利要求所使用某些术语来指代特定系统组件。如本领域技术人员将理解的,不同的公司可以通过不同的名称来指代组件和/或方法。本文无意区分这些名称不同但功能类似的组件和/或方法。
在以下的描述以及权利要求中,术语“包括”和“包含”以开放式的形式使用,因此可以理解为“包括但不限于……”。此外,术语“耦合”旨在表示间接或直接连接。因此,如果第一设备耦合到第二设备,则该连接可以是直接连接或是经由其他设备和连接的间接连接。
图1描绘了可用于实现与过程600的一个或多个部分或步骤的操作相关联的神经网络的混合计算系统100的示例。在该示例中,与混合系统相关联的处理器包括现场可编程门阵列(FPGA)122,图形处理器单元(GPU)120和中央处理单元(CPU)118。
处理单元118、120和122中的每一个都能够提供神经网络。CPU是可以执行许多不同功能的通用处理器,其通用性导致了能够执行多个不同的任务。然而,CPU对多个数据流的处理是有限的,并且其对于神经网络的功能是非常有限的。GPU是图形处理器,其具有许多小的处理核,这些小的处理核能够依次处理并行任务。FPGA是现场可编程设备,其能够以硬连线电路方式重新配置并执行可以被编程到CPU或GPU中的任何功能。由于FPGA的编程采用电路形式,因此其速度比CPU快许多倍,并且明显快于GPU。
系统可以包括其他类型的处理器,例如加速处理单元(APU)和数字信号处理器(DSP),其中APU包括具有芯片上GPU元件的CPU,DSP专用于执行高速数字数据处理。专用集成电路(ASIC)也可以执行FPGA的硬连线功能。然而,设计和生产ASIC的前置时间大约是一年的时间,而不是编程FPGA时可用的快速周转实现。
图形处理器单元120,中央处理单元118和现场可编程门阵列122彼此连接并均连接到存储器接口和控制器112。FPGA通过可编程逻辑电路连接到存储器接口再到存储器互连130。由于FPGA以非常大的带宽进行操作,因此使用该附加设备以最小化FPGA使用的电路以执行存储器任务。存储器接口和控制器112 还另外连接到永久存储器盘110、系统存储器114和只读存储器(ROM)116。
图1的系统可用于编程和训练FPGA。GPU对于非结构化数据可以很好地起作用并且可以用于训练,一旦数据被训练,就可以找到确定性推理模型,并且CPU可以使用由GPU确定的模型数据对FPGA进行编程。
存储器接口和控制器连接到中央互连124,中央互连另外连接到GPU 120、 CPU118和FPGA 122。中央互连124另外连接到输入和输出接口128和网络接口126。
图2描绘了第二示例混合计算系统200,该第二示例混合计算系统200可用于实现与过程600的一个或多个部分或步骤的操作相关联的神经网络。在该示例中,与混合系统相关联的处理器包括现场可编程门阵列(FPGA)210和中央处理单元(CPU)220。
FPGA电连接到FPGA控制器212,FPGA控制器212与直接存储器访问 (DMA)218使用接口连接。DMA连接到输入缓冲器214和输出缓冲器216,输入缓冲器214和输出缓冲器216又都耦合到FPGA以缓冲FPGA的数据进出。 DMA 218由两个先进先出(FIFO)缓冲器组成,一个用于主机CPU,另一个用于FPGA,DMA允许数据写到适当的缓冲器并从中读取。
在DMA的CPU侧是主开关228,其将数据和命令传送到DMA。DMA还连接到SDRAM控制器224。SDRAM控制器224允许将数据传送到FPGA以及将数据从FPGA传送到CPU 220。SDRAM控制器还连接到外部SDRAM 226和 CPU 220。主开关228连接到外围设备接口230。闪存控制器222控制永久存储器并且连接到CPU 220。
在可接受具有低性能的乘法累加器(MAC)的情况下,可以有效地利用小的1-D矢量单指令多数据(SIMD)或2-D通用矩阵乘法(GEMM)。
单指令多数据(SIMD)单元利用数据级并行来解决矩阵乘法的基本线性代数子程序(BLAS)。SIMD类型单元的吞吐量随着位宽减半而翻倍。对于SIMD,神经网络层数增加,从而矩阵乘法的数量增加,这样就分别增加了执行时间、存储量和工作量。
通用矩阵乘法(GEMM)也可在基本线性代数(BLAS)子例程中实现。GEMM 可以将两个二维输入阵列M x N和N x K相乘并返回二维输出阵列M x K。 GEMM对输入阵列进行迭代遍历并应用乘法累加(MAC)运算。
激活数据维度可以被描述为具有激活数据图宽度(W)、激活数据图高度 (H);其中(W)和(H)形成二维激活数据区域图(W×H)。添加的通道深度(D)将激活数据区域图改变为激活数据体积(D×W×H)。批量(B)是激活数据体积(W×H×D)的集合。
图3描绘了激活数据和核配置300的一个示例。标记为310的输入特征图 (IFMAP)是激活数据图宽度(W)、激活数据图高度(H)和通道深度(D)。滤波器312具有在N个过滤周期上迭代的核宽度(Kx)、核高度(Ky)和通道深度(D)。
输出滤波器图(OFMAP)314具有输出数据高度(H)和输出数据厚度N。
滤波器具有核宽度(Ky)、核高度(Kx)、通道深度(D)和数量(N)。核宽度和核高度形成核区域(Ky x Kx)。添加的通道深度(D)将核区域改变为核体积(Ky x Kx x D),数量(N)是核体积(Ky x Kx x D)的集合。
图4描绘了用于确定乘法累加运算的八个嵌套循环400的示例。八个嵌套循环包括对核高度求和、在核高度的总和内对核宽度求和以及在核宽度的总和内对通道深度求和。嵌套循环还包括:在通道深度的总和内对激活数据图宽度求和、在激活数据图宽度的总和内对激活数据图高度求和、在激活数据图高度的总和内对滤波器组求和、在滤波器组数量的总和内对层组求和以及在层组的总和内对批量求和。
图5描绘了示例乘法累加运算500。该乘法累加运算500以输入权重缓冲器和输入激活数据缓冲器作为输入,乘法和累加周期发生在运算内,以及然后累加输出被发送到加法器和结果缓冲器。
在一个示例中,激活数据大小可以为32x32x32x32(W x H x D x B),其中激活数据区域是32(W)乘32(H),具有通道深度32(D),给出激活数据体积为32x32x32(D x W x H)并且需要考虑32个批量(B)的激活数据体积。
滤波器大小可以是1x1x32x64(Ky x Kx x D x N),其中滤波器宽度为1,滤波器高度为1,给出核区域为1(Ky)乘以1(Kx)和通道深度(D),给出 1x1x32(Ky x Kx x D)的核体积,并且要考虑64(N)数量的核体积。
可以在一个维度中实现16个乘法器的向量,以完全利用MAP周期。在 32x32x32x32(W x H x D x B)内,16个乘法器应用于处理周期内一半的32通道深度(D)维度的剩余部分的激活数据(W x H x B),通道深度的循环时间从32 减少到2。
二维乘法器的阵列实现为应用于32x32x32x32(W x H x D x B)激活数据的16x16(D x N)乘法器阵列可以减少一半的通道深度32D以及数量64N的滤波器循环的四分之三,其中该滤波器循环为1x1x32x64(Ky x Kx x D x N)。这个二维乘法器的实现将通道循环从32减少到2,滤波器组循环从64减少到4。
如果层维度不够大以无法利用缩减,或者层维度非常大且需要许多乘法器,那么1-D或2-D方法可能会遇到利用率问题。例如,为了每个循环处理4096次乘法,需要4096个一维乘法器(D)或64x64个二维乘法器(D x N)。
如果激活数据和滤波器权重相同,则乘法器的有效利用可能存在困难。在前面的示例中,当使用32D x 64N的阵列时,其提供的利用率是所期望的性能目标的一半。
该问题的一种可能解决方案是使用自适应三维(3D)乘法器阵列。自适应表明3D阵列乘法器的形状可以基于层的形状进行调整。
在一个示例中,可以使用32x8x16(W x D x N)的阵列。如果激活数据图宽度不是32的倍数,则可以利用32(W)来同时确定激活数据图宽度(W)和激活数据图高度(H)。在这种情况下(W x H)将(W x H)两个循环展开成一个循环并将其除以32。这允许激活数据图宽度(W)为16,激活数据高度(H) 为16,即16x16(W x H)被充分利用。
在上述32x8x16(W x D x N)的自适应阵列的示例中,第二维度8(D)可以覆盖D xKy x Kx的循环。在通道深度(D)为4(这对于使用具有四个通道的 RGBA的第一卷积层是常见的)的情况下,自适应3-D阵列可以同时确定4通道深度(D)以及1x核宽度(Ky)和1x核高度(Kx)两者以实现充分利用。
图6描绘了在卷积神经网络中构造自适应乘法累加层过程600的示例方法。该方法包括:确定610激活数据图宽度、激活数据图高度、通道深度、批量、核宽度、核高度和滤波器组数量。该方法然后包括:基于激活数据图宽度来设置612第一维自适应乘法器层;基于通道深度来设置614第二维自适应乘法器层;以及基于滤波器组数量来设置616第三维自适应乘法器层。现在具有三个维度,该方法还包括基于第一维度、第二维度和第三维度构造618自适应乘法器层。第一维度可以是激活数据图宽度的大小的1/4、激活数据图宽度的大小的1/2或等于激活数据图宽度的大小;第二维度可以是通道深度的大小的1/4、通道深度的大小的1/2或等于通道深度的大小;以及第三维度可以是滤波器组数量的大小的1/4、滤波器组数量的大小的1/2的或等于滤波器组数量的大小。
乘法累加的剩余部分包括:在自适应乘法器层内对核高度求和;在核高度总和内对核宽度求和;在核宽度总和内对激活数据图高度求和;在激活数据图高度的总和内层组求和;以及在层组的总和内对批量求和。求和是一系列嵌套循环,其中一组求和在下一个外层循环求和中完成。如上所述,如果自适应乘法层的大小超过其乘以的维度,那么这就允许同时对激活数据图宽度和激活数据图高度求和以产生并发结果,并且将并发结果除以激活数据图宽度,和或同时对通道深度、核宽度和核高度求和。
本领域技术人员将可以理解的是,本文中所描述的各种说明性的块、模块、元件、组件、方法和算法可实施为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上面已经在功能方面对各种说明性的块、模块、元件、组件、方法和算法进行了总体描述。这种功能性是否可以实施为硬件还是软件取决于施加在整个系统上的特定应用和设计约束。技术人员可以针对每个特定应用以不同方式实现所描述的功能。在不脱离主题技术的范围的情况下,各种组件和块可以不同地布置(例如,以不同的顺序布置,或以不同的方式划分)。
可以理解的是,所公开的过程中的步骤的具体顺序或层级是示例性方法的说明。基于设计偏好,可以理解的是,可以重新排列过程中步骤的具体顺序或层级。一些步骤可以同时进行。所附方法权利要求以样本顺序呈现各个步骤的元素,并不意味着限制于所呈现的具体顺序或层级。
提供前面的描述是为了使本领域的技术人员能够实践本文中所描述的各种方面。前面的描述提供了主题技术的各种示例,并且主题技术不限于这些示例。对于本领域技术人员来说,对这些方面的各种修改是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不旨在限制于本文所示的这些方面,而是与符合语言要求的全部范围相一致。其中对单数元素的引用并非旨在表示“一个且仅一个”,除非具体地如此陈述,而是表示“一个或多个”。除非另外特别说明,否则术语“一些”是指一个或多个。阳性代词(例如,他的)包括女性和中性(例如,她的和它的),反之亦然。标题和副标题(如果有的话)仅用于方便,并不限制本发明。谓语词“被配置为”、“可操作地”和“被编程为”并不意味着主语的任何特定的有形或无形修改,而是旨在可互换地使用。例如,配置成监视和控制操作或组件的处理器还可以意味着处理器被编程为监视和控制操作,或者处理器是可操作的以监视和控制操作。同样地,被配置为执行代码的处理器可以被解释为被编程以执行代码或可操作地执行代码的处理器。
诸如“方面”之类的短语并没有暗示出这样的方面对于主题技术是必不可少的,或者这样的方面适用于主题技术的所有配置。与一方面有关的公开内容可适用于所有配置、或一个或多个配置。一方面可提供一个或多个示例。诸如“一方面”之类的短语可以指代一个或多个方面,反之亦然。诸如“实施例”之类的短语并不暗示这样的实施例对于主题技术是必不可少的,或者这样的实施例适用于主题技术的所有配置。涉及实施例的公开可以适用于所有实施例、或一个或多个实施例。实施例可以提供一个或多个示例。诸如“实施例”之类的短语可以指代一个或多个实施例,反之亦然。诸如“配置”之类的短语并不暗示这种配置对于主题技术是必不可少的,或者这种配置适用于主题技术的所有配置。与配置有关的公开内容可以适用于所有配置、或一个或多个配置。配置可以提供一个或多个示例。诸如“配置”之类的短语可以指代一个或多个配置,反之亦然。
本文使用词语“示例”来表示“用作示例或说明”。本文中描述为“示例”的任何方面或设计不必被解释为比其他方面或设计更优选或更具优势。
本领域普通技术人员已知或以后将知道的贯穿本公开内容所描述的各个方面的元件的所有结构和功能等同物通过引用明确地并入本文,并且旨在由权利要求书所涵盖。此外,无论在权利要求中是否明确地叙述了这样的公开内容,本文所公开的内容都不旨在致力于公众。任何权利要求要素不得根据《美国法典》第35条第112条第6款的规定进行解释,除非使用短语“用于”明确记载该要素,或者在方法权利要求的情况下,使用短语“步骤用于”记载元素。此外,在在说明书或权利要求书中使用“包括”、“具有”或类似术语,该术语旨在以类似于“包含”一词的方式具有包容性,因为在权利要求中使用“包含”作为过渡词时,将“包含”解释为“包含”。
对“一个实施例”、“实施例”、“一些实施例”、“各种实施例”等的引用指示特定元件或特性包括在本发明的至少一个实施例中。尽管短语可能出现在各个地方,但短语不一定指的是同一实施例。结合本公开,本领域技术人员将能够设计和结合适合于实现上述功能的各种机制中的任何一种。
可以理解的是,本公开仅教导了说明性实施例的一个示例,并且本领域技术人员在阅读本公开之后可以容易地设计出本发明的许多变型,并且本发明的范围由权利要求确定。
Claims (11)
1.一种在卷积神经网络中构造自适应乘法累加层的方法,包括:
确定激活数据图宽度、激活数据图高度、通道深度、批量、核宽度、核高度和滤波器组数量;
基于所述激活数据图宽度来设置自适应乘法器层的第一维度;
基于所述通道深度来设置所述自适应乘法器层的第二维度;
基于所述滤波器组数量来设置所述自适应乘法器层的第三维度;以及
基于所述第一维度、所述第二维度和所述第三维度来构造所述自适应乘法器层。
2.根据权利要求1所述的构造自适应乘法累加层的方法,其特征在于,所述自适应乘法器层的所述第一维度为下列之一:所述激活数据图宽度的大小的一半、所述激活数据图宽度的大小的四分之一和等于所述激活数据图宽度的大小。
3.根据权利要求1所述的构造自适应乘法累加层的方法,其特征在于,所述自适应乘法器层的所述第二维度为下列之一:所述通道深度的大小的一半、所述通道深度的大小的四分之一和等于所述通道深度的大小。
4.根据权利要求1所述的构造自适应乘法累加层的方法,其特征在于,所述自适应乘法器层的所述第三维度为下列之一:所述滤波器组数量的大小的一半、所述滤波器组数量的大小的四分之一和等于所述滤波器组数量的大小。
5.根据权利要求1所述的构造自适应乘法累加层的方法,还包括:
在所述自适应乘法器层内对所述核高度求和;
在所述核高度的总和内对所述核宽度求和;
在所述核宽度的总和内对所述激活数据图高度求和;
在所述激活数据图高度的总和内输出层组;以及
在所述层组的总和内输出所述批量。
6.根据权利要求5所述的构造自适应乘法累加层的方法,还包括:
同时对所述核高度和所述核宽度求和,其中所述核高度和所述核宽度在一个循环内求和。
7.根据权利要求1所述的构造自适应乘法累加层的方法,还包括:
在所述自适应乘法器层内对所述核高度求和;
在所述核高度的总和内对所述核宽度求和;以及
在所述激活数据图宽度的总和内对所述激活数据图高度求和。
8.根据权利要求7所述的构造自适应乘法累加层的方法,还包括同时对所述核高度和所述核宽度求和,其中所述核高度和所述核宽度在一个循环内求和。
9.根据权利要求1所述的构造自适应乘法累加层的方法,还包括:
在所述自适应乘法器层内对所述核高度求和;
在所述核高度的总和内对所述核宽度求和;
在所述核宽度的总和内对所述通道深度求和;
在所述激活数据图宽度的总和内输出所述激活数据图高度;
在所述激活数据图高度的总和内输出所述滤波器组;
在所述滤波器组数量的总和内输出所述层组;以及
在所述层组的总和内输出所述批量。
10.根据权利要求9所述的构造自适应乘法累加层的方法,还包括:
同时对所述激活数据图宽度和所述激活数据图高度求和以产生并发结果,其中所述激活数据图宽度和所述激活数据图高度在一个循环内求和;以及
将所述并发结果除以所述激活数据图宽度。
11.根据权利要求10所述的构造自适应乘法累加层的方法,还包括同时对所述通道深度、所述核宽度和所述核高度求和,其中所述通道深度、所述核宽度和所述核高度在一个循环内求和。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862727929P | 2018-09-06 | 2018-09-06 | |
US62/727,929 | 2018-09-06 | ||
US16/286,323 US11954573B2 (en) | 2018-09-06 | 2019-02-26 | Convolutional neural network using adaptive 3D array |
US16/286,323 | 2019-02-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110880032A true CN110880032A (zh) | 2020-03-13 |
CN110880032B CN110880032B (zh) | 2022-07-19 |
Family
ID=69719171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910840879.3A Active CN110880032B (zh) | 2018-09-06 | 2019-09-06 | 使用自适应3d阵列的卷积神经网络 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11954573B2 (zh) |
CN (1) | CN110880032B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016186811A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Computing convolutions using a neural network processor |
US20160342893A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Rotating data for neural network computations |
WO2016186801A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Neural network processor |
CN106599883A (zh) * | 2017-03-08 | 2017-04-26 | 王华锋 | 一种基于cnn的多层次图像语义的人脸识别方法 |
CN106940815A (zh) * | 2017-02-13 | 2017-07-11 | 西安交通大学 | 一种可编程卷积神经网络协处理器ip核 |
CN107454966A (zh) * | 2015-05-21 | 2017-12-08 | 谷歌公司 | 用于神经网络处理器的预取权重 |
CN107862378A (zh) * | 2017-12-06 | 2018-03-30 | 芯原微电子(上海)有限公司 | 基于多核的卷积神经网络加速方法及系统、存储介质及终端 |
CN107909646A (zh) * | 2017-11-17 | 2018-04-13 | 浙江工业大学 | 一种基于平面图像的三维建模方法 |
CN107993186A (zh) * | 2017-12-14 | 2018-05-04 | 中国人民解放军国防科技大学 | 一种基于Winograd算法的3D CNN加速方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2740487C3 (de) | 1977-09-08 | 1981-06-19 | Patent-Treuhand-Gesellschaft für elektrische Glühlampen mbH, 8000 München | Elektronisches Blitzgerät |
DE102006047233A1 (de) | 2006-10-04 | 2008-04-10 | Osram Opto Semiconductors Gmbh | Optisches Element für eine Leuchtdiode, Leuchtdiode, LED-Anordnung und Verfahren zur Herstellung einer LED-Anordnung |
JP5994679B2 (ja) * | 2013-02-26 | 2016-09-21 | 株式会社ソシオネクスト | 処理装置、及び処理装置の制御方法 |
US10533714B2 (en) | 2014-05-10 | 2020-01-14 | VisionQuest Imaging, Inc. | External lighting cases for mobile digital camera devices |
US9110355B1 (en) | 2014-07-03 | 2015-08-18 | Bby Solutions, Inc. | External flash device for mobile electronic devices |
US10151834B2 (en) * | 2016-07-26 | 2018-12-11 | Honeywell International Inc. | Weather data de-conflicting and correction system |
US10997496B2 (en) * | 2016-08-11 | 2021-05-04 | Nvidia Corporation | Sparse convolutional neural network accelerator |
CN108267909B (zh) | 2016-12-30 | 2021-06-01 | 上海显耀显示科技有限公司 | 发光二极管微型阵列闪光灯 |
US10503205B2 (en) | 2017-10-20 | 2019-12-10 | Jakob Spevak | Device case with illumination sources |
CN108150922A (zh) | 2017-12-18 | 2018-06-12 | 匀加速科技有限公司 | 手机外置补光灯 |
CN207752279U (zh) | 2018-02-02 | 2018-08-21 | 深圳市顺天恩科技有限公司 | 一种用于手机拍照的补光装置 |
US11568232B2 (en) * | 2018-02-08 | 2023-01-31 | Quanta Computer Inc. | Deep learning FPGA converter |
EP3650844A1 (de) | 2018-11-09 | 2020-05-13 | B&R Industrial Automation GmbH | Beleuchtungsvorrichtung zur beleuchtung eines von zumindest einem bildsensor überwachten bereichs |
CN210954562U (zh) | 2019-12-25 | 2020-07-07 | 舒子轩 | 一种外置式闪光灯及拍摄系统 |
-
2019
- 2019-02-26 US US16/286,323 patent/US11954573B2/en active Active
- 2019-09-06 CN CN201910840879.3A patent/CN110880032B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016186811A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Computing convolutions using a neural network processor |
US20160342893A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Rotating data for neural network computations |
WO2016186801A1 (en) * | 2015-05-21 | 2016-11-24 | Google Inc. | Neural network processor |
CN107454966A (zh) * | 2015-05-21 | 2017-12-08 | 谷歌公司 | 用于神经网络处理器的预取权重 |
CN106940815A (zh) * | 2017-02-13 | 2017-07-11 | 西安交通大学 | 一种可编程卷积神经网络协处理器ip核 |
CN106599883A (zh) * | 2017-03-08 | 2017-04-26 | 王华锋 | 一种基于cnn的多层次图像语义的人脸识别方法 |
CN107909646A (zh) * | 2017-11-17 | 2018-04-13 | 浙江工业大学 | 一种基于平面图像的三维建模方法 |
CN107862378A (zh) * | 2017-12-06 | 2018-03-30 | 芯原微电子(上海)有限公司 | 基于多核的卷积神经网络加速方法及系统、存储介质及终端 |
CN107993186A (zh) * | 2017-12-14 | 2018-05-04 | 中国人民解放军国防科技大学 | 一种基于Winograd算法的3D CNN加速方法及系统 |
Non-Patent Citations (5)
Title |
---|
JIAJUN LI 等: "SmartShuttle: Optimizing Off-Chip Memory Accesses for Deep Learning Accelerators", 《IEEE》 * |
余子健 等: "基于FPGA的卷积神经网络加速器", 《计算机工程》 * |
刘琦等: "基于GPU的卷积检测模型加速", 《计算机应用与软件》 * |
张军阳等: "二维矩阵卷积在向量处理器中的设计与实现", 《国防科技大学学报》 * |
张军阳等: "二维矩阵卷积的并行计算方法", 《浙江大学学报(工学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110880032B (zh) | 2022-07-19 |
US20200082242A1 (en) | 2020-03-12 |
US11954573B2 (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684473B (zh) | 提高神经网络阵列的性能 | |
JP7016942B2 (ja) | 演算アクセラレータ | |
KR102443546B1 (ko) | 행렬 곱셈기 | |
US10846591B2 (en) | Configurable and programmable multi-core architecture with a specialized instruction set for embedded application based on neural networks | |
CN110050267B (zh) | 用于数据管理的系统和方法 | |
Yepez et al. | Stride 2 1-D, 2-D, and 3-D Winograd for convolutional neural networks | |
JP6905573B2 (ja) | 計算装置と計算方法 | |
CN107301456B (zh) | 基于向量处理器的深度神经网络多核加速实现方法 | |
WO2019010183A1 (en) | PROCESSOR OF DEEP VISION | |
CN108537331A (zh) | 一种基于异步逻辑的可重构卷积神经网络加速电路 | |
CN105589677A (zh) | 一种基于fpga的脉动结构矩阵乘法器及其实现方法 | |
Wang et al. | DSP-efficient hardware acceleration of convolutional neural network inference on FPGAs | |
Kiningham et al. | Design and analysis of a hardware cnn accelerator | |
Cho et al. | FARNN: FPGA-GPU hybrid acceleration platform for recurrent neural networks | |
Huang et al. | A high performance multi-bit-width booth vector systolic accelerator for NAS optimized deep learning neural networks | |
CN110880032B (zh) | 使用自适应3d阵列的卷积神经网络 | |
WO2021083101A1 (zh) | 数据处理方法、装置及相关产品 | |
WO2023114417A2 (en) | One-dimensional computational unit for an integrated circuit | |
CN112836793B (zh) | 浮点可分离卷积计算加速装置、系统以及图像处理方法 | |
CN111047025A (zh) | 一种卷积计算方法及装置 | |
CN112766473B (zh) | 运算装置及相关产品 | |
CN112766471B (zh) | 运算装置及相关产品 | |
CN115328440A (zh) | 一种基于2d脉动阵列的通用稀疏矩阵乘法实现方法及装置 | |
Sotiropoulos et al. | A fast parallel matrix multiplication reconfigurable unit utilized in face recognitions systems | |
Jiang et al. | HARNS: High-level architectural model of RRAM based computing-in-memory NPU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |