以处理单元群组作为时间递归神经网络长短期记忆胞进行运作的神经网络单元制造技术

技术编号:15253804 阅读:110 留言:0更新日期:2017-05-02 19:27
输出缓冲器装载N个文字分配至N/J个互斥输出缓冲文字群组内。N个处理单元分配至N/J个相对应的互斥处理单元群组。处理单元包括第一与第二多任务缓存器,累加器与算术单元。多任务缓存器包括J+1个输入,其中的第一输入从存储器接收操作数,其它输入接收相对应输出缓冲文字群组的文字。累加器提供其输出至相对应输出缓冲文字群组。算术单元对各个多任务缓存器与累加器输出执行运算以产生结果累加至累加器。输出缓冲器包括屏蔽输入控制其中那些文字维持其原本数值或以其相对应累加器输出更新。处理单元群组作为时间递归神经网络的长短期记忆胞运作。

A neural network unit for processing a cell group as a time recursive neural network

The output buffer loads the N text assigned to the N/J mutex output buffer text group. The N processing units are assigned to N/J corresponding mutually exclusive processing cell groups. The first and the more than and 2 processing unit including task buffer, accumulator and arithmetic unit. The multi task buffer comprises a J+1 input, wherein the first input receives the operand from the memory, and the other input receives the text corresponding to the output buffer text group. The accumulator provides its output to the corresponding output buffered text group. An arithmetic unit performs operations on each of the plurality of task registers and accumulator outputs to produce a result accumulator. The output buffer includes a masked input control where the text maintains its original value or updates its corresponding accumulator output. Processing unit group as a time recursive neural network for short and long memory cells.

【技术实现步骤摘要】

