一种执行卷积计算的系统及方法技术方案

技术编号:18302434 阅读:42 留言:0更新日期:2018-06-28 12:13
本发明专利技术提供一种以矩阵模式或者滤波器模式执行卷积计算的系统。分析模块生成模式选择信号,以基于分析卷积特征的结果而选择矩阵模式或者滤波器模式。该结果包括至少矩阵模式和滤波器模式之间的资源利用的比较。卷积模块包括多个处理元件,每个处理元件进一步包括算术计算电路。卷积模块用于根据矩阵模式执行自卷积计算转换而来的矩阵乘法,并用于根据滤波器模块执行卷积计算。本发明专利技术还提供了对应的方法。本发明专利技术能有效执行卷积计算,并提高资源利用率。

A system and method for calculating convolution

The present invention provides a system for performing convolution computation in matrix mode or filter mode. The analysis module generates the mode selection signal and selects matrix mode or filter mode based on the result of the analysis convolution feature. The result includes a comparison of resource utilization between at least matrix mode and filter mode. The convolution module comprises a plurality of processing elements, and each processing element further comprises an arithmetic calculation circuit. Convolution module is used to perform matrix multiplication based on matrix transformation, and is used to perform convolution calculation according to filter module. The present invention also provides a corresponding method. The invention can effectively perform convolution calculation and improve resource utilization ratio.

