CN110390389A - 神经网络引擎 - Google Patents

神经网络引擎 Download PDF

Info

Publication number
CN110390389A
CN110390389A CN201910305973.9A CN201910305973A CN110390389A CN 110390389 A CN110390389 A CN 110390389A CN 201910305973 A CN201910305973 A CN 201910305973A CN 110390389 A CN110390389 A CN 110390389A
Authority
CN
China
Prior art keywords
input
output
neural network
output module
node
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.)
Pending
Application number
CN201910305973.9A
Other languages
English (en)
Inventor
M·C·蒙特亚努
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.)
Quick Map Co Ltd
Original Assignee
Quick Map 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 Quick Map Co Ltd filed Critical Quick Map Co Ltd
Publication of CN110390389A publication Critical patent/CN110390389A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • 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
    • 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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Nonlinear Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

本发明题为“神经网络引擎”。本发明公开了一种神经网络引擎,所述神经网络引擎包括多个浮点乘法器,每个浮点乘法器具有连接到输入映射值的输入以及连接到对应内核值的输入。乘法器对将输出提供给节点的树,所述树的每个节点被配置为提供与以下任一者相对应的浮点输出:所述节点的所述输入中的较大者;或所述输入的总和,所述树的一个输出节点提供输出模块的第一输入,并且所述乘法器之一将输出提供给所述输出模块的第二输入。所述引擎被配置为根据所述内核值以及所述节点和输出模块被配置为输出其输入的较大者还是其输入的总和,来处理神经网络的任一卷积层,即平均池化层或最大池化层。

Description

