【技术实现步骤摘要】
在硬件中执行核心跨越
本说明书涉及计算硬件中的神经网络推理。
技术介绍
神经网络是采用一层或多层为所接收的输入生成输出,例如分类的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出都被用作网络中另一层,例如网络的下一个隐藏层或输出层的输入。网络的每个层都根据相应参数集的当前值从所接收的输入生成输出。
技术实现思路
一般而言,本说明书描述了一种计算神经网络推理的专用硬件电路。一般而言,本说明书中所述的主题的一个创新方面能够被体现为用于接收在硬件电路上处理神经网络的请求的方法和系统,该神经网络包括具有大于1的步长的第一卷积神经网络层,并且作为响应产生指令,当被硬件电路执行时,该指令引起硬件电路在神经网络处理输入张量期间通过执行下列操作产生等效于第一卷积神经网络层的输出的层输出张量,这些操作包括使用具有等于1否则等效于第一卷积神经网络层的步长的第二卷积神经网络层处理对第一卷积神经网络层的输入张量以产生第一张量,将如果第二卷积神经网络层具有第一卷积神经网络层的步长则本就不会被生成的第一张量的元素归零以生成第二张量,以及在第二张量上执行最大池化以生成层输出张量。实施能够包括一个或多个下列特征。在一些实施中,将第一张量的元素归零包括将第一张量的元素子集乘以0,并且将该子集中未包括的第一张量的元素乘以1。将第一张量的元素归零包括执行掩蔽张量(maskingtensor)和第一张量的元素乘法(element-wisemultiplication)以生成第二张量,其中掩蔽张量包括(i)在对应于如果第二卷积神经网络层具有第一卷积神经网络层的步长则本 ...
【技术保护点】
一种方法,包括:接收在硬件电路上处理神经网络的请求,所述神经网络包括具有大于1的步长的第一卷积神经网络层;以及响应于接收到所述请求,产生指令,所述指令在被所述硬件电路执行时使所述硬件电路在所述神经网络处理输入张量期间通过执行下列操作产生等效于所述第一卷积神经网络层的输出的层输出张量:使用具有等于1否则等效于所述第一卷积神经网络层的步长的第二卷积神经网络层,处理对所述第一卷积神经网络层的所述输入张量,以产生第一张量;将如果所述第二卷积神经网络层具有所述第一卷积神经网络层的步长则本就不会被生成的所述第一张量的元素归零以生成第二张量;以及在所述第二张量上执行最大池化以生成所述层输出张量。
【技术特征摘要】
2016.11.10 US 15/348,199;2017.03.23 US 15/467,3821.一种方法,包括:接收在硬件电路上处理神经网络的请求,所述神经网络包括具有大于1的步长的第一卷积神经网络层;以及响应于接收到所述请求,产生指令,所述指令在被所述硬件电路执行时使所述硬件电路在所述神经网络处理输入张量期间通过执行下列操作产生等效于所述第一卷积神经网络层的输出的层输出张量:使用具有等于1否则等效于所述第一卷积神经网络层的步长的第二卷积神经网络层,处理对所述第一卷积神经网络层的所述输入张量,以产生第一张量;将如果所述第二卷积神经网络层具有所述第一卷积神经网络层的步长则本就不会被生成的所述第一张量的元素归零以生成第二张量;以及在所述第二张量上执行最大池化以生成所述层输出张量。2.根据权利要求1所述的方法,其中对所述第一张量的元素归零包括:将所述第一张量的元素的子集乘以0;以及将所述子集中未包括的所述第一张量的元素乘以1。3.根据权利要求1所述的方法,其中将所述第一张量的元素归零包括:执行掩蔽张量和所述第一张量的元素乘法以生成所述第二张量,其中所述掩蔽张量包括(i)在对应于如果所述第二卷积神经网络层具有所述第一卷积神经网络层的步长则本就不会被生成的所述第一张量的元素的所述掩蔽张量的每个元素位置处的零,和(ii)在所述掩蔽张量的每个其它元素位置处的1。4.根据权利要求3所述的方法,其中所述掩蔽张量被存储在可由所述硬件电路访问的存储器处,并且其中由在所述硬件电路中所包括的硬件中实施的向量计算单元执行所述掩蔽张量和所述第一张量的元素乘法。5.根据权利要求1所述的方法,其中对所述第一张量的元素归零包括:执行第一掩蔽张量和所述第一张量的元素乘法以生成修改的第一张量,其中所述第一掩蔽张量包括(i)在对应于如果所述第二卷积神经网络层具有所述第一卷积神经网络层的步长则本就不会被生成的所述第一张量的元素的所述第一掩蔽张量的每个元素位置处的零,和(ii)在对应于如果所述第二卷积神经网络层具有所述第一卷积神经网络层的步长将生成的所述第一张量的元素的所述第一掩蔽张量的每个元素位置处的相应的非零值;以及执行第二掩蔽张量和所述修改的第一张量的元素乘法,其中所述第二掩蔽张量在对应于如果所述第二卷积神经网络层具有所述第一卷积神经网络层的步长则本就会被生成的所述第一张量的元素的每个元素位置处都包括所述第一掩蔽张量的相应的非零值的逆。6.根据权利要求1所述的方法,其中执行最大池化包括对于由所述第一卷积神经网络层的步长限定的所述第二张量的一个或多个窗口中的每个窗口都获得处于所述窗口内的元素的最大值元素。7.根据权利要求6所述的方法,其中所述第二张量的一个或多个窗口中的每个窗口都为具有对应于所述第一卷积神经网络层的步长的尺寸的矩形窗口,并且包括所述第二张量的不同元素。8.根据权利要求1所述的方法,其中执行最大池化包括:对于所述第二张量的元素的一个或多个子集中的每个子集都获得该子集的最大值元素。9.根据权利要求1所述的方法,其中由所述硬件电路的池化电路执行在所述第二张量上执行的最大池化。10.根据权利要求1所述的方法,其中所述输入张量是包括对应于数字图像的像素的元素的所述数字图像的表示。11.根据权利要求1所述的方法,其中所述输入张量被存储在所述硬件电路的统一的缓冲器中,并且所述第二卷积神经网络层的权重被存储在所述硬件电路的动态存储器中,并且其中使用所述第二卷积神经网络层处理对所述第一卷积神经网络层...
【专利技术属性】
技术研发人员:雷吉纳尔德·克利福德·扬,威廉·约翰·格兰德,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。