[发明专利]神经网络单元有效
申请号: | 201711025871.9 | 申请日: | 2017-10-27 |
公开(公告)号: | CN108133263B | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | G·葛兰·亨利;金·C·霍克 | 申请(专利权)人: | 上海兆芯集成电路有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 梁挥;祁建国 |
地址: | 201203 上海市张*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 单元 | ||
1.一种神经网络单元,其特征在于,包括:
N个处理单元(PU)的阵列,每一个PU具有:
累加器,所述累加器具有输出;
算术单元,所述算术单元具有第一输入、第二输入和第三输入并且在其上执行运算以生成存储在所述累加器中的结果,所述第一输入接收所述累加器的输出;
权重输入,所述权重输入由所述第二输入接收到所述算术单元;及
多路复用寄存器,所述多路复用寄存器具有第一数据输入、第二数据输入、第三数据输入和第四数据输入、由第三输入接收到所述算术单元的输出、及控制所述第一数据输入、第二数据输入、第三数据输入和第四数据输入的选择的控制输入;
第一存储器,所述第一存储器保存N个权重字的行,并将一行的N个权重字提供给所述PU阵列的N个PU的对应权重输入,其中N至少为512;
第二存储器,所述第二存储器保存N个数据字的行,并将一行的N个数据字提供给所述PU阵列的N个PU的多路复用寄存器的对应第一数据输入;
其中所述多路复用寄存器的输出还由以下接收:
一个PU的多路复用寄存器的第二数据输入;
2^J个PU的多路复用寄存器的第三数据输入,其中J为大于1的整数;及
2^K个PU的多路复用寄存器的第四数据输入,其中K是大于J的整数;
其中当所述控制输入指定所述第二数据输入时,所述N个PU的所述多路复用寄存器共同地作为旋转一个字的N字旋转器操作;
其中当所述控制输入指定所述第三数据输入时,所述N个PU的所述多路复用寄存器共同地作为旋转2^J个字的N字旋转器操作;及
其中当所述控制输入指定所述第四数据输入时,所述N个PU的所述多路复用寄存器共同地作为旋转2^K个字的N字旋转器操作。
2.根据权利要求1所述的神经网络单元,其特征在于,
其中所述N个PU的阵列被配置为执行将W列乘以H行乘以C个通道的输入与S列乘以R行乘以C个通道的F个滤波器进行三维卷积以生成P列乘以Q行的F个输出的程序的指令;
其中,W、H、C、F、S、R、Q和P是由NNU硬件执行的特定神经网络的超参数,对于NNU执行的不同神经网络不同;及
其中所述程序包括指令,使得:
(a)所述控制输入选择所述第二数据输入并且所述算术单元将所述第二输入和第三输入相乘以生成乘积并将所述乘积与所述第一输入累加以生成结果;及
(b)所述控制输入选择所述第三数据输入或第四数据输入以完成旋转B减S个字,其中B是至少与W一样大的N的最小因数;
操作(a)执行S次,操作(b)执行一次或多次。
3.根据权利要求2所述的神经网络单元,其特征在于,
其中所述程序包括指令,进一步使得:
(c)与操作(a)同时的执行S次,所述第一存储器向所述PU阵列的N个PU的相应权重输入提供一行的N个权重字。
4.根据权利要求3所述的神经网络单元,其特征在于,
其中所述程序包括指令,进一步使得:
(d)至少执行C次操作(a)、(b)和(c)。
5.根据权利要求4所述的神经网络单元,其特征在于,
(e)在操作(d)之前,所述第二存储器向所述PU阵列的N个PU的多路复用寄存器的对应第一数据输入提供一行的N个数据字。
6.根据权利要求5所述的神经网络单元,其特征在于,
其中由所述第二存储器提供的行包含与所述第一数据输入的H行中的一行相对应的所述第一数据输入的水平分片。
7.根据权利要求6所述的神经网络单元,其特征在于,
其中所述S次中的每一次,由所述第一存储器提供的C行被逻辑地分为F个滤波器块,其中所述F个滤波器块的每个滤波器块包含来自所述F个滤波器中的对应一个滤波器的不同权重的P个所述水平分片的副本分片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海兆芯集成电路有限公司,未经上海兆芯集成电路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711025871.9/1.html,转载请声明来源钻瓜专利网。