神经网络引擎
技术领域
本发明涉及神经网络引擎。
背景技术
图1中呈现了典型卷积神经网络(CNN)的处理流程。通常,CNN的输入是与来自图像的感兴趣区域(ROI)相对应的至少一个2D图像/映射10。图像/映射可仅包括图像强度值,例如来自YCC图像的Y平面;或图像/映射可包括来自图像的颜色平面的任何组合;或另选地或除此之外,图像/映射可包含从图像导出的值,诸如如PCT申请No.PCT/EP2015/073058(参考文献:FN-398)中所述的梯度直方图(HOG)映射或积分图像映射。
CNN处理包括两个阶段:
○特征提取(12)-卷积部分;和
○特征分类(14)。
CNN特征提取12通常包括多个处理层1…N,其中:
●每层包括卷积,之后是任选的子采样(池化);
●每层产生一个或(通常)多个映射(有时称为通道);
●每个卷积层后的映射的大小通常通过子采样来减小(子采样的示例是平均池化或最大池化);
●第一卷积层通常执行原始2D图像/映射的2D卷积以产生其输出映射,而后续卷积层使用前一层产生的输出映射作为输入来执行3D卷积。但是,如果输入包括例如此前从图像导出的多个映射;或多个颜色平面,例如图像的RGB或YCC;或图像的多个版本,则第一卷积层可以与连续层完全相同的方式操作,从而对输入图像/映射执行3D卷积。
图2示出了由图1的后续特征提取卷积层执行的具有3×3×3内核的示例性3D卷积。3×3×3意指使用了三个输入映射A、B、C,因此需要来自每个输入映射的3×3像素块来计算输出映射内的一个像素。
卷积内核还具有在CNN的训练阶段期间预计算的3×3×3=27值或权重。使用点积函数20将输入映射像素值的立方体16与卷积内核值18组合。在计算点积之后,应用激活函数22以提供输出像素值。激活函数22可包括简单分割(如通常在卷积时进行的),或更复杂的函数,诸如S型函数或如下形式的修正线性单元(ReLU)激活函数:yj=h(xj)=max(0,xj)(如通常在神经网络中使用)。
在这种情况下,对于使用单个输入图像/映射的2D卷积而言,将用3×3内核扫描输入图像/映射以产生对应输出映射的像素。
在诸如PCT申请No.PCT/EP2016/081776(参考文献:FN-481-PCT)中公开的CNN引擎内,处理器需要有效地实现执行诸如卷积层和池化层的不同层的处理所需的逻辑。
发明内容
根据本发明,提供了根据权利要求1所述的神经网络引擎。
本发明的实施方案结合了用于输出神经网络处理器中的池化或卷积层操作的浮点结果的模块。
通过共享这两种层类型所需的资源,神经网络引擎内的处理管道可保持简单,且逻辑门的数量尽可能低。
附图说明
现在将结合附图以举例的方式描述本发明的实施方案,在附图中:
图1示出了典型卷积神经网络(CNN);
图2示出了具有3×3×3内核的示例性3D卷积;
图3示出了典型浮点加法器;
图4示出了用于实现3×3卷积内核的树;
图5(a)和图5(b)示出了分别用于3×3平均和最大池化的树;
图6示出了根据本发明的一个实施方案的被配置用于实现卷积网络层的处理逻辑;
图7示出了被配置用于实现平均池化层的图6的处理逻辑;
图8示出了被配置用于实现最大池化层的图6的处理逻辑;
图9示出了常规ReLU激活函数;
图10示出了由本发明的一个实施方案实现的PReLU激活函数;
图11更详细地示出了具有用于实现图10的PReLU激活函数的接口的图6至图8的输出模块;
图12示出了常规PEAK操作;并且
图13示出了用于额外实现PEAK操作或两个并行2×2最大池化操作的图6至图8的处理逻辑的变体。
具体实施方式
浮点(FP)表示通常用于经CNN引擎处理的卷积内核权重和图像/映射值。适用于硬件CNN引擎实现的典型格式是16位、半精度浮点(IEEE 754-2008)。然而,可也使用8位FP表示,并且PCT申请No.PCT/EP2016/081776(参考文献:FN-481-PCT)公开了可如何将默认FP指数偏差更改为自定义值以免需要使用更高精度的FP格式。
图3示出了示例性常规16位FP(IEEE 754-2008)浮点加法器-很明显,该结构对于任何精度都是类似的。众所周知,这种加法器必须知道分别包括s1/exp1/m1和s2/exp2/m2的两个操作数中哪个更大以便对齐操作数的尾数。因此,所示的加法器包括比较器40,该比较器产生指示浮点操作数中哪个更大的二进制输出(O/P)。
继而使用这些操作数的符号位s1,s2通过多路复用器42在以下两个版本之间选择:根据从m2中减去exp2与exp1之差而移位的m1的版本;或m1加上m2的移位版本;并且通过多路复用器44在以下两个版本之间选择:根据从m1中减去exp2与exp1之差而移位的m2的版本;或m2加上m1的移位版本。现在根据比较器40的输出O/P来使用多路复用器46、48和50,多路复用器42或44任一者的输出被选择来生成加法器的输出的尾数,尾数的值还用于调节,无论多路复用器48选择exp1或exp2中的哪一个来生成加法器的输出的指数,而加法器的输出的符号被选择为s1或s2。
应当注意,该加法器仅出于示例性目的示出,并且本发明同样适用于任何等效的浮点加法器。
现在参见图4,可以看出,卷积层需要:实现浮点乘法器(30)的逻辑,实现图2所示的点积函数(20)的加法器逻辑(32)以及用于激活函数(22)的逻辑。应当注意,任何3D卷积层可分解成乘法器的更长链,于是在比所示更深的树中加上其乘积。因此,图2所示的3×3×3卷积可能需要27个乘法器。图4所示的逻辑因此可扩展到处理将由给定CNN引擎执行的最大卷积形式,并且其中将执行更小或更简单的2D卷积,然后例如可将内核内的所选无效权重归零。
单独地,图5(a)示出了平均池化层需要:加法器(34)以及用于实现乘以1/内核大小的逻辑(36);而图5(b)示出了最大池化层需要比较器(38)。
观察图4和图5的树,可以看出,加法器(32、34)和比较器(38)树具有类似结构,其中树中的每个节点分别产生其输入的总和或其输入的最大值。
还可以看出,任何浮点加法器(诸如图3的加法器)已经包括用于确定其操作数中哪个更大的比较器电路40。因此,在采用很少附加配置电路的情况下,任何此类加法器可转换为基于单个控制输入来选择馈送到比较器的是其输入操作数的总和(和正常情况一样)还是操作数中的较大者。产生这些结果的逻辑路径是单独的,因此该功能可在不影响加法器的时序的情况下实现。
现在参见图6,示出了根据本发明的一个实施方案的电路70,该电路用于使CNN引擎能够处理神经网络的卷积、最大池化或平均池化层。电路70包括常规浮点乘法器30(诸如图4所示)的第一层。现在并不提供如图4所示的浮点加法器节点32的树,而是提供可配置节点的树32’,这些节点可被设定为根据Op_sel控制输入的值来产生其输入的总和或其输入的最大值。
在该实施方案中,树32’中的最终节点的输出和乘法器32之一的输出分别作为In0和In1馈送到输出模块60。
电路70被配置为以多种不同模式操作:
在图6中,树32’被配置用于通过使这些节点执行相加来进行3×3 2D卷积,即,Op_sel被设定为指示相加并且馈送到每个节点。在通过树32’馈送到输出模块60之前,根据需要将此时经过训练的内核权重值18与输入图像/映射值16(通常围绕与乘法器30中的in11相对应的给定像素)组合。激活函数使信号能够馈送到输出模块60,并且这将引起输出模块60在为输入图像/映射的给定像素提供卷积输出之前,将所需的激活函数应用于根据Op_sel的值确定的对In0和In1的操作(在这种情况下为相加)的结果,如下文将更详细解释。
图7示出了相同的树32’可被配置用于通过以下方式进行平均池化:将内核中的权重值18设定为1/9,其中9是内核中的(有效)单元数,并且树32’中具有被配置为执行相加的节点。在这种情况下,输出模块60仅仅需要根据Op_sel的值来将In0和In1相加以提供其输出。因此,仅需要将未激活函数(或简单恒等函数)应用于In0、In1的操作结果。
最后,图8示出了相同的树32’可被配置用于通过以下方式进行最大池化:将内核中的(有效)权重值18设定为1,并且树32’中具有仅被配置为比较器的节点以产生其操作数的最大值。在这种情况下,输出模块60仅仅需要根据Op_sel的值将In0和In1中的较大者选择为其输出。同样,仅需要将未激活函数(或简单恒等函数)应用于In0、In1的操作结果。
同样,此处呈现的树仅是3×3内核的一个示例。可易于实现其他内核大小。
正如所指示的,卷积需要激活函数22应用于输入图像/映射值16和权重内核值18的点积20。目前,最常用的激活函数是恒等函数(即,应用未激活函数)ReLU和PReLU。
如图9所示,ReLU(修正线性单元,这是一种十分简单的函数)定义如下:
ReLU(x)=x,其中x>0
ReLU(x)=0,其中x<=0
PReLU(参数化的ReLU,这是一种更一般形式的ReLU函数)定义如下:
pReLU(x)=x,其中x>0
pReLU(x)=x/slope_coef,其中x<=0
本发明的一些实施方案并未采用精确的斜率,而是仅使用值为二的幂的斜率。虽然此类斜率可用作指定斜率的近似值,但如果使用被逼近的PReLU函数来训练网络,而不是在训练之后逼近PReLU函数,则该方法效果最好。
在任何情况下,这种近似值需要两个输入:
●Coef-斜率系数的对数
●PSlope-指示该斜率为负还是正的标志。
因此,参见图10,PReLU函数变为:
pReLU(x)=x,其中x>0
pReLU(x)=x/(2^Coef),其中x<=0且PSlope=0
pReLU(x)=-x/(2^Coef),其中x<=0且PSlope=1
观察被逼近的PReLU激活函数,可以看出,其仅需要修改输入的指数。
现在参见图11并且基于上文所讨论的观察值和近似值,输出模块60可根据需要实现相加、最大值、ReLU和PReLU函数。Op_sel输入用于在两个操作数In0和In1的相加或最大值之间选择。
激活输入可具有两位,并且可在如表1所示的三种激活类型之间选择。因此应当理解,可尤其通过增加控制位数来添加一个或多个激活函数。
表1
对于PReLU而言,可用4位对这些系数进行编码,从而表示系数的对数:
4位PReLU Coef PReLU斜率系数
0000 1
0001 2
0010 4
1111 2^15
输出模块60可利用浮点数管道,通过从In0和In1之和(或可能这两个值中的较大者,如下文将解释)的FP16指数值中减去4位PReLU系数指令字段值来进行除以二的幂的系数。
使用该方案,恒等激活函数可被实现为PSlope=0且Coef=0000的PReLU形式,从而使激活输入能够用具有设置ReLU=0或PReLU=1的单个二进制激活输入来定义,因此图10所示的PReLU函数可修改如下:
pReLU(x)=x,其中x>0
pReLU(x)=(x/(2^Coef),其中x<=0且PSlope=0)*激活输入
pReLU(x)=(-x/(2^Coef),其中x<=0且PSlope=1)*激活输入,
因此使该函数能够在单个管道中实现。
低于正常/无穷大的特例可通过以如下方式实现PReLU激活函数的逻辑来处理:
●如果输入为负、NaN或无穷大,则将输入值传递到输出而不作改变;
●如果结果为低于正常,则将结果压制到0。
应当理解,通常,在处理卷积层时将仅使用除恒等函数之外的激活函数。然而,使用诸如图11所示具有配置控制的输出模块60时,也可以将非线性激活函数应用于池化结果。虽然不常见,但该选项在一些情况下可为有用的。
现在参见图12,可结合在网络内的另外一种形式的层可涉及检测图像/映射内的峰值。PEAK操作使用M×N窗口(图12中为4×4)以给定步长(例如1)按照光栅顺序扫描源图像/映射,并且产生包含所找到的峰值列表的映射-峰值是数值严格大于窗口中的任何周围元素的图像/映射元素。
参见图13,实现PEAK操作同样需要树32’的节点被配置为比较器,这与最大池化的情况一样。唯一条件是使M×N窗口的中间元素(对应于待处理的图像/映射的像素位置)连接到乘法器,该乘法器的输出直接馈送到输出模块60’的In1,即,在图13所示的示例中,in11和in22被交换。输出模块60’现在产生两个输出,一个输出指示峰值(就最大池化而言),并且第二输出指示In1是否大于In0,即,In1是否为有效峰值。
提供该第二输出的一种方式是让第二输出包括指示最大操作数的二进制值,例如In0为0或In0为1。这种输出可也应用于除PEAK之外的函数。
在更进一步的变体中,还可以让树32’同时提供两个池化操作的结果。在图13的示例中,树32’并行产生两个2×2最大池化操作。在这种情况下,从树的倒数第二级中的两个加法器32(1)、32(2)获取输出。如果需要,可也通过激活函数馈送这些输出,但在任何情况下,这都可使池化操作的步长增加,从而减少图像/映射的处理时间。同样,这可能需要输入图像/映射值的重组,从而经由乘法器30将来自图像值16的所需2×2子窗口馈送到树32’的适当节点。
还可以看出,图13所示的2×2池化方法可适于通过将权重值18设定为1/4并且将树32’的节点配置用于求和来提供平均池化。
应当理解,在仅将处理用于2D或3D卷积或池化的特定大小的窗口的情况下,从输入图像/映射和内核值16、18到乘法器30的连接可为硬接线的。然而,在窗口大小可有所改变的情况下,则尤其是对于峰值层处理和子窗口池化而言,多路复用器电路(未示出)将需要插置在引擎的输入16、18与乘法器30之间。
上述实施方案可用基本浮点加法器的多个变体实现:
●输出模块60、60’内使用的正常FP加法器;
●输出模块60、60’内使用的具有激活函数的FP加法器;
●树32’内使用的组合的加法器和最大值;以及
●输出模块60、60’内使用的具有激活函数的组合的加法器和最大值。
使用加法器的这些变体时,常用引擎(诸如PCT申请No.PCT/EP2016/081776(参考文献:FN-481-PCT)中公开的CNN引擎)可被重新配置用于卷积、池化或峰值操作,且与独立地实现任何给定层相比较,只有最少的额外逻辑。

