能够后向传播的脉动神经网络引擎制造技术

技术编号:24179301 阅读:40 留言:0更新日期:2020-05-16 05:53
公开了一种计算机处理方法,包括在神经网络的处理节点接收数据分组,在处理节点进行数据分组的计算以创建经处理的数据分组,将标记附加到经处理的数据分组,在脉动脉冲期间将经处理的数据分组从处理节点发送到接收节点,在接收节点接收经处理的数据分组,对经处理的数据分组进行顺时针卷积并对经处理的数据分组进行逆时针卷积,进行加法函数并将进行的sigmoid函数的结果后向传播到最初处理数据分组的每个处理节点。

【技术实现步骤摘要】
【国外来华专利技术】能够后向传播的脉动神经网络引擎相关申请的交叉引用本申请要求2018年5月16提交的美国专利申请No.15/981,664的权益,该美国专利申请要求2018年2月8日提交的美国专利申请No.62/628,076和2018年2月8日提交的美国专利申请No.62/627,957的权益,这些美国专利申请的全部公开内容通过引用合并于此。
本文公开的系统和方法涉及计算机处理器,更特别地,涉及能够进行前向传播和后向传播的脉动机器学习处理器。
技术介绍
计算机学习模型可以处理大量数据。例如,模型可以实现为人工神经网络。人工神经网络在这种意义上是人工的,它们是受生物神经网络启发但被修改以由计算装置实现的计算实体。人工神经网络能够在称为训练的过程期间改变其结构,在此过程中,网络暴露于成对的输入数据和预期输出,并对其内部参数进行调整,以便在提供对应的输入时能够预测预期的输出。一旦经过训练,神经网络就可以用于推断(inference),即通过提供新的输入数据来预测对应的输出。可以在称为训练的过程中设置神经网络的参数。例如,可以使用训练数据对神经网络进行训练,该训练数据包括输入数据以及对应的输入数据的模型的正确或优选输出。可以通过使用输入矩阵而不是单个输入向量同时处理单独输入向量的集合(“迷你批次(mini-batch)”),这可以加快训练速度。神经网络可以重复处理输入数据,并且可以修改神经网络的参数(例如权重矩阵),这相当于试错过程,直到模型产生(或“收敛”到)正确或优选的输出为止。权重值的修改可以通过被称为“后向传播”的过程来进行。后向传播包括确定预期模型输出与获得的模型输出之间的差异,然后确定如何修改模型的一些或全部参数的值以减小预期模型输出与获得的模型输出之间的差异。附图说明在所有附图中,附图标记可以被重复使用以指示引用的元件之间的对应关系。提供附图是为了说明本文描述的示例实施例,而无意于限制本公开的范围。图1是根据一些实施例的人工神经网络的示意图。图2绘示了根据一些实施例的由图1的神经网络的节点进行的示例计算。图3是根据一些实施例的如本文所述的脉动神经网络引擎的实施例的框图。图4A-4C绘示了根据一些实施例的通过图3的脉动神经网络引擎的脉动脉冲的实施例,脉动脉冲对应于通过图1的神经网络的隐藏层的节点的数据。图5是根据一些实施例的配置为用于进行顺时针和逆时针卷积的图3的脉动神经网络引擎的DPU的图示。图6A绘示了根据一些实施例的通过神经网络的后向传播。图6B至6E绘示了根据一些实施例的表示由图3的脉动神经网络引擎实现的前向传播和后向传播的图示。图6F示出了基于批次的后向传播的图示。图7是根据一些实施例的在通过图3的脉动神经网络引擎的后向传播期间使用的标记的图示。图8A是根据一些实施例的通过图3的脉动神经网络引擎的后向传播的另一图示。图8B示出了根据一些实施例的通过图3的脉动神经网络引擎的前向和后向传播的流程图。图9是根据一些实施例的由图3的脉动神经网络引擎的DPU在前向传播期间针对顺时针和逆时针卷积进行的计算的示意图。图10是根据一些实施例的针对图3的脉动神经网络引擎的DPU的后向传播中的累加求和的图示。图11A是根据一些实施例的在Time=0时根据示例实施例的通过图3的脉动神经网络引擎的一部分在前向传播期间的数据分组处理的图示。图11B是根据一些实施例的在Time=1时的数据分组处理的图示。图11C是根据一些实施例的在Time=2时根据示例实施例的前向传播中的数据分组处理的图示。图11D是根据一些实施例的在Time=3时根据示例实施例的前向传播中的数据分组处理的图示。图11E是根据一些实施例的在Time=4时根据示例实施例的前向传播中的数据分组处理的图示。图11F是根据一些实施例的在Time=5时根据示例实施例的前向传播中的数据分组处理的图示。图11G绘示了根据一些实施例的根据示例实施例的用于以脉动性质处理数据分组的脉动神经网络引擎的流程图。图11H绘示了根据一些实施例的根据示例实施例的用于进行基于反馈的卷积引擎的脉动神经网络引擎的流程图。图12是根据一些实施例的具有激活输入和激活输出的脉动流引擎核心的图示。图13是根据一些实施例的具有单个输入布置的脉动流引擎接口系统的图示。图14是根据一些实施例的具有激活输入、激活输出、偏差输入和偏差输出的脉动流引擎的图示。图15是根据一些实施例的具有多个连接的脉动流引擎和接口系统的图示。图16是根据一些实施例的在硬盘驱动器中使用的脉动流引擎的图示。图17是根据一些实施例的在固态驱动器中使用的脉动流引擎的图示。图18是根据一些实施例的在具有卡接口的固态驱动器中使用的脉动流引擎的图示。图19是根据一些实施例的在存储级存储器中使用的脉动流引擎的图示。图20绘示了根据一些实施例的多核心脉动流引擎的实施例。图21示出了根据一些实施例的裸芯中的层的重新目的化的流程图。图22示出了根据一些实施例的为脉动神经网络引擎实现多个裸芯的流程图。图23示出了根据一些实施例的为具有反馈回路的脉动神经网络引擎实现多个裸芯的流程图。具体实施方式本公开的系统、方法和装置各自具有若干创新方面,其中没有一个单独地对本文公开的所有期望属性负责。一些实施例包括用于进行神经网络的计算的装置,该神经网络包括至少第一层和第二层,该装置包括:配置为进行神经网络的第一层的第一节点的计算的第一处理单元,该第一处理单元包括:第一输入脉动元件、配置为从第一输入脉动元件接收数据并根据第一节点进行处理以生成第一激活输出的第一处理电路;以及配置为从第一处理电路接收第一激活输出的第一输出脉动元件;以及配置为进行神经网络的第二层的第二节点的计算的第二处理单元,其中第二处理单元包括第二输入脉动元件,其中第一输出脉动元件还配置为向第二输入脉动元件脉动地脉冲第一激活输出。在任一前述段落的装置和/或本文所公开的任一装置还可以包括第三处理单元,其配置为进行神经网络的第一层的第三节点的计算,第三处理单元包括第二输出脉动元件,其中第一输出脉动元件在第一脉动脉冲期间向第二输入脉动元件脉动地脉冲第一激活输出,且其中第一输出脉动元件还配置为在第一脉动脉冲期间向第二输出脉动元件脉动地脉冲第一激活输出。在任一前述段落的装置和/或本文所公开的任一装置中,第二输出脉动元件还可以配置为在第一脉动脉冲期间向第一输出脉动元件脉动地脉冲第二激活输出。在任一前述段落的装置和/或本文所公开的任一装置还可以包括第三处理单元,其配置为进行神经网络的第二层的第三节点的计算,第三处理单元包括第三输入脉动元件,其中第二输出脉动元件配置为向第三输入脉动元件脉动地脉冲第一激活输出。在任一前述段落的装置和/或本文所公开的任一装置当可以包括包含第一处理单元的第一多个处理单元的本文档来自技高网...