本专利技术涉及一种处理器,特别涉及一种提升人工神经网络的运算效能与效率的处理器。本申请案主张下列的美国临时申请案的国际优先权。这些优先权案的全文并入本案以供参考。本申请案关联于下列同时提出申请的美国申请案。这些关联申请案的全文并入本案以供参考。
技术介绍
近年来,人工神经网络(artificialneuralnetworks,ANN)重新吸引了人们的注意。这些研究通常被称为深度学习(deeplearning)、计算机学习(computerlearning)等类似术语。通用处理器运算能力的提升也推升了人们在数十年后的现在对于人工神经网络的兴趣。人工神经网络近期的应用包括语言与影像辨识等。对于提升人工神经网络的运算效能与效率的需求似乎正在增加。
技术实现思路
有鉴于此,本专利技术提供一种装置。此装置包括一输出缓冲器与一个由N个处理单元构成的阵列。其中,输出缓冲器用以装载N个文字,N个文字分配至N/J个互斥的输出缓冲文字群组内,输出缓冲文字群组具有N个文字中的J个文字,J大于2,N至少是J的两倍。阵列中的N个处理单元分配至N/J个互斥的处理单元群组,此处理单元群组具有N个处理单元中的J个处理单元,各个处理单元群组对应N/J个输出缓冲文字群组的其中之一,各个处理单元包括第一与第二多任务缓存器,一累加器,与一算术单元。其中,各个多任务缓存器包括至少J+1个输入,一输出与一控制输入。J+1个输入中的一第一输入从一存储器接收一操作数,J+1个输入中的其它J个输入接收相对应输出缓冲文字群组的J个文字;控制输入用以控制对于前述J+1个输入的选择以提供至输出。累加器具有一输出以提供至N个输出缓冲文字中的一相对应输出缓冲文字。算术单元具有第一,第二与第三输入,第一与第二输入分别用以接收第一与第二多任务缓存器的输出,第三输入用以接收累加器的输出,算术单元对于第一,第二与第三输入执行一运算以产生一结果累加至累加器。其中,输出缓冲器并包括一屏蔽输入,用以控制N个文字中那些文字会维持其原本数值或是以其相对应累加器的输出进行更新。其中,具有J个处理单元的N/J个处理单元群组中的各个处理单元群组作为一时间递归神经网络的一长短期记忆胞进行运作,J个处理单元中的一第一处理单元计算长短期记忆胞的一输入闸,J个处理单元中的一第二处理单元计算长短期记忆胞的一遗忘闸,并且J个处理单元中的一第三处理单元计算长短期记忆胞的一输出闸。本专利技术还提供一种运作一装置的方法。此装置具有一输出缓冲器与一个由N个处理单元构成的阵列。输出缓冲器用以装载N个文字,N个文字分配至N/J个互斥的输出缓冲文字群组内,输出缓冲文字群组具有N个文字中的J个文字,J大于2,N至少是J的两倍,N个处理单元分配至N/J个互斥的处理单元群组,处理单元群组具有N个处理单元中的J个处理单元,各个处理单元群组对应N/J个输出缓冲文字群组的其中之一。输出缓冲器包括一屏蔽输入,用以控制N个文字中那些文字会维持其原本数值或是以其相对应累加器的输出进行更新。各个处理单元具有第一与第二多任务缓存器,一累加器与一算术单元。各个多任务缓存器具有一输出。累加器具有一输出以提供至N个输出缓冲文字中的一相对应输出缓冲文字。算术单元具有第一,第二与第三输入,第一与第二输入分别用以接收第一与第二多任务缓存器的输出,第三输入用以接收累加器的输出,算术单元对于第一,第二与第三输入执行一运算以产生一结果累加至累加器。第一与第二多任务缓存器中的各个多任务缓存器包括至少J+1个输入,前述输出与一控制输入,J+1个输入中的一第一输入从一存储器接收一操作数,J+1个输入中的其它J个输入接收相对应输出缓冲文字群组的J个文字,控制输入用以控制对于前述J+1个输入的选择以提供至输出。此方法包括:利用具有J个处理单元的N/J个处理单元群组中的各个处理单元群组,作为一时间递归神经网络的一长短期记忆胞进行运作,以执行以下步骤:利用J个处理单元中的一第一处理单元计算长短期记忆胞的一输入闸;利用J个处理单元中的一第二处理单元计算长短期记忆胞的一遗忘闸;以及利用J个处理单元中的一第三处理单元计算长短期记忆胞的一输出闸。本专利技术还提供一种编码于至少一非瞬时计算机可使用媒体以供一计算机装置使用的一计算机程序产品。此计算机程序产品包括内含于媒体的计算机可使用程序代码,用以描述一装置。此计算机可使用程序代码包括第一程序代码与第二程序代码。第一程序代码用以描述一输出缓冲器,此输出缓冲器用以装载N个文字,N个文字分配至N/J个互斥的输出缓冲文字群组内,输出缓冲文字群组具有N个文字中的J个文字,J大于2,N至少是J的两倍。第二程序代码用以描述一个由N个处理单元构成的阵列,阵列中的N个处理单元分配至N/J个互斥的处理单元群组,此处理单元群组具有N个处理单元中的J个处理单元,各个处理单元群组对应N/J个输出缓冲文字群组的其中之一,各个处理单元包括第一与第二多任务缓存器,一累加器,与一算术单元。其中,各个多任务缓存器包括至少J+1个输入,一输出与一控制输入。J+1个输入中的一第一输入从一存储器接收一操作数,J+1个输入中的其它J个输入接收相对应输出缓冲文字群组的J个文字;控制输入用以控制对于前述J+1个输入的选择以提供至输出。累加器具有一输出以提供至N个输出缓冲文字中的一相对应输出缓冲文字。算术单元具有第一,第二与第三输入,第一与第二输入分别用以接收第一与第二多任务缓存器的输出,第三输入用以接收累加器的输出,算术单元对于第一,第二与第三输入执行一运算以产生一结果累加至累加器。其中,输出缓冲器并包括一屏蔽输入,用以控制N个文字中那些文字会维持其原本数值或是以其相对应累加器的输出进行更新。其中,具有J个处理单元的N/J个处理单元群组中的各个处理单元群组作为一时间递归神经网络的一长短期记忆胞进行运作,J个处理单元中的一第一处理单元计算长短期记忆胞的一输入闸,J个处理单元中的一第二处理单元计算长短期记忆胞的一遗忘闸,并且J个处理单元中的一第三处理单元计算长短期记忆胞的一输出闸。本专利技术所采用的具体实施例,将通过以下的实施例及图式作进一步的说明。附图说明图1为显示包含神经网络单元(neuralnetworkunit,NNU)的处理器的方块示意图。图2为显示图1的神经处理单元(neuralprocessingunit,NPU)的方块示意图。图3为方块图,显示利用图1的神经网络单元的N个神经处理单元的N个多任务缓存器,对于由图1的数据随机存取存储器取得的一列数据文字执行如同N个文字的旋转器(rotator)或称循环移位器(circularshifter)的运作。图4为表格,显示一个储存于图1的神经网络单元的程序存储器并由该神经网络单元执行的程序。图5为显示神经网络单元执行图4的程序的时序图。图6A为显示图1的神经网络单元执行图4的程序的方块示意图。图6B为流程图,显示图1的处理器执行架构程序,以利用神经网络单元执行关联于人工神经网络的隐藏层的神经元的典型乘法累加启动函数运算的运作,如同由图4的程序执行的运作。图7为显示图1的神经处理单元的另一实施例的方块示意图。图8为显示图1的神经处理单元的又一实施例的方块示意图。图9为表格,显示一个储存于图1的神经网络单本文档来自技高网...