Claims (8)

1.一种神经网络引擎,所述神经网络引擎被配置为接收与输入映射的像素相对应的浮点数值的至少一个M×N窗口以及神经网络层的M×N浮点数内核值的对应至少一个集合,所述神经网络引擎包括:多个至少M×N浮点乘法器,每个乘法器具有被配置为连接到输入映射值的第一操作数输入,以及被配置为连接到对应内核值的第二操作数输入;
所述M×N乘法器内的乘法器对,所述乘法器对将相应浮点数输出提供给节点的树的相应输入节点,所述树的每个节点被配置为提供与以下任一者相对应的浮点数输出:所述节点的所述输入中的较大者;或所述输入的总和,所述树的一个输出节点提供输出模块的第一输入,并且所述M×N乘法器之一将输出提供给所述输出模块的第二输入;
其中当所述引擎被配置为处理神经网络的卷积层时,所述内核值中的每一者包括所述层的训练值,所述节点被配置为对其输入进行求和,并且所述输出模块被配置为对其第一输入和第二输入进行求和,将激活函数应用于所述总和并且提供所述激活函数的输出作为所述输出模块的输出;
其中当所述引擎被配置为处理神经网络的平均池化层时,所述内核值中的每一者包括对应于1/(M×N)的值,所述节点被配置为对其输入进行求和,并且所述输出模块被配置为对其第一输入和第二输入进行求和并且提供所述总和作为所述输出模块的所述输出;并且
其中当所述引擎被配置为处理神经网络的最大池化层时,所述内核值中的每一者包括等于1的值,所述节点被配置为输出其输入中的较大者,并且所述输出模块被配置为输出其第一输入和第二输入中的较大者作为所述输出模块的所述输出。
2.根据权利要求1所述的神经网络引擎,其中所述激活函数是如下的一者:恒等函数、ReLU函数或PReLU函数。
3.根据权利要求1所述的神经网络引擎,其中所述激活函数由二进制斜率参数和斜率系数定义。
4.根据权利要求3所述的神经网络引擎,其中所述激活函数PReLU(x)定义如下:
PReLU(x)=x,其中x>0
PReLU(x)=x/(2^Coef),其中x<=0且PSlope=0
PReLU(x)=-x/(2^Coef),其中x<=0且PSlope=1,
其中Coef是所述斜率系数,并且PSlope是所述二进制斜率参数。
5.根据权利要求4所述的神经网络引擎,其中所述引擎被配置为通过仅修改所述输入x的所述指数来实现所述激活函数。
6.根据权利要求1所述的神经网络引擎,其中当所述引擎被配置为处理神经网络的寻峰层时,所述内核值中的每一者包括等于1的值,所述节点被配置为输出其输入中的较大者,并且所述输出模块被配置为输出其第一输入和第二输入中的较大者作为所述输出模块的所述输出,并且其中所述引擎被配置为从与所述像素相对应的所述M×N窗口内提供图像值作为所述M×N乘法器中的所述一者的输入,从而将其输出提供给所述输出模块的所述第二输入。
7.根据权利要求6所述的神经网络引擎,其中所述输出模块被配置为提供第二输出,所述第二输出指示所述输出模块第二输入是否大于所述输出模块第一输入。
8.根据权利要求1所述的神经网络引擎,其中所述引擎被进一步配置为从所述树的倒数第二节点提供多个输出,以使得当所述引擎被配置为处理池化层时,所述引擎同时为所述M×N窗口的相应子窗口提供多个池化结果。
CN201910305973.9A 2018-04-17 2019-04-16 神经网络引擎 Pending CN110390389A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/955,426 2018-04-17
US15/955,426 US10558430B2 (en) 2018-04-17 2018-04-17 Neural network engine