【技术保护点】
1.一种经由后向传播进行神经网络的训练的装置,所述装置包括:/n存储器,配置为存储输入值和对应的预期输出值;/n至少一个附加的存储器,配置为存储与所述神经网络的节点之间的连接对应的权重;以及/n多个处理单元,配置为根据所述神经网络的特定节点进行计算;/n其中所述多个处理单元配置为对所述输入值通过所述神经网络的层的前向传播进行计算,以至少由所述多个处理单元中的特定处理单元生成预测输出值:/n接收输入数据;/n使用所述权重中的一个或多个来处理所述输入数据以生成激活输出;以及/n生成输出数据,所述输出数据包含所述激活输出和标识所述特定处理单元的标记;并且/n其中所述多个处理节点配置为至少部分地基于所述特定处理单元的标记对所述预期输出值和所述预测输出值中的对应的预测输出值之间的差的后向传播进行计算,其中所述后向传播更新所述权重。/n

【技术特征摘要】
【国外来华专利技术】20180208 US 62/627,957;20180208 US 62/628,076;20181.一种经由后向传播进行神经网络的训练的装置,所述装置包括:
存储器,配置为存储输入值和对应的预期输出值;
至少一个附加的存储器,配置为存储与所述神经网络的节点之间的连接对应的权重;以及
多个处理单元,配置为根据所述神经网络的特定节点进行计算;
其中所述多个处理单元配置为对所述输入值通过所述神经网络的层的前向传播进行计算,以至少由所述多个处理单元中的特定处理单元生成预测输出值:
接收输入数据;
使用所述权重中的一个或多个来处理所述输入数据以生成激活输出;以及
生成输出数据,所述输出数据包含所述激活输出和标识所述特定处理单元的标记;并且
其中所述多个处理节点配置为至少部分地基于所述特定处理单元的标记对所述预期输出值和所述预测输出值中的对应的预测输出值之间的差的后向传播进行计算,其中所述后向传播更新所述权重。


2.如权利要求1所述的装置,其中所述装置包括脉动处理器芯片,且其中所述多个处理单元包括嵌入所述脉动处理器芯片的电路。


3.如权利要求1至2中任一项所述的装置,其中所述多个处理单元的特定子组形成脉动阵列的特定布置,其中所述脉动阵列的特定布置被分配到所述神经网络的特定层。


4.如权利要求3所述的装置,其中所述脉动阵列的第一处理单元的第一布置配置为在所述前向传播期间向所述脉动阵列的第二布置脉动地脉冲由所述第一处理单元输出的值。


5.如权利要求4所述的装置,其中所述第一处理单元配置为在所述后向传播期间基于从所述第二布置接收的值来累加偏导数。


6.如权利要求2至5中任一项所述的装置,其中所述脉动处理器芯片配置为:
在所述前向传播期间在第一方向上脉动地脉冲数据通过所述多个处理单元,以及
在所述后向传播期间在第二方向上脉动地脉冲数据通过所述多个处理单元,其中所述第二方向与所述第一方向相反。


7.如权利要求1至6中任一项所述的装置,其中存储权重的所述至少一个附加的存储器包括对应的处理单元内的多个本地存储器。


8.如权利要求1至7中任一项所述的装置,其中存储权重的所述至少一个附加的存储器设置在所述多个处理单元的外部,且其中所述多个处理单元配置为从所述至少一个附加的存储器获取所述权重中的被标识的权重。


9.如权利要求1至8中任一项所述的装置,其中所述多个处理节点的特定处理单元包含配置为接收所述输入数据的输入脉动元件、配置为对所接收...

【专利技术属性】
技术研发人员:LM弗兰卡内托
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1