用于卷积运算的改进的电路、芯片、设备及方法技术

技术编号:39053610 阅读:17 留言:0更新日期:2023-10-12 19:46
本公开涉及用于卷积运算的改进的电路、芯片、设备及方法。一种用于卷积运算的电路包括:卷积电路,被配置为在每个周期对以下两项执行卷积运算:(1)来自卷积网络的多个输入通道的输入数据的至少一部分,和(2)卷积网络的多个卷积核的系数数据的至少一部分,其中多个卷积核中的每个卷积核与卷积网络的多个输出通道中的相应输出通道相关联。该电路被配置为:使得提供给卷积电路以执行卷积运算的以下一项跨多个连续的周期保持不变:(1)输入数据中被提供给卷积电路的第一数据块,或(2)系数数据中被提供给卷积电路的第二数据块。中被提供给卷积电路的第二数据块。中被提供给卷积电路的第二数据块。

【技术实现步骤摘要】
用于卷积运算的改进的电路、芯片、设备及方法


[0001]本公开涉及电子电路领域,并且更具体地,涉及用于卷积运算的改进的电路、芯片、设备及方法。

技术介绍

[0002]卷积运算是一种常见数学运算。卷积运算具有广泛的应用场景。例如,作为深度学习的代表算法之一,卷积神经网络(Convolutional Neural Network,CNN)包含大量的卷积运算并且具有深度结构。随着技术的发展和需求的增长,在诸如卷积神经网络之类的应用场景中所执行的卷积运算显著增长。

技术实现思路

