【技术实现步骤摘要】
【国外来华专利技术】用于神经网络处理器的预取权重
本说明书涉及在硬件上计算神经网络推理。
技术介绍
神经网络是机器学习模型,其采用一层或多层模型来为接收的输入生成输出,例如分类。除了输出层以外,一些神经网络包括一个以上的隐藏层。各个隐藏层的输出被用作网络中下一层的输入,即网络的下一隐藏层或者输出层。网络的各层根据相应组的参数的当前值,从接收的输入生成输出。一些神经网络包括一个或多个卷积神经网络层。各个卷积神经网络层具有相关的一组核。各个核包括通过用户创建的神经网络模型所建立的值。在一些实现中,核识别特定的图像轮廓、形状或颜色。核能够被表示为权重输入的矩阵结构。各个卷积层还可以处理一组激活输入。所述一组激活输入也能够被表示为矩阵结构。一些现有的系统在软件中对给定的卷积层进行计算。例如,软件能够将用于层的各个核应用到所述一组激活输入。即,对于各个核,软件能够将能够多维地表示的核覆盖在能够多维地表示的激活输入的第一部分上。软件然后能够从重叠的元素中计算点积。点积能够对应于单个的激活输入,例如在重叠的多维空间中具有上左方位置的激活输入元素。例如,使用滑动窗,软件然后能够将核转移为覆盖激活输入的第二部分,并且计算与另一激活输入对应的另一点积。软件能够重复地执行该过程,直到各个激活输入具有对应的点积。在一些实现中,点积被输入到生成激活值的激活函数。激活值能够在发送到神经网络的下一层之前被组合,例如被合并。卷积计算的一种计算方式需要在大尺寸空间中的大量矩阵乘法。处理器能够通过穷举法计算矩阵乘法。例如,尽管是计算密集型的和时间密集型的,但处理器可以重复计算用于卷积计算的各个总和及乘积。由于该 ...
【技术保护点】
一种用于对包括多个层的神经网络执行神经网络计算的电路,所述电路包括:脉动阵列,所述脉动阵列包括多个单元格;权重提取单元,对于所述多个神经网络层中的每个神经网络层,所述权重提取单元被配置为:对于该神经网络层,将多个权重输入发送到沿着所述脉动阵列的第一维度的单元格;以及多个权重定序器单元,每个所述权重定序器单元均耦合到沿着所述脉动阵列的所述第一维度的不同的单元格,对于所述多个神经网络层中的每个神经网络层,所述多个权重定序器单元被配置为:对于该神经网络层,在多个时钟周期中将所述多个权重输入转移到沿着所述脉动阵列的第二维度的单元格,其中各个权重输入被存储在沿着所述第二维度的相应的单元格内,并且其中各个所述单元格被配置为使用乘法电路来计算激活输入与相应的权重输入的乘积。
【技术特征摘要】
【国外来华专利技术】2015.05.21 US 62/164,981;2015.09.03 US 14/844,6701.一种用于对包括多个层的神经网络执行神经网络计算的电路,所述电路包括:脉动阵列,所述脉动阵列包括多个单元格;权重提取单元,对于所述多个神经网络层中的每个神经网络层,所述权重提取单元被配置为:对于该神经网络层,将多个权重输入发送到沿着所述脉动阵列的第一维度的单元格;以及多个权重定序器单元,每个所述权重定序器单元均耦合到沿着所述脉动阵列的所述第一维度的不同的单元格,对于所述多个神经网络层中的每个神经网络层,所述多个权重定序器单元被配置为:对于该神经网络层,在多个时钟周期中将所述多个权重输入转移到沿着所述脉动阵列的第二维度的单元格,其中各个权重输入被存储在沿着所述第二维度的相应的单元格内,并且其中各个所述单元格被配置为使用乘法电路来计算激活输入与相应的权重输入的乘积。2.根据权利要求1所述的电路,还包括:值定序器单元,对于所述多个神经网络层中的每个神经网络层,所述值定序器单元被配置为:对于该神经网络层,将多个激活输入发送到沿着所述脉动阵列的所述第二维度的单元格。3.根据权利要求1或2所述的电路,其中所述脉动阵列的所述第一维度对应于所述脉动阵列的行,并且其中所述脉动阵列的所述第二维度对应于所述脉动阵列的列。4.根据前述权利要求中的任意一项所述的电路,其中每个单元格被配置为将权重控制信号传递到相邻的单元格,所述权重控制信号使得相邻单元格中的电路为所述相邻单元格转移或加载权重输入。5.根据权利要求1至3中的任意一项所述的电路,其中各个单元格包括:权重路径寄存器,所述权重路径寄存器被配置为存储被转移到所述单元格的权重输入;权重寄存器,所述权重寄存器耦合到所述权重路径寄存器;权重控制寄存器,所述权重控制寄存器被配置为判定是否将所述权重输入存储在所述权重寄存器中;激活寄存器,所述激活寄存器被配置为存储激活输入,并且被配置为将所述激活输入发送到沿着所述第一维度的第一相邻单元格中的另一激活寄存器;乘法电路,所述乘法电路耦合到所述权重寄存器和所述激活寄存器,其中所述乘法电路被配置为输出所述权重输入与所述激活输入的乘积;加法电路,所述加法电路耦合到所述乘法电路,并且被配置为接收所述乘积以及来自沿着所述第二维度的第二相邻单元格的第一局部和,其中,所述加法电路被配置为输出所述乘积与所述第一局部和的第二局部和;以及局部和寄存器,所述局部和寄存器耦合到所述加法电路,并且被配置为存储所述第二局部和,所述局部和寄存器被配置为将所述第二局部和发送到沿着所述第二维度的第三相邻单元格中的另一加法电路。6.根据权利要求5所述的电路,其中,每个权重寄存器单元包括:暂停计数器,所述暂停计数器对应于耦合到所述权重定序器单元的对应单元格中的所述权重控制寄存器;以及递减电路,所述递减电路被配置为将到所述权重定序器单元的输入递减,以生成递减的输出,并且将所述递减的输出发送到所述暂停计数器。7.根据权利要求6所述的电路,其中,各个暂停计数器中的值是相同的,并且各个权重定序器单元被配置为将对应的权重输入加载到所述脉动阵列的对应的不同单元格,其中所述加载包括将所述权重输入发送到所述乘法电路。8.根据权利要求6所述的电路,其中各个暂停计数器中的值是不同的,并且各个权重定序器单元被配置为将对应的权重输入转移到沿着所述第二维度的相邻的权重定序器单元。9.根据权利要求6所述的电路,其中各个暂停计数器中的值达到预定值,以使所述多个权重定序器单元暂停多个权重输入沿着所述第二维度的转移。10....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。