执行随机舍入的神经网络单元制造技术

技术编号:14690810 阅读:54 留言:0更新日期:2017-02-23 13:24
一种神经网络单元,包括一随机位来源与多个神经处理单元。随机位来源用以产生随机位。各个神经处理单元包括一累加器与一舍入器。神经处理单元将多个乘积累加至累加器以作为一累加值。舍入器由随机位来源接收随机位,并且依据由随机位来源接收的随机位,随机地对累加值执行舍入运算。

【技术实现步骤摘要】

本专利技术涉及一种处理器,特别涉及一种提升人工神经网络的运算效能与效率的处理器。本申请案主张下列的美国临时申请案的国际优先权。这些优先权案的全文并入本案以供参考。本申请案关联于下列同时提出申请的美国申请案。这些关联申请案的全文并入本案以供参考。
技术介绍
近年来,人工神经网络(artificialneuralnetworks,ANN)重新吸引了人们的注意。这些研究通常被称为深度学习(deeplearning)、计算机学习(computerlearning)等类似术语。通用处理器运算能力的提升也推升了人们在数十年后的现在对于人工神经网络的兴趣。人工神经网络近期的应用包括语言与影像辨识等。对于提升人工神经网络的运算效能与效率的需求似乎正在增加。
技术实现思路
有鉴于此,本专利技术提供一种神经网络单元。此神经网络单元包括一随机位来源与多个神经处理单元。随机位来源用以产生随机位。各个神经处理单元包括一累加器与一舍入器(rounder)。神经处理单元将多个乘积累加至累加器以作为一累加值。舍入器由随机位来源接收随机位,并且依据由随机位来源接收的随机位,随机地(stochastically)对累加值执行舍入运算。本专利技术还提供一种运作一神经网络单元的方法。神经网络单元具有多个神经处理单元(NPU)。此方法包括:利用一随机位来源,以产生随机位;以及由各个神经处理单元:将多个乘积累加至一累加器以作为一累加值;利用一舍入器,由随机位来源接收随机位;以及利用舍入器,依据由随机位来源接收的随机位,随机地对累加值执行舍入运算。本专利技术还提供一种编码于至少一非瞬时计算机可使用媒体以供一计算机装置使用的一计算机程序产品。此计算机程序产品包括内含于该媒体的计算机可使用程序代码,用以描述一神经网络单元。此计算机可使用程序代码包括第一程序代码与第二程序代码。第一程序代码用以描述一随机位来源,此随机位来源用以产生随机位。第二程序代码用以描述多个神经处理单元。各个神经处理单元包括一累加器与一舍入器。神经处理单元将多个乘积累加至累加器以作为一累加值。舍入器由随机位来源接收随机位,并且依据由随机位来源接收的随机位,随机地对累加值执行舍入运算。本专利技术所采用的具体实施例,将通过以下的实施例及图式作进一步的说明。附图说明图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的神经网络单元的程序存储器并由该神经网络单元执行的程序。图10为显示神经网络单元执行图9的程序的时序图。图11为显示图1的神经网络单元的一实施例的方块示意图。在图11的实施例中,一个神经元分成两部分,即启动函数单元部分与算术逻辑单元部分(此部分还包含移位缓存器部分),而各个启动函数单元部分由多个算术逻辑单元部分共享。图12为显示图11的神经网络单元执行图4的程序的时序图。图13为显示图11的神经网络单元执行图4的程序的时序图。图14为方块示意图,显示移动至神经网络(MTNN)架构指令以及其对应于图1的神经网络单元的部分的运作。图15为方块示意图,显示移动至神经网络(MTNN)架构指令以及其对应于图1的神经网络单元的部分的运作。图16为显示图1的数据随机存取存储器的一实施例的方块示意图。图17为显示图1的权重随机存取存储器与缓冲器的一实施例的方块示意图。图18为显示图1的可动态配置的神经处理单元的方块示意图。图19为方块示意图,显示依据图18的实施例,利用图1的神经网络单元的N个神经处理单元的2N个多任务缓存器,对于由图1的数据随机存取存储器取得的一列数据文字执行如同旋转器(rotator)的运作。图20为表格,显示一个储存于图1的神经网络单元的程序存储器并由该神经网络单元执行的程序,而此神经网络单元具有如图18的实施例所示的神经处理单元。图21为显示神经网络单元执行图20的程序的时序图,此神经网络单元具有如图18所示的神经处理单元执行于窄配置。图22为显示图1的神经网络单元的方块示意图,此神经网络单元具有如图18所示的神经处理单元以执行图20的程序。图23为显示图1的可动态配置的神经处理单元的另一实施例的方块示意图。图24为方块示意图,显示由图1的神经网络单元使用以执行卷积(convolution)运算的数据结构的一范例。图25为流程图,显示图1的处理器执行架构程序以利用神经网络单元依据图24的数据阵列执行卷积核的卷积运算。图26A为神经网络单元程序的程序列表,此神经网络单元程序利用图24的卷积核执行数据矩阵的卷积运算并将其写回权重随机存取存储器。图26B为显示图1的神经网络单元的控制缓存器的某些字段的一实施例的方块示意图。图27为方块示意图,显示图1中填入输入数据的权重随机存取存储器的一范例,此输入数据由图1的神经网络单元执行共源运算(poolingoperation)。图28为神经网络单元程序的程序列表,此神经网络单元程序执行图27的输入数据矩阵的共源运算并将其写回权重随机存取存储器。图29A为显示图1的控制缓存器的一实施例的方块示意图。图29B为显示图1的控制缓存器的另一实施例的方块示意图。图29C为显示以两个部分储存图29A的倒数(reciprocal)的一实施例的方块示意图。图30为显示图2的启动函数单元(AFU)的一实施例的方块示意图。图31为显示图30的启动函数单元的运作的一范例。图32为显示图30的启动函数单元的运作的第二个范例。图33为显示图30的启动函数单元的运作的第三个范例。图34为显示图1的处理器以及神经网络单元的部分细节的方块示意图。图35为方块图,显示具有可变率神经网络单元的处理器。图36A为时序图,显示具有神经网络单元的处理器运作于一般模式的一运作范例,此一般模式即以主要时频率运作。图36B为时序图,显示具有神经网络单元的处理器运作于缓和模式的一运作范例,缓和模式的运作时频率低于主要时频率。图37为流程图,显示图35的处理器的运作。图38为方块图,详细显示神经网络单元的序列。图39为方块图,显示神经网络单元的控制与状态缓存器的某些字段。图40为方块图,显示Elman时间递归神经网络(recurrentneuralnetwork,RNN)的一范例。图41为方块图,显示当神经网络单元执行关联于图40的Elman时间递归神经本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610866451.html" title="执行随机舍入的神经网络单元原文来自X技术">执行随机舍入的神经网络单元</a>