【技术保护点】
一种装置,其特征在于,包括:一输出缓冲器,用以装载N个文字,该N个文字分配至N/J个互斥的输出缓冲文字群组内,该输出缓冲文字群组具有该N个文字中的J个文字,J大于2,N至少是J的两倍;一个由N个处理单元构成的阵列,该N个处理单元分配至N/J个互斥的处理单元群组,该处理单元群组具有该N个处理单元中的J个处理单元,各该处理单元群组对应该N/J个输出缓冲文字群组的其中之一,各该处理单元包括:第一与第二多任务缓存器,各该多任务缓存器包括:至少J+1个输入,该J+1个输入中的一第一输入从一存储器接收一操作数,该J+1个输入中的其它J个输入接收该相对应输出缓冲文字群组的该J个文字;一输出;以及一控制输入,用以控制对于该J+1个输入的选择以提供至该输出;一累加器,具有一输出以提供至该N个输出缓冲文字中的一相对应输出缓冲文字;以及一算术单元,具有第一,第二与第三输入,该第一与第二输入分别用以接收该第一与第二多任务缓存器的输出,该第三输入用以接收该累加器的输出,该算术单元对于该第一,第二与第三输入执行一运算以产生一结果累加至该累加器;其中,该输出缓冲器包括一屏蔽输入,用以控制该N个文字中哪些文字会维持其原本数值或是以其相对应累加器的输出进行更新;其中,该具有J个处理单元的N/J个处理单元群组中的各该处理单元群组作为一时间递归神经网络的一长短期记忆胞进行运作,该J个处理单元中的一第一处理单元计算该长短期记忆胞的一输入闸,该J个处理单元中的一第二处理单元计算该长短期记忆胞的一遗忘闸,并且该J个处理单元中的一第三处理单元计算该长短期记忆胞的一输出闸。...

