硬件加速器引擎制造技术

技术编号:18681510 阅读:28 留言:0更新日期:2018-08-14 22:44
本公开涉及硬件加速器引擎。实施例涉及支持深度神经网络算法卷积阶段的有效映射的硬件加速器引擎。硬件加速器引擎包括多个卷积加速器,并且多个卷积加速器中的每一个包括内核缓冲器、特征线缓冲器和多个乘法累加(MAC)单元。MAC单元被布置为对从内核缓冲器和特征线缓冲器两者接收的数据进行乘法和累加。硬件加速器引擎还包括耦合到串流开关的输出总线端口的至少一个输入总线、耦合到串流开关的输入总线端口的至少一个输出总线、或硬连线到串流开关的相应输出总线和输入总线端口的至少一个输入总线和至少一个输出总线。

Hardware accelerator engine

This disclosure concerns the hardware accelerator engine. The implementation involves a hardware accelerator engine supporting effective mapping in the convolution stage of the deep neural network algorithm. The hardware accelerator engine includes a plurality of convolution accelerators, and each of the plurality of convolution accelerators includes a kernel buffer, a feature buffer, and a plurality of multiplication accumulation (MAC) units. The MAC unit is arranged to multiply and accumulate the data received from both the kernel buffer and the feature line buffer. The hardware accelerator engine also includes at least one input bus coupled to the output bus port of the series switch, at least one output bus coupled to the input bus port of the series switch, or at least one input bus and at least one output bus hard-wired to the corresponding output bus and input bus port of the series switch.