Publications (1)

Publication Number Publication Date
CN110390389A true CN110390389A (zh) 2019-10-29

Family

ID=65635541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910305973.9A Pending CN110390389A (zh) 2018-04-17 2019-04-16 神经网络引擎

Country Status (3)

Country Link
US (2) US10558430B2 (zh)
EP (1) EP3557486A1 (zh)
CN (1) CN110390389A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537860B2 (en) * 2020-03-23 2022-12-27 Arm Limited Neural net work processing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170221176A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited Convolutional neural network
CN107273090A (zh) * 2017-05-05 2017-10-20 中国科学院计算技术研究所 面向神经网络处理器的近似浮点乘法器及浮点数乘法
CN107403221A (zh) * 2016-05-03 2017-11-28 想象技术有限公司 卷积神经网络的硬件实现
CN107657263A (zh) * 2016-08-12 2018-02-02 北京深鉴科技有限公司 一种用于实现ann的深度处理单元
US9892344B1 (en) * 2015-11-30 2018-02-13 A9.Com, Inc. Activation layers for deep learning networks
WO2018035508A1 (en) * 2016-08-19 2018-02-22 Linear Algebra Technologies Limited Path planning using sparse volumetric data
CN107862374A (zh) * 2017-10-30 2018-03-30 中国科学院计算技术研究所 基于流水线的神经网络处理系统和处理方法
CN107871163A (zh) * 2016-09-28 2018-04-03 爱思开海力士有限公司 用于卷积神经网络的操作装置及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157751A (en) 1997-12-30 2000-12-05 Cognex Corporation Method and apparatus for interleaving a parallel image processing memory
FR3015068B1 (fr) 2013-12-18 2016-01-01 Commissariat Energie Atomique Module de traitement du signal, notamment pour reseau de neurones et circuit neuronal
EP3058510B1 (en) 2014-11-28 2017-12-20 FotoNation Limited A method for producing a histogram of oriented gradients
KR102325602B1 (ko) * 2015-07-06 2021-11-12 삼성전자주식회사 데이터를 병렬적으로 처리하는 장치 및 방법
WO2017129325A1 (en) 2016-01-29 2017-08-03 Fotonation Limited A convolutional neural network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9892344B1 (en) * 2015-11-30 2018-02-13 A9.Com, Inc. Activation layers for deep learning networks
US20170221176A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited Convolutional neural network
CN107403221A (zh) * 2016-05-03 2017-11-28 想象技术有限公司 卷积神经网络的硬件实现
CN107657263A (zh) * 2016-08-12 2018-02-02 北京深鉴科技有限公司 一种用于实现ann的深度处理单元
WO2018035508A1 (en) * 2016-08-19 2018-02-22 Linear Algebra Technologies Limited Path planning using sparse volumetric data
CN107871163A (zh) * 2016-09-28 2018-04-03 爱思开海力士有限公司 用于卷积神经网络的操作装置及方法
CN107273090A (zh) * 2017-05-05 2017-10-20 中国科学院计算技术研究所 面向神经网络处理器的近似浮点乘法器及浮点数乘法
CN107862374A (zh) * 2017-10-30 2018-03-30 中国科学院计算技术研究所 基于流水线的神经网络处理系统和处理方法