【技术特征摘要】
2015.10.08 US 62/239,254;2015.12.02 US 62/262,104;1.一种装置,其特征在于,包括:一输出缓冲器,用以装载N个文字,该N个文字分配至N/J个互斥的输出缓冲文字群组内,该输出缓冲文字群组具有该N个文字中的J个文字,J大于2,N至少是J的两倍;一个由N个处理单元构成的阵列,该N个处理单元分配至N/J个互斥的处理单元群组,该处理单元群组具有该N个处理单元中的J个处理单元,各该处理单元群组对应该N/J个输出缓冲文字群组的其中之一,各该处理单元包括:第一与第二多任务缓存器,各该多任务缓存器包括:至少J+1个输入,该J+1个输入中的一第一输入从一存储器接收一操作数,该J+1个输入中的其它J个输入接收该相对应输出缓冲文字群组的该J个文字;一输出;以及一控制输入,用以控制对于该J+1个输入的选择以提供至该输出;一累加器,具有一输出以提供至该N个输出缓冲文字中的一相对应输出缓冲文字;以及一算术单元,具有第一,第二与第三输入,该第一与第二输入分别用以接收该第一与第二多任务缓存器的输出,该第三输入用以接收该累加器的输出,该算术单元对于该第一,第二与第三输入执行一运算以产生一结果累加至该累加器;其中,该输出缓冲器包括一屏蔽输入,用以控制该N个文字中哪些文字会维持其原本数值或是以其相对应累加器的输出进行更新;其中,该具有J个处理单元的N/J个处理单元群组中的各该处理单元群组作为一时间递归神经网络的一长短期记忆胞进行运作,该J个处理单元中的一第一处理单元计算该长短期记忆胞的一输入闸,该J个处理单元中的一第二处理单元计算该长短期记忆胞的一遗忘闸,并且该J个处理单元中的一第三处理单元计算该长短期记忆胞的一输出闸。2.根据权利要求1所述的装置,其特征在于,该屏蔽输入指定利用该J个处理单元中的该第一,第二与第三处理单元分别计算出的该输入闸,该遗忘闸与该输出闸更新该相对应输出缓冲文字群组的该J个文字中的第一,第二与第三文字。3.根据权利要求2所述的装置,其特征在于,该J个处理单元中的该第一,第二与第三处理单元同时计算该输入闸,该遗忘闸与该输出闸。4.根据权利要求2所述的装置,其特征在于,该J个处理单元中的一第四处理单元计算该长短期记忆胞的一候选状态。5.根据权利要求4所述的装置,其特征在于,该屏蔽输入指定利用该长短期记忆胞的该候选状态更新该相对应输出缓冲文字群组的该J个文字中的一第四文字,但维持该相对应输出缓冲文字群组的该J个文字中的该第一,第二与第三文字的该当前数值。6.根据权利要求4所述的装置,其特征在于,该J个处理单元的其中之一利用该输入闸,该遗忘闸,该长短期记忆胞的该候选状态,与该长短期记忆胞的一当前状态计算该长短期记忆胞的一新状态与其启动函数。7.根据权利要求6所述的装置,其特征在于,还包括:一存储器,该J个处理单元的其中之一从该存储器读取该长短期记忆胞的该当前状态,并且该输出缓冲器将该长短期记忆胞的该新状态写入该存储器。8.根据权利要求6所述的装置,其特征在于,该J个处理单元的其中之一利用该输出闸与该长短期记忆胞的该新状态的该启动函数计算该长短期记忆胞的一新输出。9.根据权利要求8所述的装置,其特征在于,还包括:一存储器,该J个处理单元从该存储器读取该长短期记忆胞的一当前输出,并且该输出缓冲器将该长短期记忆胞的该新输出写入该存储器。10.根据权利要求1所述的装置,其特征在于,该J个处理单元中的该第一,第二与第三处理单元利用该长短期记忆胞的一当前输出与相对应权重以及利用该长短期记忆胞的一新输入与相对应权重,分别计算该输入闸,该遗忘闸,与该输出闸。11.根据权利要求10所述的装置,其特征在于,该J个处理单元中的该第一,第二与第三处理单元从该输出缓冲器读取该当前输出。12.根据权利要求10所述的装置,其特征在于,还包括:一存储器,该J个处理单元中的该第一,第二与第三处理单元从该存储器读取该新输入。13.根据权利要求10所述的装置,其特征在于,还包括:一存储器,该J个处理单元中的该第一,第二与第三处理单元从该存储器读取该权重。14.一种运作一装置的方法,其特征在于,该装置具有一输出缓冲器与一个由N个处理单元构成的阵列,该输出缓冲器用以装载N个文字,该N个文字分配至N/J个互斥的输出缓冲文字群组内,该输出缓冲文字群组具有该N个文字中的J个文字,J大于2,N至少是J的两倍,该N个处理单元分配至N/J个互斥的处理单元群组,该处理单元群组具有该N个处理单元中的J个处理单元,各该处理单元群组对应该N/J个输出缓冲文字群组的其中之一,该输出缓冲器包括一屏蔽输入,用以控制该N个文字中哪些文字会维持其原本数值或是以其相对应累加器的输出进行更新,各该处理单元具有第一与第二多任务缓存器,一累加器与一算术单元,各该多任务缓存器具有一输出,该累加器具有一输出以提供至该N个输出缓冲文字中的一相对应输出缓冲文字,该算术单...

【专利技术属性】
技术研发人员:G·葛兰·亨利泰瑞·派克斯凯尔·T·奥布莱恩
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海;31

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

1