【技术实现步骤摘要】
硬件加速器引擎
本公开整体涉及深度卷积神经网络(DCNN)。更具体地但不排他地,本公开涉及被布置为实现DCNN的一部分的硬件加速器引擎。
技术介绍
已知的计算机视觉、语音识别和信号处理应用受益于使用深度卷积神经网络(DCNN)。DCNN技术中的一项重要工作是由Y.LeCun等人在1998年的IEEE会报第86期第11卷第2278-2324页上发表的“Gradient-BasedLearningAppliedToDocumentRecognition”,该文章利用“AlexNet”赢得了2012年的ImageNet大型视觉识别挑战赛。如由Krizhevsky,A.、Sutskever,I.和Hinton,G.于2012年在内达华州太浩湖的NIPS第1-9页发表的“ImageNetClassificationWithDeepConvolutionalNeuralNetworks”中所描述的,AlexNet是第一次显著优于经典方法的DCNN。DCNN是处理大量数据并通过以下方式进行自适应地“学习”的基于计算机的工具:将数据内的近端相关的特征融合、对数据进行广泛预测、并基于可靠的结论和新的融合来改进预测。DCNN被布置在多个“层”中,并且在每一层处进行不同类型的预测。例如,如果面部的多个二维图片被提供作为DCNN的输入,则DCNN将学习诸如边缘、曲线、角度、点、颜色对比度、亮点、暗点等的面部的各种特性。在DCNN的一个或多个第一层处学习这些一个或多个特征。然后,在一个或多个第二层中,DCNN将学习诸如眼睛、眉毛、前额、头发、鼻子、嘴、脸颊等的面部的各种可识别的特征;其中的每一个都能与所有其他特征区分开。即,DCNN学习识别和区分眼睛与眉毛或任何其他面部特征。在一个或多个第三层及随后的层中,DCNN学习诸如种族、性别、年龄、情绪状态等的整个面部特性及更高阶的特性。在某些情况下,DCNN甚至被训练来识别个人的特定身份。例如,随机图像可以被标识为面部,并且面部可以被识别为奥兰多·布鲁姆、安德烈·波切利或其他一些身份。在其他示例中,可以向DCNN提供多个动物图片,并且可以训练DCNN来标识狮子、老虎和熊;可以向DCNN提供多个汽车图片,并且可以训练DCNN来标识和区分不同类型的车辆;并且还可以形成许多其他的DCNN。DCNN可以用于学习句子中的单词模式、标识音乐、分析个体购物模式、玩视频游戏、创建交通路线,并且DCNN也可以用于许多其他基于学习的任务。图1包括图1A-图1J。图1A是卷积神经网络(CNN)系统10的一个简化图示。在CNN系统中,由CNN处理像素的二维阵列。CNN分析10×10的输入对象平面,以确定在平面中是否表示“1”、在平面中是否表示“0”、或者在平面中未表示“1”或“0”。在10×10的输入对象平面中,每个像素被点亮或不被点亮。为了图示的简单起见,被点亮的像素被填充(例如,深色),且未被点亮的像素未被填充(例如,浅色)。图1B图示了图1A的CNN系统10,该系统确定第一像素图案图示“1”,且第二像素图案图示“0”。然而,在现实世界中,图像并不总是如图1B所示的那样清晰地排列整齐。在图1C中,示出了不同形式的0和1的若干变型。在这些图像中,平均的人类观察者将容易地识别特定数字被平移或缩放,但是观察者也将正确地确定图像是否表示“1”或“0”。沿着这样的思路,在不用思考的情况下,人类观察者看穿图像旋转、数字的各种加权、数字的尺寸、移位、反转、重叠、分段、同一图像中的多个数字以及其他这样的特性。然而,以编程方式,在传统的计算系统中,这样的分析是非常困难的。各种图像匹配技术是已知的,但是即使使用非常小的图像尺寸,该类型的分析也很快压倒了可用的计算资源。然而,相比之下,即使CNN系统10以前从未“看到”确切的图像,CNN系统10也可以正确地标识每个经处理的图像中的1、0、1和0或者既不是1也不是0。图1D表示分析(例如,数学地组合)未知图像的部分与已知图像的对应部分的CNN操作。例如,可以将左侧未知图像的3个像素部分B5-C6-D7识别为匹配右侧已知图像的对应的3个像素部分C7-D8-E9。在这些情况和其他情况下,还可以识别各种其他对应的像素布置。一些其他的对应关系如表1所示。表1–对应的已知到未知的图像分段认识到已知图像的分段或部分可以被匹配到未知图像的对应分段或部分,还可以认识到,通过统一部分匹配操作,可以以完全相同的方式处理整个图像,同时实现先前未经计算的结果。换言之,可以选择特定的部分尺寸,然后可以逐个部分地分析已知的图像。当已知图像的任何给定部分内的图案与未知图像的类似尺寸的部分数学地组合时,生成表示部分之间的相似度的信息。图1E图示了图1D的右侧已知图像的六个部分。每个部分(也称为“内核”)被布置为3像素×3像素的阵列。在计算上,被点亮的像素在数学上表示为正“1”(即,+1);并且未被点亮的像素在数学上表示为负“1”(即,-1)。为了简化图1E中的图示,还使用图1D的列和行参考来示出每个所图示的内核。图1E中示出的六个内核是代表性的并且被选择以便于理解CNN系统10的操作。很明显,可以使用重叠或不重叠的内核的有限集合来表示已知的图像。例如,考虑到3像素×3像素的内核尺寸和具有1的步幅的重叠内核的系统,每个10×10像素的图像可以具有64个对应的内核。即,第一内核跨越A、B、C列和1、2、3行中的9个像素。第二内核跨越B、C、D列和1、2、3行中的9个像素。第三内核跨越C、D、E列和1、2、3行中的9个像素等,直到第八内核跨越H、I、J列和1、2、3行中的9个像素。内核对准以这种方式继续,直到第57内核跨过A、B、C列和8、9、10行,并且第64内核跨越H、I、J列和8、9、10行。在其他CNN系统中,内核可以重叠或不重叠,并且内核可以具有2、3或一些其他数字的步幅。基于过去的结果、分析研究或以其他方式,CNN系统设计人员选择了用于选择内核尺寸、步幅、位置等的不同策略。返回到图1D和图1E的示例,使用已知图像中的信息形成总共64个内核。第一内核开始于3×3阵列的最上最左的9个像素。接下来的七个内核按顺序向右移位,每个移动一列。第九内核返回到前三列并下拉一行,类似于基于文本的文档的回车操作,该概念来自二十世纪的手动打字机。遵循该模式,图1E示出第7、第18、第24、第32、第60和62个内核。顺序地,或以一些其他已知的模式,每个内核与被分析的图像像素的相应尺寸的集合对准。在完全分析的系统中,例如,第一内核在概念上被叠加在每一个内核位置中的未知图像上。考虑图1D和图1E,第一内核在概念上被叠加在1号内核的位置中的未知图像上(图像的最左、最上的部分),然后第一内核在概念上被叠加在2号内核的位置中的未知图像上,等,直到第一内核在概念上被叠加在64号内核的位置中的未知图像上(图像的最下、最右部分)。针对64个内核中的每一个重复该过程,并且执行总共4096个操作(即,64个位置中的每一个中的64个内核)。以该方式,还示出,当其他CNN系统选择不同的内核尺寸、不同的步幅和不同的概念叠加模式时,操作次数将发生变化。在CNN系统10中,在被分析的未知图像的每个部分上的每个内核的概念叠加被执行为称为卷本文档来自技高网...