[0003]本公开的一方面提供了一种用于卷积运算的电路,该电路包括卷积电路,卷积电路被配置为在每个周期对以下两项执行卷积运算:(1)来自卷积网络的多个输入通道的输入数据的至少一部分,和(2)卷积网络的多个卷积核的系数数据的至少一部分,其中多个卷积核中的每个卷积核与卷积网络的多个输出通道中的相应输出通道相关联。该电路被配置为使得提供给卷积电路以执行卷积运算的以下一项跨多个连续的周期保持不变:(1)输入数据中被提供给卷积电路的第一数据块,或(2)系数数据中被提供给卷积电路的第二数据块。
[0004]本公开的另一方面提供了一种用于卷积运算的方法,包括:提供卷积电路,该卷积电路被配置为在每个周期对以下两项执行卷积运算:(1)来自卷积网络的多个输入通道的输入数据的至少一部分,和(2)卷积网络的多个卷积核的系数数据的至少一部分,多个卷积核中的每个卷积核与卷积网络的多个输出通道中的相应输出通道相关联;使得提供给卷积电路以执行卷积运算的以下一项跨多个连续的周期保持不变:(1)输入数据中被提供给卷积电路的第一数据块,或(2)系数数据中被提供给卷积电路的第二数据块。
[0005]本公开的还有一方面提供了一种计算芯片,包括如本公开所述的用于卷积运算的电路。
[0006]本公开的还有一方面提供了一种计算设备,包括如本公开所述的计算芯片。
[0007]本公开的还有一方面提供了一种计算装置,包括:一个或多个处理器;以及存储计算机可执行指令的存储器,所述计算机可执行指令在被所述一个或多个处理器执行时使得所述一个或多个处理器执行根据本公开所述的任何方法。
[0008]本公开的还有一方面提供了一种其上存储有计算机可执行指令的非瞬态存储介质,所述计算机可执行指令在被一个或多个处理器执行时使得所述一个或多个处理器执行根据本公开所述的任何方法。
[0009]通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
[0010]构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
[0011]参照附图,根据下面的详细描述,可以更加清楚地理解本公开。
[0012]图1示出了执行多通道卷积运算的示例性实例的示意图。
[0013]图2示出了根据本公开的实施例的逻辑门元件的示意图。
[0014]图3示出了根据本公开的实施例的用于卷积运算的电路的示意图。
[0015]图4示出了根据本公开的实施例的执行多通道卷积运算的一种示例性过程的示意图。
[0016]图5示出了根据本公开的实施例的执行多通道卷积运算的另一示例性过程的示意图。
[0017]图6示出了根据本公开的实施例的用于卷积运算的示例性方法的流程图。
[0018]图7示出了根据本公开的实施例的计算芯片的示意图。
[0019]图8示出了根据本公开的实施例的计算设备的示意图。
[0020]注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0021]为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的专利技术并不限于附图等所公开的位置、尺寸及范围等。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
实施方式
[0022]卷积网络是一种被广泛应用的模型。训练或使用卷积网络时,需要执行大量的卷积运算。例如,卷积网络可以包含卷积层。卷积层可以包括一个或多个卷积核(convolution kernel)。每个卷积核可以由相应的系数数据来表示。卷积层的卷积核可以被用于针对输入通道提供的输入数据执行多通道卷积运算。在多通道卷积运算中,通过对来自多个输入通道的输入数据与多个卷积核的系数数据执行卷积运算,可以生成表示与输入数据的一个或多个特征相关联的结果值。这些结果值可以被提供给与该多个卷积核相关联的多个输出通道,作为多通道输出数据。
[0023]图1示出了执行多通道卷积运算的示例性实例1000的示意图。作为示例而非限制,在实例1000中,示出了多通道输入数据1100、多通道系数数据1200以及多通道输出数据1300。可选地,在实例1000中还示出了多通道偏置(bias)数据1400。
[0024]多通道输入数据1100可以来自卷积网络的多个输入通道。根据本公开的实施例,多通道输入数据1100可以包括与卷积网络相关联的各种类型的输入数据而不受限制。在一些实施例中,多通道输入数据1100可以包括卷积网络的原始输入数据。取决于训练或使用卷积网络的目的,原始输入数据可以包括但不限于图像数据、音频数据、视频数据、传感器数据等等。在另一些实施例中,多通道输入数据1100可以是卷积网络的至少一部分所产生的结果数据。例如,该结果数据可以包括卷积网络的一个或多个层基于原始输入数据而生
成的特征数据。该特征数据可以用作卷积网络的附加卷积层的输入。在还有的一些实施例中,多通道输入数据1100可以是原始输入数据和特征数据的组合。这些数据可以是在卷积网络的训练、测试或使用时提供的。
[0025]多通道输入数据1100可以被整体地表示为多维输入数组。该多维输入数组的尺寸可以表示为L
×
H
×
CIN,其中CIN表示输入通道的数量,L表示与每个输入通道的输入数据对应的二维数组的宽度,并且H表示每个输入通道的输入数据对应的二维数组的高度。在实例1000中,多通道输入数据1100被表示为多维输入数组X,其中CIN=3,并且L=H=7。来自第一输入通道的输入数据被表示为X[:, :, 0],其在本文中可以被表示为X0。来自第二输入通道的输入数据被表示为X[:, :, 1],其在本文中可以被表示为X1。来自第三输入通道的输入数据被表示为X[:, :, 2],其在本文中可以被表示为X2。注意到,如无特别说明,本公开中的表示索引的值一般从0开始。此外,每个输入通道的输入数据被表示为尺寸为7
×
7的二维数组。本领域技术人员可以理解,上述L、H、CIN的值仅仅是示例性的。在其他实施例中,L、H、CIN的值可以是其他合适的正整数(例如,不小本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于卷积运算的电路,其中,所述电路包括:卷积电路,被配置为在每个周期对以下两项执行卷积运算:(1)来自卷积网络的多个输入通道的输入数据的至少一部分,和(2)所述卷积网络的多个卷积核的系数数据的至少一部分,其中所述多个卷积核中的每个卷积核与所述卷积网络的多个输出通道中的相应输出通道相关联;其中,所述电路被配置为:使得提供给所述卷积电路以执行卷积运算的以下一项跨多个连续的周期保持不变:(1)所述输入数据中被提供给所述卷积电路的第一数据块,或(2)所述系数数据中被提供给所述卷积电路的第二数据块。2.如权利要求1所述的电路,其中,所述多个输入通道的数量为CIN,所述多个输出通道的数量为COUT,所述电路被配置为:执行CIN轮卷积运算,每轮卷积运算包括连续的COUT个周期,其中所述输入数据中被提供给所述卷积电路的所述第一数据块在所述连续的COUT个周期中保持不变。3.如权利要求2所述的电路,其中,所述电路被配置为:在所述连续的COUT个周期中的每个周期中:向所述卷积电路提供来自同一特定输入通道的相同输入数据作为第一数据块;向所述卷积电路提供所述多个卷积核中的相应卷积核的相应系数数据作为第二数据块,其中所述相应卷积核是至少基于所述周期而确定的;通过所述卷积电路对所述第一数据块和所述第二数据块执行卷积运算以获得相应卷积结果;以及将所述相应卷积结果累加到多个寄存器中的相应寄存器中。4.如权利要求3所述的电路,其中,所述电路被配置为:跨所述CIN轮卷积运算中的每轮卷积运算,改变从其获得所述第一数据块的所述特定输入通道。5.如权利要求4所述的电路,其中,所述电路还被配置为:至少基于所述多个寄存器中的多个累加值,确定与所述多个输出通道相关联的多个结果值。6.如权利要求5所述的电路,其中,所述电路还被配置为:将多个偏置值中的相应偏置值添加到所述多个寄存器中的相应寄存器中的相应累加值,以确定与所述多个输出通道中的相应输出通道相关联的相应结果值。7.如权利要求1所述的电路,其中,所述多个输入通道的数量为CIN,所述电路被配置为:执行CIN轮卷积运算,每轮卷积运算包括连续的P个周期,其中,所述系数数据中被提供给所述卷积电路的所述第二数据块在所述连续的P个周期中保持不变,其中P是不小于2的整数。8.如权利要求7所述的电路,其中,所述电路被配置为:在所述连续的P个周期中的每个周期中:向所述卷积电路提供来自所述多个输入通道中的同一特定输入通道的输入数据的相应一部分作为第一数据块,其中所述相应一部分是至少基于预定滑动步长和所述周期而确定的;
向所述卷积电路提供所述多个卷积核中的同一特定卷积核的相同系数数据,作为第二数据块;通过所述卷积电路对所述第一...

【专利技术属性】
技术研发人员:薛可范志军许超刘建波杨作兴
申请(专利权)人:深圳比特微电子科技有限公司
类型:发明
国别省市:

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

1