【技术实现步骤摘要】
一种执行卷积计算的系统及方法优先权声明本申请主张在2016年12月20日提出的申请号为62/436,488号的美国临时专利申请的优先权,且上述美国专利申请整体以引用方式并入本文中。
本专利技术的实施例涉及用于卷积计算(convolutioncomputing)的计算机架构,更具体地,涉及一种执行卷积计算的系统及方法。
技术介绍
在计算机视觉、语音识别、自然语言处理和生物信息学的领域中,深度学习以其优越的性能已得到广泛的认可。深度学习是机器学习的分支,其利用包含多个隐藏层的人工神经网络。称为卷积神经网络(convolutionalneuralnetwork,CNN)的一种类型的人工神经网络由深度学习在大数据集上使用,例如,图像数据的大数据集。CNN已在图像应用中显现出良好的结果。例如,CNN可以被用在特征提取上。从输入端所接收的原始图像像素中,CNN可以在输出端为不同级别的特征生成分数。CNN的计算工作量很大。CNN的核心计算为卷积,其涉及高阶嵌套环(high-ordernestedloop)。对于特征提取,CNN在信道集(例如,红、绿和蓝)上对具有二维滤波器集的输入图像像素进行卷积,然后进行非线性计算、向下采样计算和级别分数计算。已经了解卷积计算对资源要求很高。除了CNN,卷积计算还经常用于解决科学问题和工程问题。因此,需要优化卷积计算以提高性能。
技术实现思路
本专利技术的目的在于,提供一种执行卷积计算的系统及方法,以解决上述问题。在一个实施例中,提供了一种用于执行卷积计算的系统。该系统包括分析模块,其根据分析多个卷积特征的多个结果,生成模式选择信号以选择矩阵模式和滤波器模式中的一个。所述多个结果包括至少矩阵模式和滤波器模式之间的资源利用的比较。该系统还包括与所述分析模块耦接的卷积模块。该卷积模块包括多个处理元件,每个处理元件包括算术计算电路。所述卷积模块用于根据所述矩阵模式执行自多个卷积计算转换而来的多个矩阵乘法,并用于根据所述滤波器模式执行所述多个卷积计算。在另一实施例中,提供了用于执行卷积计算的方法。该方法包括:卷积模块接收用于选择矩阵模式和滤波器模式中的一个的模式选择信号。所述模式选择信号是基于分析多个卷积特征的多个结果生成而来,所述多个卷积特征包括至少矩阵模式和滤波器模式之间的资源利用的比较。所述卷积模块包括多个处理元件,每个处理元件包括算术计算电路。该方法还包括:响应于选择所述矩阵模式,执行自多个卷积计算转换而来的多个矩阵乘法;以及响应于选择所述滤波器模式,执行所述多个卷积计算。通过根据一个给定的CNN问题的特征而使用处理元件的配置和/或数据调度到处理元件,本专利技术实施例使得卷积计算有效,实施例的有益效果将在下文中详细解释。本专利技术通过分析卷积特征,根据分析的结果产生模式选择信号以选择矩阵模式或滤波器模式,进而多个处理元件根据矩阵模式进行矩阵乘法,并根据滤波器模式进行卷积计算,有效执行卷积计算,并通过多个处理元件既进行矩阵乘法又进行卷积计算,提高资源利用率。附图说明在下列相同的标号表示相似的元件的附图中,本专利技术通过举例的方式进行说明,而非限制的方式。应该注意的是,本专利技术中的“a”或者“一个”实施例的不同引用不一定是指同一实施例,并且这种引用意味着至少一个。此外,当描述与实施例相关的特定特征、结构或特征时,应认为,无论是否明确描述,实现这些特征、结构或者与其他实施例相同的特征,均是在本领域技术人员的知识内。图1是根据一个实施例的执行CNN计算的系统。图2A是根据一个实施例的包括矩阵引擎和滤波器引擎的卷积模块。图2B是根据另一实施例的包括混合引擎的卷积模块。图3是根据一个实施例的矩阵引擎。图4是根据一个实施例的滤波器引擎。图5是根据一个实施例的混合引擎。图6是根据另一实施例的卷积模块。图7是根据一个实施例的矩阵模式中具有调度数据(dispatcheddata)的硬件配置。图8是根据一个实施例的滤波器模式中具有调度数据的硬件配置。图9是根据一个实施例的执行卷积计算的方法的流程示意图。具体实施方式在下文中,进行了大量的具体说明。然而,可以理解的是,本专利技术的实施例可以无需这些具体说明而被实施。在其他示例中,为了不模糊本文的理解,已知的电路、结构和技术不进行详细说明。但是,可以理解的是,本领域的技术人员可以实施本专利技术,而无需这些具体说明。通过本文,本领域的技术人员将能实现适当的功能,而无需试验。本专利技术实施例提供一种用于有效卷积计算的方法及系统。该系统包括卷积模块,其进一步包括用于执行卷积计算的处理元件。卷积模块是卷积计算系统的核心计算模块。在下文中,以CNN为例,对卷积计算进行描述。可以理解的是,本文所描述的卷积计算技术可以被应用到计算卷积的任何应用或者问题中。在描述用于CNN计算的硬件架构之前,可能先描述CNN计算中使用的一些技术是有帮助的。通常,相比于输入图像尺寸,用于CNN计算的滤波器在尺寸上是较小的。例如,一个滤波器可以由5x5的滤波器权重构成,即沿着宽度维有5个滤波器权重,且沿着高度维有5个滤波器权重。相对而言,在每个宽度维和高度维中,输入图像可以具有成千上万个像素。除了宽度和高度,输入图像具有深度维,其可以是输入图像中颜色信道的数量。在卷积期间,滤波器滑过输入图像的宽度和/或高度,并且计算任何位置处的滤波器权重与图像像素值之间的点积(dotproduct)。当滤波器在输入图像上滑动时,生成二维输出特征图。输出特征图表示位于输入图像的每个空间位置处的滤波器响应。当多个滤波器被应用到输入图像时,生成多个输出特征图。每个输出特征图通过使用滤波器而产生,并且不同的输出特征图可以用于检测输入图像中的不同的特征。当计算点积(即卷积)时,滤波器可以按照一次一个像素的方式在输入图像上滑动。在一些情况中,滤波器可以按照一次多个像素的方式在输入图像上滑动。滤波器在卷积的每个步骤中在输入图像上滑过的像素的数量称为步幅大小(stridesize)。在一个实施例中,CNN计算系统包括至少两个引擎:矩阵引擎和滤波器引擎。矩阵引擎执行两个矩阵的矩阵乘法,其自输入图像和滤波器的卷积转换而来。很容易并行执行矩阵乘法,但是需要较大存储器及带宽。滤波器引擎可以包括处理元件,其接收图像数据和以对卷积计算有效的方式而分配的滤波器权重。但是,当问题尺寸和硬件尺寸不匹配时,滤波器引擎或者矩阵引擎可能遭受硬件利用效率低的问题。图1示出了本专利技术实施例可操作的系统100的示例。该系统100包括处理模块110,其与用于执行卷积计算的卷积模块120耦接。处理模块110可以包括一个或者多个处理器,每个处理器进一步包括用于执行算术操作和/或逻辑操作的电路。处理器的实施例包括,但不限于,中央处理单元(centralprocessingunit,CPU)、算术和逻辑单元(arithmeticandlogicunit,ALU)、向量处理器(vectorprocessor)和其他通用和/或专用处理电路。卷积模块120是用于执行卷积的执行引擎。卷积模块120可以包括多个被参考为处理元件的硬件组件,其中每个包括算术计算电路,例如一个或多个乘法器、加法器、累加器(accumulator,ACC)、ALU、处理器或其任何组合。处理元件可以被设置成一个或多个阵列。根本文档来自技高网...
一种执行卷积计算的系统及方法