【技术保护点】
1.一种支持深度神经网络算法的卷积阶段的有效映射的硬件加速器引擎,其特征在于,所述硬件加速器引擎包括:多个卷积加速器,所述多个卷积加速器中的每一个包括:内核缓冲器;特征线缓冲器;多个乘法累加MAC单元,被布置为对从所述内核缓冲器和所述特征线缓冲器接收的数据进行乘法和累加;以及耦合到串流开关的输出总线端口的至少一个输入总线;耦合到所述串流开关的输入总线端口的至少一个输出总线;或者硬连线到所述串流开关的相应输出总线端口和输入总线端口的至少一个输入总线和至少一个输出总线。

【技术特征摘要】
2017.01.04 IN 201711000422;2017.02.02 US 15/423,271.一种支持深度神经网络算法的卷积阶段的有效映射的硬件加速器引擎,其特征在于,所述硬件加速器引擎包括:多个卷积加速器,所述多个卷积加速器中的每一个包括:内核缓冲器;特征线缓冲器;多个乘法累加MAC单元,被布置为对从所述内核缓冲器和所述特征线缓冲器接收的数据进行乘法和累加;以及耦合到串流开关的输出总线端口的至少一个输入总线;耦合到所述串流开关的输入总线端口的至少一个输出总线;或者硬连线到所述串流开关的相应输出总线端口和输入总线端口的至少一个输入总线和至少一个输出总线。2.根据权利要求1所述的硬件加速器引擎,其特征在于,所述内核缓冲器经由第一输入总线耦合到所述串流开关的第一输出端口,并且其中所述特征线缓冲器经由第二输入总线耦合到所述串流开关的第二输出端口。3.根据权利要求1所述的硬件加速器引擎,其特征在于,所述特征条缓冲器存储多达12个具有16比特宽的像素值的输入特征帧的线。4.根据权利要求1所述的硬件加速器引擎,其特征在于,所述特征线缓冲器被布置为接收和存储被包括作为至少一个图像帧的特征数据的多个线,其中特征数据的每个线具有第一标签和最后标签,并且所述至少一个图像帧还在其第一线上具有线标签,并且其最后线上具有线标签。5.根据权利要求4所述的硬件加速器引擎,其特征在于,包括:验证逻辑,以检查和验证所述特征数据中包括的标签信息。6.根据权利要求1所述的硬件加速器引擎,其特征在于,所述特征线缓冲器被布置在双端口存储器设备中。7.根据权利要求1所述的硬件加速器引擎,其特征在于,所述特征线缓冲器被布置在单端口存储器中,其中在交替时钟周期写入和读取数据。8.根据权利要求1所述的硬件加速器引擎,其特征在于,所述内核缓冲器被布置为接收作为原始数据串流的内核数据,所述原始数据串流具有第一标签和最后标签。9.根据权利要求1所述的硬件加速器引擎,其特征在于,包括:加法器树;以及乘法累加MAC模块,具有多个MAC单元,所述MAC模块具有耦合到所述内核缓冲器的第一输入和耦合到所述特征线缓冲器的第二输入,其...

【专利技术属性】
技术研发人员:T·勃伊施G·德索利
申请(专利权)人:意法半导体股份有限公司意法半导体国际有限公司
类型:新型
国别省市:意大利,IT

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

1