【技术实现步骤摘要】
在硬件中执行平均池化
[0001]本申请是申请日为2017年9月29日、申请号为201710903739.7、专利技术 名称为“在硬件中执行平均池化”的中国专利技术专利申请的分案申请。
[0002]本说明书涉及在硬件中计算神经网络推断。
技术介绍
[0003]神经网络是机器学习模型,其采用一层或多层来为所接收的输入生成输 出,例如分类。除了输出层之外,一些神经网络还包括一个或多个隐藏层。 每个隐藏层的输出用作网络中下一层(即网络的下一个隐藏层或输出层)的 输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。
技术实现思路
[0004]总体来说,本说明书描述了计算神经网络推断的专用硬件电路。
[0005]总体来说,本说明书中描述的主题的一个创新性方面包括一种用于处理 神经网络的平均池化神经网络层的硬件电路,所述硬件电路被配置为通 过执行包括以下的操作来处理平均池化神经网络层:
[0006]从硬件电路的存储器的第一部分向硬件电路的矩阵乘法电路发送到 平均池化神经网络层的输入张量,其中矩阵乘法电路被配置为生成对应 于平均池化神经网络层的输出的张量;
[0007]从硬件电路的存储器的第二部分向硬件电路的矩阵乘法电路发送核; 和
[0008]由硬件电路的矩阵乘法电路从所述到平均池化神经网络层的输入张 量生成所述对应于平均池化神经网络层的输出的张量,所述生成包括:
[0009]由硬件电路的矩阵乘法电路执行所述输入张量和核的卷积以生成第 一张量,其中所述核 ...
【技术保护点】
【技术特征摘要】
1.一种用于处理神经网络的平均池化神经网络层的硬件电路,所述硬件电路被配置为通过执行包括以下的操作来处理平均池化神经网络层:从硬件电路的存储器的第一部分向硬件电路的矩阵乘法电路发送到平均池化神经网络层的输入张量,其中矩阵乘法电路被配置为生成对应于平均池化神经网络层的输出的张量;从硬件电路的存储器的第二部分向硬件电路的矩阵乘法电路发送核;和由硬件电路的矩阵乘法电路从所述到平均池化神经网络层的输入张量生成所述对应于平均池化神经网络层的输出的张量,所述生成包括:由硬件电路的矩阵乘法电路执行所述输入张量和核的卷积以生成第一张量,其中所述核具有等于平均池化神经网络层的窗口的大小的大小、并且由每个都是单位矩阵的元素组成,以及其中所述卷积的至少部分是在不必将数据传递出硬件电路的情况下执行的,从而允许在不修改硬件电路的情况下确定神经网络的平均池化神经网络层的推断、并避免由于在硬件电路之外执行所述卷积的部分而导致的处理延迟;由硬件电路的矩阵乘法电路执行第一张量和第一掩码张量的按元素相乘以生成第二张量,其中第一掩码张量的每个元素是基于所述输入张量的、被平均以生成所述对应于平均池化神经网络层的输出的张量的对应元素的元素的数量确定的重新缩放因子;和由硬件电路的矩阵乘法电路执行第二张量和第二掩码张量的按元素相乘以生成所述对应于平均池化神经网络层的输出的张量,其中第二掩码张量的每个元素是第一掩码张量的、各自是重新缩放因子的元素的公分母的倒数,所述重新缩放因子是基于输入张量的、被平均以生成所述对应于平均池化神经网络层的输出的张量的对应元素的元素的数量确定的。2.根据权利要求1所述的硬件电路,其中所述输入张量是初始输入张量的零填充版本,并且其中第一掩码张量的每个元素是基于所述初始输入张量的、被平均以生成所述对应于平均池化神经网络层的输出的张量的对应元素的元素的数量确定的重新缩放因子。3.根据权利要求2所述的硬件电路,其中所述初始输入张量的零填充版本是初始输入张量的对于初始输入张量的每一行和每一列包括一个或多个前置零和后补零的版本,其中前置零和后补零的数量至少基于平均池化神经网络层的窗口大小来确定。4.根据权利要求1所述的硬件电路,其中第一张量的元素的位分辨率高于第二张量的元素的位分辨率。5.根据权利要求1所述的硬件电路,其中第一掩码张量的大小和第二掩码张量的大小各自至少基于所述输入张量的大小来确定。6.根据权利要求1所述的硬件电路,其中第一掩码张量和第二掩码张量中的每一个包括一个或多个掩码张量片段,所述一个或多个掩码张量片段被平铺以生成掩码张量。7.根据权利要求1所述的硬件电路,其中,所述存储器的第一部分是所述硬件电路的统一缓冲器,并且所述存储器的第二部分是所述硬件电路的动态存储器。8.根据权利要求1所述的硬件电路,其中输入张量和核的卷积以生成第一张量、第一张量和第一掩码张量的按元素相乘以生成第二张量、以及第二张量和第二掩码张量的按元素相乘以生成所述对应于平均池化神经网络层的输出的张量当中的每一项被执行为定点运算。
9.根据权利要求1所述的硬件电路,其中,为了执行输入张量和核的卷积以生成第一张量,硬件电路的矩阵乘法电路被配置为:在硬件电路的矩阵乘法电路的一个或多个单元处接收输入张量的元素;在硬件电路的矩阵乘法电路的所述一个或多个单元处接收核的权重;在硬件电路的矩阵乘法电路的所述一个或多个单元处处理接收的输入张量的元素和接收的核的权重;和将处理结果输出到硬件电路的矩阵乘法电路的一个或多个累加器。10.根据权利要求9所述的硬件电路,其中硬件电路的矩阵乘法电路的每个单元包括:激活寄存器,被配置为接收输入张量的元素;权重寄存器,被配置为接收核的权重;和乘法电路,被配置为将输入张量的元素与核的权重相乘。11.根据权利要求1所述的硬件电路,其中,为了执行第一张量和第一掩码张量的按元素相乘以生成第二张量,硬件电路的矩阵乘法电路被配置为:执行第一张量和单位矩阵的矩阵乘法以...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。