【技术保护点】
1.一种执行卷积计算的系统,其特征在于,包括:分析模块,用于根据分析多个卷积特征的多个结果,生成模式选择信号以选择矩阵模式和滤波器模式中的一个,其中所述多个结果包括至少所述矩阵模式和所述滤波器模式之间的资源利用的比较;以及卷积模块,与所述分析模块耦接,包括多个处理元件,每个所述处理元件包括算术计算电路,其中所述卷积模块用于根据所述矩阵模式执行自多个卷积计算转换而来的多个矩阵乘法,并根据所述滤波器模式执行所述多个卷积计算。

【技术特征摘要】
2016.12.20 US 62/436,488;2017.10.19 US 15/787,8971.一种执行卷积计算的系统,其特征在于,包括:分析模块,用于根据分析多个卷积特征的多个结果,生成模式选择信号以选择矩阵模式和滤波器模式中的一个,其中所述多个结果包括至少所述矩阵模式和所述滤波器模式之间的资源利用的比较;以及卷积模块,与所述分析模块耦接,包括多个处理元件,每个所述处理元件包括算术计算电路,其中所述卷积模块用于根据所述矩阵模式执行自多个卷积计算转换而来的多个矩阵乘法,并根据所述滤波器模式执行所述多个卷积计算。2.如权利要求1中的执行卷积计算的系统,其特征在于,所述多个处理元件配置为两个二维阵列,所述两个二维阵列包括用于执行所述矩阵模式中的所述多个矩阵乘法的第一二维阵列,以及用于执行所述滤波器模式中的所述多个卷积计算的第二二维阵列。3.如权利要求1中的执行卷积计算的系统,其特征在于,所述多个处理元件用作一个混合二维阵列,所述混合二维阵列在运行期间根据所述模式选择信号执行所述矩阵模式中的所述多个矩阵乘法和所述滤波器模式中的所述多个卷积计算。4.如权利要求1中的执行卷积计算的系统,其特征在于,所述多个处理元件用作两个一维阵列,所述两个一维阵列包括用于执行所述矩阵模式中的所述多个矩阵乘法的第一一维阵列,以及用于执行所述滤波器模式中的所述多个卷积计算的第二一维阵列。5.如权利要求1中的执行卷积计算的系统,其特征在于,所述多个处理元件用作一个混合一维阵列,所述混合一维阵列在运行期间根据所述模式选择信号执行所述矩阵模式中的所述多个矩阵乘法和所述滤波器模式中的所述多个卷积计算。6.如权利要求1中的执行卷积计算的系统,其特征在于,还包括:数据调度引擎,用于根据所述模式选择信号将输入图像数据和多个滤波器权重调度到相应的所述多个处理元件中。7.如权利要求1中的执行卷积计算的系统,其特征在于,所述卷积计算包括卷积神经网络计算。8.如权利要求1中的执行卷积计算的系统,其特征在于,所述多个结果包括所述矩阵模式与所述滤波器模式之间的功率性能比较。9.如权利要求1中的执行卷积计算的系统,其特征在于,所述多个卷积特征包括输入图像的维度、所述卷积计算中所使用的滤波器的维度以及用于并行执行所述卷积计算的所述多个处理元件的纬度。10.如权利要求9中的执行卷积计算的系统,其特征在于,所述多个卷积特征还包括输入滤波器计数、关于所述输入图像的多个像素值的多个滤波器权重的步幅大小、输入数据批量尺寸、输入到所述卷积计算的所述多个滤波器权重和所述多个像素值的多个颜色信道排列以及所述卷积计算输出的多个卷积结果的多个颜色信道排...

【专利技术属性】
技术研发人员:蔡松芳丛培贵范博钧赖守仁
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

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

1