【技术保护点】
一种神经网络单元,其特征在于,包括:一随机位来源,以产生随机位;以及多个神经处理单元(NPU),各该神经处理单元包括:一累加器,该神经处理单元将多个乘积累加至该累加器以作为一累加值;以及一舍入器(rounder),由该随机位来源接收该随机位,并且依据由该随机位来源接收的该随机位,随机地(stochastically)对该累加值执行舍入运算。

【技术特征摘要】
2015.10.08 US 62/239,254;2015.12.02 US 62/262,104;1.一种神经网络单元,其特征在于,包括:一随机位来源,以产生随机位;以及多个神经处理单元(NPU),各该神经处理单元包括:一累加器,该神经处理单元将多个乘积累加至该累加器以作为一累加值;以及一舍入器(rounder),由该随机位来源接收该随机位,并且依据由该随机位来源接收的该随机位,随机地(stochastically)对该累加值执行舍入运算。2.根据权利要求1所述的神经网络单元,其特征在于,还包括:一缓存器,可利用一舍入模式予以程序化,并且,当该舍入模式指示随机舍入时,该舍入器依据由该随机位来源接收的该随机位,随机地对该累加值执行舍入运算,当该舍入模式指示不同的舍入模式时,该舍入器执行该不同的舍入模式。3.根据权利要求1所述的神经网络单元,其特征在于,该累加值为一定点算术值。4.根据权利要求3所述的神经网络单元,其特征在于,还包括:一缓存器,可利用该定点算术累加值的一二进制小数点位置予以程序化,该二进制小数点位置指定该定点算术累加值的小数字元的数量。5.根据权利要求4所述的神经网络单元,其特征在于,该舍入器对该累加值执行舍入运算,以因应该神经处理单元将该累加值对准至一输出表示,该输出表示的小数字元数量少于程序化于该缓存器内的该小数字元数量。6.根据权利要求5所述的神经网络单元,其特征在于,还包括:一第二缓存器,可利用该输出表示的一二进制小数点地址予以程序化。7.根据权利要求1所述的神经网络单元,其特征在于,该神经处理单元利用第一与第二操作数计算各该多个乘积,并且,该第一与第二操作数中的每一个操作数为一定点算术值。8.根据权利要求7所述的神经网络单元,其特征在于,还包括:一第一缓存器,可利用该第一操作数的一二进制小数点位置予以程序化;以及一第二缓存器,可利用该第二操作数的一二进制小数点位置予以程序化。9.根据权利要求1所述的神经网络单元,其特征在于,该多个乘积中的每一个乘积为一定点算术值。10.根据权利要求1所述的神经网络单元,其特征在于,该随机位来源依据实现该神经网络单元的一集成电路的随机电性的取样动作产生该随机位。11.一种运作一神经网络单元的方法,该神经网络单元具有多个神经处理单元(NPU),其特征在于,该方法包括:利用一随机位来源,以产生随机位;以及由各该神经处理单元:将多...

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

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

1