Also Published As

Publication number Publication date
US10776076B2 (en) 2020-09-15
US10558430B2 (en) 2020-02-11
US20190317730A1 (en) 2019-10-17
EP3557486A1 (en) 2019-10-23
US20200249911A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
Golts et al. Unsupervised single image dehazing using dark channel prior loss
CN112288658B (zh) 一种基于多残差联合学习的水下图像增强方法
CN106796668B (zh) 用于人工神经网络中比特深度减少的方法和系统
Faraone et al. Syq: Learning symmetric quantization for efficient deep neural networks
Liu et al. Bi-real net: Enhancing the performance of 1-bit cnns with improved representational capability and advanced training algorithm
US10096134B2 (en) Data compaction and memory bandwidth reduction for sparse neural networks
Huang et al. Underwater image enhancement via adaptive group attention-based multiscale cascade transformer
WO2017157112A1 (en) Method and system for bit-depth reduction in artificial neural networks
CN114067153B (zh) 基于并行双注意力轻量残差网络的图像分类方法及系统
CN109509248B (zh) 一种基于神经网络的光子映射渲染方法和系统
CN112529146B (zh) 神经网络模型训练的方法和装置
CN107766936A (zh) 人造神经网络、人造神经元及人造神经元的控制方法
US11275966B2 (en) Calculation method using pixel-channel shuffle convolutional neural network and operating system using the same
CN110059815B (zh) 人工智能推理计算设备
CN113743417B (zh) 语义分割方法和语义分割装置
US11967043B2 (en) Gaming super resolution
Huang et al. A deterministic low-complexity approximate (multiplier-less) technique for DCT computation
CN113034391B (zh) 一种多模式融合水下图像增强方法、系统及应用
Dengpan et al. Faster and transferable deep learning steganalysis on GPU
CN110390389A (zh) 神经网络引擎
Gao et al. Atmospheric Scattering Model Induced Statistical Characteristics Estimation for Underwater Image Restoration
Zhou et al. Vspsr: Explorable super-resolution via variational sparse representation
Shan et al. A coarse-to-fine framework for learned color enhancement with non-local attention
Shirakawa et al. Genetic image network for image classification
US11934327B2 (en) Systems and methods for hardware acceleration of data masking using a field programmable gate array

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