CN116075821A - 表格卷积和加速 - Google Patents
表格卷积和加速 Download PDFInfo
- Publication number
- CN116075821A CN116075821A CN202180055716.XA CN202180055716A CN116075821A CN 116075821 A CN116075821 A CN 116075821A CN 202180055716 A CN202180055716 A CN 202180055716A CN 116075821 A CN116075821 A CN 116075821A
- Authority
- CN
- China
- Prior art keywords
- input data
- convolution
- tabular representation
- output
- generate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/195—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references using a resistor matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/41—Analysis of texture based on statistical description of texture
- G06T7/45—Analysis of texture based on statistical description of texture using co-occurrence matrix computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Algebra (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
本公开的某些方面提供了用于执行表格卷积的技术,包括:对输入数据执行表格化操作,以生成输入数据的表格化表示;以及使用输入数据的表格化表示来执行卷积操作以生成卷积输出。
Description
相关申请的交叉引用
本申请要求于2021年8月19日提交的美国专利申请No.17/407,046的优先权,该美国专利申请要求于2020年8月21日提交的美国临时专利申请No.63/068,891的权益和优先权,这些申请的全部内容通过援引纳入于此。
引言
本公开的各方面涉及改进的机器学习处理。
机器学习一般是产生经训练模型(例如,人工神经网络、树或其他结构)的过程,该经训练模型表示对先验已知的训练数据集合的广义拟合。将经训练模型应用于新数据产生推断,这可被用于获得关于新数据的洞察。在一些情形中,将模型应用于新数据被描述为对新数据“运行推断”。
由于机器学习的使用激增以实现各种机器学习(或人工智能)任务,因此出现了对更高效地处理机器学习模型数据的需求。例如,“边缘处理”设备(诸如移动设备、常开设备、物联网(IoT)设备等)必须平衡处理能力与功率和封装约束。
常规情况下低效的一个方面的机器学习处理是在机器学习模型中处理稀疏数据。机器学习通常需要对输入数据进行大量数学运算,包括乘法和加法运算等。常规情况下,这些运算被执行,而无论它们是否会产生有意义的输出。例如,在输入数据非常稀疏(例如,有许多零值)的场合,常规的机器学习处理仍然对零值输入执行乘法和加法。这可能导致效率低下,因为用零输入值进行的运算可能不会改变或另行导致有意义的输出。例如,将零与任何数字相加会得到相同的数字。
相应地,需要用于提高稀疏输入数据的机器学习处理效率的系统和方法。
简要概述
某些方面提供了用于执行表格卷积的方法,包括:对输入数据执行表格化操作,以生成输入数据的表格化表示;以及使用输入数据的表格化表示来执行卷积操作以生成卷积输出。
其他方面提供了:处理系统,其被配置成执行前述方法以及本文中所描述的那些方法;非瞬态计算机可读介质,其包括在由处理系统的一个或多个处理器执行时使该处理系统执行前述方法以及本文中所描述的那些方法的指令;计算机程序产品,其被实施在计算机可读存储介质上,该计算机可读存储介质包括用于执行前述方法以及本文中进一步描述的那些方法的代码;以及处理系统,其包括用于执行前述方法以及本文中进一步描述的那些方法的装置。
以下描述和相关附图详细阐述了一个或多个实施例的某些解说性特征。
附图简述
附图描绘了该一个或多个实施例的某些方面,并且因此不被认为限制本公开的范围。
图1A和1B描绘了可以在表格卷积中使用的权重内核的示例。
图2A和2B描绘了稀疏输入数据的表格化的示例方面。
图3描绘了执行表格卷积的示例方法。
图4A-4C描绘了表格卷积的示例结果。
图5描绘了用跳跃连接执行表格卷积的示例方法。
图6描绘了对表格化输入数据进行哈希的示例。
图7描绘了执行表格卷积的示例方法。
图8描绘了被配置成用于执行表格卷积的示例处理系统。
为了促成理解,在可能之处使用了相同的附图标记来指定各附图共有的相同要素。构想了一个实施例的要素和特征可有益地被纳入到其他实施例中而无需进一步引述。
详细描述
本公开的各方面提供了用于高效地执行稀疏输入数据的机器学习处理,尤其是对稀疏数据执行表格卷积以提高卷积处理效率的装置、方法、处理系统和计算机可读介质。
稀疏数据一般是指具有相对高比例的零(或接近零)值条目的数据,诸如向量、矩阵、或张量数据。例如,具有条目[0,0,0,1]的简单示例向量可以被视为75%稀疏(和25%密集)。在对该示例向量执行数学运算(诸如逐元素加法)时,显然,稀疏条目对于75%的向量元素而言不会改变输出值。类似地,在执行乘法运算时,显然,基于零值元素的所有相继乘法运算同样将取零值。当在机器学习处理中考虑大量数学运算时,这些稀疏条目代表效率增强的机会,这可以有益地导致更快的机器学习处理、较低功率处理、降低复杂度的处理、减少的数据存储(例如,存储器)需求、较低成本的硬件要求以及还有其他益处。
与常规的密集表示形成对比,数据的稀疏表示在许多技术领域中越来越适当。例如,在各种类型的终端用户产品中使用的现代传感器系统通常可产生稀疏数据。一个示例是汽车应用(例如,自动驾驶系统)和移动设备应用(例如,用于生物测定用户认证)中使用的光检测和测距(LiDAR)传感器所生成的三维(3D)点云。此类3D点云通常非常稀疏。
常规的机器学习办法(诸如深度学习)没有利用稀疏性来改进性能。例如,对稀疏图像数据的常规卷积处理可能依赖于多层感知(MLP)操作(例如,PointNet、PointNet++和PointConv),由于其操作的全连接本质而牺牲了效率。
其他办法可涉及将稀疏输入数据转换成其他表示,诸如通过体素化以用于3D卷积神经网络处理,通过投影/渲染以用于二维(2D)卷积神经网络处理,以及通过特征提取以用于全连接操作。值得注意的是,这些基于转换的办法都没有直接在稀疏数据表示中进行深度学习,并且由此,这些办法中的每一者都会基于所需的转换而引发附加的复杂度和低效率。
在一些情形中,诸如在处理来自事件相机或传感器的事件图像时,由于缺乏对稀疏输入数据执行卷积的高效方法,因此完全避开了深度学习办法。
本文所描述的实施例通过实现稀疏感知卷积(其可被替换地称为表格卷积)克服了这些常规的技术问题。表格卷积有益地直接对稀疏数据实现快速且高效的卷积处理,而无需昂贵且复杂的输入数据至密集表示的转换。总体而言,本文描述的表格卷积方法可以应用于2D卷积以及更高维的卷积。本文所描述的附加实施例进一步藉由各种加速步骤来增强表格卷积。
表格卷积
本文所描述的表格卷积的实施例总体而言可包括对输入数据执行的表格化操作、继以利用表格化输入数据的专门卷积。表格化操作通常获取稀疏数据序列,并将其转换为表格数据格式,其具有一列的活跃点和多列来指示相邻点与活跃点的关系。专门卷积获取表格化输入数据以执行与常规卷积等效但复杂度显著降低的算术运算。由此,表格卷积允许直接对稀疏数据表示执行操作(例如,无需中间转换为密集数据表示),同时以密集方式执行数学运算(例如,无需处理稀疏数据元素)。如上所述,数据表示中的稀疏数据元素通常可以是零值元素。在一些情形中,可以使用稀疏元素阈值来确定元素是否应被视为稀疏元素。
由此,表示任意的“原始”格式的活跃点(或元素)集合,例如,取决于传感器和设备接口。随后可被转换成具有形状的确定字典表示(Xactive),以使得 其中标示元素a在通道c中和在维度j中的坐标,并且标示元素a的元素值。由于原始输入数据具有任意格式,因此可能并不总是有D维。这里,可以通过引入D因子以显式地表示每个活跃点的D分量坐标来施行数据格式的“标准化”。相应地,Xactive格式是活跃元素的“字典”格式,其中每个元素由D-分量坐标和该坐标(位置)处的数量的元组表示。
现在,表格化操作可以被定义为:
XT=TK(Xactive)={xa,k:a=0,1,…,A-1;k=0,1,…,K-1},
并且其中:
注意,在上面的表达式中,a指示活跃点,并且在k=0列处的活跃点的表格化值等于(表格化之前)xactive格式中的活跃点。
给定上面的表格化操作定义,可以定义索引规则k=Λ,其中Λ是活跃点的邻居的索引集合。例如,如果K=5,则Λ={1,2,3,4},因为k=0是活跃点本身的索引。
例如,图1A和1B描绘了包括用于通道c的权重(Wc)的两个示例内核100A和100B,其中对于内核100A,K=9,以及对于内核100B,K=5。在该示例中,图1A的内核100A是具有维度3×3的“正方形内核”,因此具有K=9个条目,而图1B的内核100B是具有K=5个条目的非正方形的十字形内核。
由此,考虑图1A,其中D=2(维度)和K=9(内核条目),则可以针对每个k=Λ∈{1,…,K-1}推导出索引规则,以使得:
作为另一示例,考虑图1B,其中D=2(维度)和K=5(内核条目),则可以针对每个k=Λ∈{1,…,K-1}推导出索引规则,以使得:
在这些示例中,其中索引值为(x,y)的形式,负x索引值表示相对于中心k=0索引向左的移动,负y索引值表示相对于中心向下的移动,正x索引值表示相对于中心向右的移动,而正y索引值表示相对于中心向上的移动。
给定上述稀疏输入数据表示定义和索引规则,图2A和2B描绘了如何使用权重内核基于稀疏数据输入来形成表格化输出的示例。
具体而言,图2A描绘了在D=2维度(d0和d1)中标绘的活跃元素{x0,…,x9}。由此,在该示例中,A=10个活跃元素。
进一步在图2A中,描绘了权重内核覆盖202,以给出图2B中的索引方案的上下文。例如,从活跃元素x0的角度来看,活跃元素x1被索引为(0,-1),因为它在d1维度上从x0向下一个单元(-1)并且在d0维度上处于相同单元处。
在图2B中,表中索引为(0,0)的最左列(例如,中心点)是活跃点向量Xactive,其表示图2A中描绘的活跃元素{x0,…,x9}。索引为(1,0)、(-1,0)、(0,1)和(0,-1)的其余列表示基于上述索引规则在活跃元素之间的表格化关系。
值得注意的是,生成图2B中描绘的输出的表格化操作TK不涉及乘法,并且仅需要逐位逻辑来重新组织稀疏数据(其比密集数据的量要小得多)。
图3描绘了示例表格化卷积操作300,其始于在步骤302(如上所述)进行输入数据Xactive的表格化,以生成表格化输出数据XT。然后,在步骤304,将表格化输出数据XT与内核权重W进行卷积,以生成表格化卷积输出数据Y=XTW。
注意,图3中描绘的示例假设一次性对数据的C中的全部一个或多个通道c进行卷积,但是该过程可以分别对每个通道的数据迭代地重复,即,针对C中的全部通道c生成在此类情形中,可以在每个通道特定迭代期间累积部分(通道特定)卷积输出,以生成最终的表格卷积输出。
与常规的密集卷积相比,表格卷积在数学上达成了等效的卷积结果,但是稀疏表示实现高效的矩阵乘法运算。相应地,如果K固定,执行表格卷积所需的复杂度是CAK或O(CA),其中C是输入数据中的通道数目,A表示输入数据中的活跃(非零)元素的数目,并且K是每层的内核条目的数目。在卷积层中涉及N个输出通道的情形中,复杂度由此为CAKN或O(CAN)。
此外,根据以上定义,在一层或多层的表格卷积之后,稀疏表示上的稀疏性被维持。换言之,活跃点集合保持不受影响,这意味着卷积输出没有扩张或模糊,因为目标点集合严格遵循活跃点。
例如,图4A-4C描绘了稀疏输入数据的常规卷积相对于表格化卷积的示例。
具体而言,图4A描绘了稀疏输入数据400,其中像素(正方形)指示具有非零值的活跃元素。
图4B描绘了稀疏输入数据400的常规卷积的结果410。值得注意的是,该卷积造成了原始活跃元素的扩张,使得多出来许多具有非零值的活跃元素,如用围绕原始输入数据像素的不同阴影的像素所标注的。
另一方面,图4C描绘了表格卷积操作的结果420。值得注意的是,与图4A相比,活跃元素的值已经改变,如由每个像素中的图案变化所描绘的,但是具有非零值的像素(活跃元素)的数目和位置保持不变。
具有跳跃连接的表格卷积
在一些实施例中,可以用跳跃连接来实现表格卷积,如图5所描绘的。对于此类实施例,可以如下将XT重新定义为XT′:
XT′=TK(Xactive)={xa,k:a=0,1,…,A-1;k=1,…,K-1},
值得注意的是,与上面讨论的在没有跳跃连接的表格卷积定义中k从0到K-1相比,在上面的重新定义中,包括k从1到K-1。由此,该重新定义在应用内核权重之前从表格化结果中移除了列0的XT(具有活跃元素(Xactive)的密集向量分量,诸如图2B中所描绘的),以形成XT′。有益地,移除活跃元素增加了剩余表格化表示XT′的稀疏性,这进一步改进了表格化卷积的效率增益。
为了计及在卷积之前活跃元素(Xactive)的移除,添加了跳跃连接502。此外,与所有通道的内核的中心条目(例如,图1A和1B中的k=0)相对应的权重针对所有活跃点变为1,并且所有通道的内核的非中心条目保持可训练并且相关于(为1的)中心条目,从而形成W′。因此,带有跳跃连接的结果所得表格卷积可以表示为:
Y=XT′W′+Xactive。
相应地,在图5的示例500中,Xactive被提供作为表格化步骤504的输入,并在跳跃连接502上提供给逐元素求和(或加法)运算器508。
然后在步骤506,将表格化数据表示XT′(缺少k=0活跃元素)与内核权重W′进行卷积,以生成XT′W′。最后,将卷积输出XT′W′与跳跃连接502(携带值Xactive)求和,以生成表格卷积输出Y。
添加跳跃连接和重新定义表格表示XT′提供了胜于(例如,关于图3描述的)无跳跃连接的表格卷积的附加益处,包括进一步降低计算复杂度(尤其是对于非正方形权重内核,诸如图1B中的内核100B和图2A中的202),并且进一步减少权重存储器和中间激活存储器(尤其是对于稀疏权重内核)。这些处理效率改进中的每一者都可节省处理系统中的时间和功率,这对于移动边缘处理设备而言可能尤其有益。此外,在中间存储器中为全稀疏数据的情况下,进一步优化是可能的,如下文所述。
哈希表格卷积
有可能通过为权重内核的每个维度创建一维哈希来进一步压缩表格稀疏数据表示。
如图6中所描绘的,在不用零条目来填充的每个完整列的情况下,可以为数据中的每个维度(例如,该示例中的d0和d1)生成一维的哈希指针列表(例如602和604)。注意,这里使用“哈希指针列表”来描述表示一维或多维结构的通用数据结构。
使用图1B、2A和2B中的示例,其中K=5和D=2,可以定义哈希指针列表{Lo,L1},其中在D=2时,每个列表指向维度的值。在该示例中,此处的两个哈希指针列表{Lo,L1}首先构建Lo的逐行指针和L1的逐列指针。在逐列折叠和将每列乘以对应内核值之后,在Lo中执行逐行折叠以移除所有空条目。在一般情形中,可以为{Lo,L1,…,LD-1}生成哈希指针列表,这意味着可以将哈希表格卷积应用于与2D数据相比更高维度的数据,如在图6的示例中。
由于{Lo,L1}是指针列表,因此其他指针列表Lo的解引用(dereferenced)值自动变成用对应的内核权重来更新。例如,最后,L0中的哈希指针列表的所有指向型条目例如根据下式被求和以生成表格卷积输出:
其中i是L0,k的每个元素的索引。
由此,使用哈希指针列表进一步降低了计算复杂度,这进而有益地减少处理时间并减少存储器要求。
示例测试结果和效率改进
在测试中,用已知的卷积架构(诸如ResNet)实现的表格卷积有益地将计算复杂度和模型大小降低了至少20%,而准确性没有降级。在测试中,所有内核权重通过相对于具有值1的k=0内核权重元素的随机梯度下降来学习。
此外,测试表明,与具有相同广度的正方形内核(例如,3个像素宽和高,诸如图1A中的内核100A)相比,非正方形内核(诸如图1B中的内核100B)导致复杂度和存储器利用的进一步改进。由此,例如,具有非正方形内核(如图1B中)的表格卷积能够胜过具有相同外部广度(例如,最宽行为三个单元宽且最高列为三个单元高)的正方形内核(如图1A中)的表格卷积。
下表1包括基于本文描述的方法的进一步计算复杂度比较:
表1:复杂度比较
在表1中,C是指通道的数目并且S=HW,其中H和W分别是输入数据(例如,张量)的高度和宽度。此外,在表1中,A=S/100用作示例,其中在2个维度中的每个维度中假设密度为1/10,诸如针对来自各种类型的传感器(包括事件相机)的稀疏数据。此外,R被定义为相对于中心“活跃”元素由内核覆盖的邻居的平均(比率)数目。此外,当使用带有跳跃连接的哈希表格卷积时,内核大小K不会直接影响乘法的数目;相反,R变成了乘法数目(或激活存储器大小)的决定性因素。
如表1所指示的,与常规深度可分离密集卷积相比,利用表格卷积有益地减小了乘法数目和模型大小,因为S=HW>>A,其中H是输入数据的高度(例如,以像素计),且W是输入数据的宽度(例如,以像素计)。
用于执行表格卷积的示例方法
图7描绘了用于执行表格卷积的示例方法700。
方法700始于在步骤702,对输入数据执行表格化操作,以生成输入数据的表格化表示(例如,如图3中的步骤302和图5中的504)。
方法700随后前进至步骤704,使用输入数据的表格化表示来执行卷积操作以生成卷积输出(例如,如图3中的步骤304和图5中的506)。
在一些实施例中,方法700进一步包括:确定用于机器学习模型的卷积层的输入数据的稀疏性大于阈值稀疏性值。
在方法700的一些实施例中,执行卷积操作包括:执行权重张量与输入数据的表格化表示之间的矩阵乘法以生成卷积输出,诸如图3中描绘的(XTW)和图5中描绘的(XT′W′)。
在方法700的一些实施例中,执行表格化操作包括:使用索引规则来填充输入数据的表格化表示,其中该索引规则基于输入数据的活跃元素与输入数据中毗邻活跃元素的多个元素之间的关系来定义多个索引值。
在方法700的一些实施方案中,卷积层的卷积输出的稀疏性与该卷积层的输入数据的稀疏性相同,诸如图4A和4C的示例中所描绘的。
在一些实施例中,方法700进一步包括:在执行卷积操作之前,从输入数据的表格化表示中移除活跃点向量分量,以及将活跃点向量分量与卷积输出求和以生成卷积层输出。例如,如上关于图5所描述的,可以从表格化表示中移除Xactive以形成XT′,并且可以通过跳跃连接502将Xactive添加回来。
在一些实施例中,方法700进一步包括:在执行卷积操作之前,从输入数据的表格化表示中移除活跃点向量分量;以及基于表格化表示来生成多个一维哈希指针列表,诸如上文关于图6所描述的。在此类情形中,卷积操作包括:将与多个一维哈希指针列表中的第一哈希指针列表中的每个指针相关联的输入值乘以基于该值的内核索引的相关联标量权重值;以及将与多个一维哈希指针列表中的第二哈希指针列表中的每个指针相关联的加权输入值求和以生成卷积输出。
在一些实施例中,方法700进一步包括:确定与卷积输出相关联的损失值;以及基于该损失值来更新与机器学习模型的卷积层相关联的多个权重。
在方法700的一些实施例中,卷积操作包括深度可分离卷积操作。
在方法700的一些实施例中,输入数据包括稀疏图像传感器数据。在一些实施例中,输入数据包括点云,诸如稀疏的光检测和测距(LiDAR)传感器数据。
用于执行基于硬件的语音活动检测的示例处理系统
图8描绘了被配置成用于执行表格卷积(诸如本文例如关于图2-6所描述的表格卷积)的示例处理系统800。
处理系统800包括中央处理单元(CPU)802,其在一些示例中可以是多核CPU。在CPU802处执行的指令可例如从与CPU 802相关联的程序存储器加载或可从存储器分区824加载。
处理系统800还包括为特定功能定制的附加处理组件,诸如图形处理单元(GPU)804、数字信号处理器(DSP)806、神经处理单元(NPU)808、多媒体处理单元810、多媒体处理单元810、以及无线连通性组件812。
NPU(诸如808)一般是被配置成用于实现用于执行机器学习算法(诸如用于处理人工神经网络(ANN)、深度神经网络(DNN)、随机森林(RF)等的算法)的所有必要的控制和算术逻辑的专用电路。NPU有时可替换地被称为神经信号处理器(NSP)、张量处理单元(TPU)、神经网络处理器(NNP)、智能处理单元(IPU)、视觉处理单元(VPU)、或图形处理单元。
NPU(诸如808)可被配置成加速常见机器学习任务(诸如图像分类、机器翻译、对象检测以及各种其他预测模型)的执行。在一些示例中,多个NPU可在单个芯片(诸如片上系统(SoC))上实例化,而在其他示例中,多个NPU可以是专用神经网络加速器的一部分。
NPU可被优化用于训练或推断,或者在一些情形中被配置成平衡两者之间的性能。对于能够执行训练和推断两者的NPU,这两个任务一般仍可独立地执行。
被设计成加速训练的NPU一般被配置成加速对新模型的训练,这是涉及输入现有数据集(常常是被标记的或含标签的)、在数据集上进行迭代、以及接着调节模型参数(诸如权重和偏置)以便改进模型性能的高度计算密集的操作。一般而言,基于错误预测进行优化涉及往回传递通过模型的各层并确定梯度以减少预测误差。
被设计成加速推断的NPU一般被配置成在完整模型上操作。此类NPU由此可被配置成:输入新的数据片段并通过已经训练的模型对其快速处理以生成模型输出(例如,推断)。
在一种实现中,NPU 808是CPU 802、GPU 804和/或DSP 806中的一者或多者的一部分。
在一些示例中,无线连通性组件812可包括例如用于第三代(3G)连通性、第四代(4G)连通性(例如,4G LTE)、第五代连通性(例如,5G或NR)、Wi-Fi连通性、蓝牙连通性、以及其他无线数据传输标准的子组件。无线连通性处理组件812进一步连接到一个或多个天线814。
处理系统800还可包括与任何方式的传感器相关联的一个或多个传感器处理单元816、与任何方式的图像传感器相关联的一个或多个图像信号处理器(ISP)818、和/或导航处理器820,该导航处理器820可包括基于卫星的定位系统组件(例如,GPS或GLONASS)以及惯性定位系统组件。
处理系统800还可包括一个或多个输入和/或输出设备822,诸如屏幕、触敏表面(包括触敏显示器)、物理按钮、扬声器、话筒等等。
在一些示例中,处理系统800的一个或多个处理器可基于ARM或RISC-V指令集。
处理系统800还包括存储器824,该存储器824代表一个或多个静态和/或动态存储器,诸如动态随机存取存储器、基于闪存的静态存储器等。在该示例中,存储器824包括计算机可执行组件,其可由处理系统800的前述处理器中的一个或多个处理器执行。
具体地,在该示例中,存储器824包括确定组件824A、表格化组件824B、卷积组件824C、向量-矩阵乘法组件824D、哈希组件824E、索引组件824F、训练组件824G和模型参数824G。所描绘的组件以及其他未描绘的组件可被配置成执行本文所描述的方法的各个方面。
一般而言,处理系统800和/或其组件可被配置成执行本文所描述的方法。值得注意的是,在处理系统被配置成主要用于使用表格卷积来训练机器学习模型的情况下,可省略某些方面,诸如多媒体810、无线连通性812、天线814、传感器816、ISP 818和导航820。
示例条款
在以下经编号条款中描述了各实现示例。
条款1:一种方法,包括:对输入数据执行表格化操作,以生成输入数据的表格化表示;以及使用输入数据的表格化表示来执行卷积操作以生成卷积输出。
条款2:如条款1的方法,进一步包括:基于确定输入数据的稀疏性大于阈值稀疏性值来执行表格化操作。
条款3:如条款1-2中任一项的方法,其中执行卷积操作包括:执行权重张量与输入数据的表格化表示之间的矩阵乘法以生成卷积输出。
条款4:如条款1-3中任一项的方法,其中执行表格化操作包括:根据索引规则来填充输入数据的表格化表示,其中该索引规则基于输入数据的活跃元素与输入数据中毗邻该活跃元素的多个元素之间的关系来定义多个索引值。
条款5:如条款1-4中任一项的方法,其中,该卷积输出的稀疏性与输入数据的稀疏性相同。
条款6:如条款1-5中任一项的方法,进一步包括:在执行卷积操作之前,从输入数据的表格化表示中移除活跃点向量分量;以及将该活跃点向量分量与卷积输出求和,以生成卷积层输出。
条款7:如条款4的方法,进一步包括:在执行卷积操作之前,从输入数据的表格化表示中移除活跃点向量分量;以及基于该表格化表示来生成多个一维哈希指针列表,其中该卷积操作包括:将与该多个一维哈希指针列表中的第一哈希指针列表中的每个指针相关联的输入值乘以基于该输入值的内核索引的标量权重值;以及将与该多个一维哈希指针列表中的第二哈希指针列表中的每个指针相关联的加权输入值求和以生成卷积输出。
条款8:如条款1-7中任一项的方法,进一步包括:确定与卷积输出相关联的损失值;以及基于该损失值来更新与机器学习模型的卷积层相关联的多个权重。
条款9:如条款1-8中任一项的方法,其中该卷积操作包括深度可分离卷积操作。
条款10:如条款1-9中任一项的方法,其中输入数据包括稀疏图像传感器数据。
条款11:如条款1-10中任一项的方法,其中输入数据包括稀疏的光检测和测距(LiDAR)传感器数据。
条款12:一种处理系统,包括:包括计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器被配置成执行该计算机可执行指令并使该处理系统执行根据条款1-11中任一项的方法。
条款13:一种处理系统,包括用于执行根据条款1-11中任一者的方法的装置。
条款14:一种包括计算机可执行指令的非瞬态计算机可读介质,这些计算机可执行指令在由处理系统的一个或多个处理器执行时使该处理系统执行根据条款1-11中任一者的方法。
条款15:一种实施在计算机可读存储介质上的计算机程序产品,包括用于执行根据条款1-11中任一者的方法的代码。
附加考虑
提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各个实施例。本文所讨论的示例并非是对权利要求中阐述的范围、适用性或者实施例的限定。对这些实施例的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他实施例。例如,可以对所讨论的要素的功能和布置作出改变而不会脱离本公开的范围。各种示例可恰适地省略、替代、或添加各种规程或组件。例如,可以按与所描述的次序不同的次序来执行所描述的方法,并且可以添加、省略、或组合各种步骤。而且,参照一些示例所描述的特征可在一些其他示例中被组合。例如,可使用本文中所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为本文中所阐述的本公开的各个方面的补充或者不同于本文中所阐述的本公开的各个方面的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,本文中所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
如本文所使用的,术语“示例性”意指“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
如本文中所使用的,引述一列项目“中的至少一者”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:a、b、c、a-b、a-c、b-c、和a-b-c,以及具有多重相同元素的任何组合(例如,a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c、和c-c-c,或者a、b和c的任何其他排序)。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或另一数据结构中查找)、查明及诸如此类。而且,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)及诸如此类。而且,“确定”可包括解析、选择、选取、建立及诸如此类。
本文中所公开的各方法包括用于实现方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。此外,上述方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般地,在存在附图中解说的操作的场合,这些操作可具有带相似编号的相应配对装置加功能组件。
以下权利要求并非旨在被限定于本文中示出的实施例,而是应被授予与权利要求的语言相一致的全部范围。在权利要求内,对单数元素的引用不旨在意指“有且只有一个”(除非专门如此声明),而是“一个或多个”。除非特别另外声明,否则术语“一些/某个”指的是一个或多个。权利要求的任何要素都不应当在35U.S.C.§112(f)的规定下来解释,除非该要素是使用短语“用于……的装置”来明确叙述的或者在方法权利要求情形中该要素是使用短语“用于……的步骤”来叙述的。本公开通篇描述的各个方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文所公开的任何内容都不旨在捐献于公众,无论此类公开内容是否明确记载在权利要求书中。
Claims (30)
1.一种方法,包括:
对输入数据执行表格化操作,以生成所述输入数据的表格化表示;以及
使用所述输入数据的所述表格化表示来执行卷积操作以生成卷积输出。
2.如权利要求1所述的方法,进一步包括:基于确定所述输入数据的稀疏性大于阈值稀疏性值来执行所述表格化操作。
3.如权利要求1所述的方法,其中执行卷积操作包括:执行权重张量与所述输入数据的所述表格化表示之间的矩阵乘法以生成所述卷积输出。
4.如权利要求1所述的方法,其中,执行表格化操作包括:
根据索引规则来填充所述输入数据的所述表格化表示,
其中所述索引规则基于所述输入数据的活跃元素与所述输入数据中毗邻所述活跃元素的多个元素之间的关系来定义多个索引值。
5.如权利要求1所述的方法,其中,所述卷积输出的稀疏性与所述输入数据的稀疏性相同。
6.如权利要求1所述的方法,进一步包括:
在执行所述卷积操作之前,从所述输入数据的所述表格化表示中移除活跃点向量分量;以及
将所述活跃点向量分量与所述卷积输出求和,以生成卷积层输出。
7.如权利要求4所述的方法,进一步包括:
在执行所述卷积操作之前,从所述输入数据的所述表格化表示中移除活跃点向量分量;以及
基于所述表格化表示来生成多个一维哈希指针列表,
其中所述卷积操作包括:
将与所述多个一维哈希指针列表中的第一哈希指针列表中的每个指针相关联的输入值乘以基于所述输入值的内核索引的标量权重值;以及
将与所述多个一维哈希指针列表中的第二哈希指针列表中的每个指针相关联的加权输入值求和以生成所述卷积输出。
8.如权利要求1所述的方法,进一步包括:
确定与所述卷积输出相关联的损失值;以及
基于所述损失值来更新与机器学习模型的卷积层相关联的多个权重。
9.如权利要求1所述的方法,其中所述卷积操作包括深度可分离卷积操作。
10.如权利要求1所述的方法,其中所述输入数据包括稀疏图像传感器数据。
11.如权利要求1所述的方法,其中所述输入数据包括稀疏的光检测和测距(LiDAR)传感器数据。
12.一种处理系统,包括:
包括计算机可执行指令的存储器;以及
一个或多个处理器,所述一个或多个处理器被配置成执行所述计算机可执行指令并使所述处理系统:
对输入数据执行表格化操作,以生成所述输入数据的表格化表示;以及
使用所述输入数据的所述表格化表示来执行卷积操作以生成卷积输出。
13.如权利要求12所述的处理系统,其中所述一个或多个处理器被进一步配置成:基于确定所述输入数据的稀疏性大于阈值稀疏性值来执行所述表格化操作。
14.如权利要求12所述的处理系统,其中为了执行卷积操作,所述一个或多个处理器被进一步配置成:执行权重张量与所述输入数据的所述表格化表示之间的矩阵乘法以生成所述卷积输出。
15.如权利要求12所述的处理系统,其中为了执行表格化操作,所述一个或多个处理器被进一步配置成:
根据索引规则来填充所述输入数据的所述表格化表示,
其中所述索引规则基于所述输入数据的活跃元素与所述输入数据中毗邻所述活跃元素的多个元素之间的关系来定义多个索引值。
16.如权利要求12所述的处理系统,其中,所述卷积输出的稀疏性与所述输入数据的稀疏性相同。
17.如权利要求12所述的处理系统,其中,所述一个或多个处理器被进一步配置成:
在执行所述卷积操作之前,从所述输入数据的所述表格化表示中移除活跃点向量分量;以及
将所述活跃点向量分量与所述卷积输出求和,以生成卷积层输出。
18.如权利要求15所述的处理系统,其中,所述一个或多个处理器被进一步配置成:
在执行所述卷积操作之前,从所述输入数据的所述表格化表示中移除活跃点向量分量;以及
基于所述表格化表示来生成多个一维哈希指针列表,
其中为了执行所述卷积操作,所述一个或多个处理器被进一步配置成:
将与所述多个一维哈希指针列表中的第一哈希指针列表中的每个指针相关联的输入值乘以基于所述输入值的内核索引的标量权重值;以及
将与所述多个一维哈希指针列表中的第二哈希指针列表中的每个指针相关联的加权输入值求和以生成所述卷积输出。
19.如权利要求12所述的处理系统,其中,所述一个或多个处理器被进一步配置成:
确定与所述卷积输出相关联的损失值;以及
基于所述损失值来更新与机器学习模型的卷积层相关联的多个权重。
20.如权利要求12所述的处理系统,其中所述卷积操作包括深度可分离卷积操作。
21.如权利要求12所述的处理系统,其中所述输入数据包括稀疏图像传感器数据。
22.如权利要求12所述的处理系统,其中所述输入数据包括稀疏的光检测和测距(LiDAR)传感器数据。
23.一种包括计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在由处理系统的一个或多个处理器执行时使所述处理系统执行一种方法,所述方法包括:
对输入数据执行表格化操作,以生成所述输入数据的表格化表示;以及
使用所述输入数据的所述表格化表示来执行卷积操作以生成卷积输出。
24.如权利要求23所述的非瞬态计算机可读介质,其中所述方法进一步包括:基于确定所述输入数据的稀疏性大于阈值稀疏性值来执行所述表格化操作。
25.如权利要求23所述的非瞬态计算机可读介质,其中执行卷积操作包括:执行权重张量与所述输入数据的所述表格化表示之间的矩阵乘法以生成所述卷积输出。
26.如权利要求23所述的非瞬态计算机可读介质,其中,执行表格化操作包括:
根据索引规则来填充所述输入数据的所述表格化表示,
其中所述索引规则基于所述输入数据的活跃元素与所述输入数据中毗邻所述活跃元素的多个元素之间的关系来定义多个索引值。
27.如权利要求23所述的非瞬态计算机可读介质,其中,所述卷积输出的稀疏性与所述输入数据的稀疏性相同。
28.如权利要求23所述的非瞬态计算机可读介质,其中,所述方法进一步包括:
在执行所述卷积操作之前,从所述输入数据的所述表格化表示中移除活跃点向量分量;以及
将所述活跃点向量分量与所述卷积输出求和,以生成卷积层输出。
29.如权利要求26所述的非瞬态计算机可读介质,其中,所述方法进一步包括:
在执行所述卷积操作之前,从所述输入数据的所述表格化表示中移除活跃点向量分量;以及
基于所述表格化表示来生成多个一维哈希指针列表,
其中所述卷积操作包括:
将与所述多个一维哈希指针列表中的第一哈希指针列表中的每个指针相关联的输入值乘以基于所述输入值的内核索引的标量权重值;以及
将与所述多个一维哈希指针列表中的第二哈希指针列表中的每个指针相关联的加权输入值求和以生成所述卷积输出。
30.如权利要求23所述的非瞬态计算机可读介质,其中,所述方法进一步包括:
确定与所述卷积输出相关联的损失值;以及
基于所述损失值来更新与机器学习模型的卷积层相关联的多个权重。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063068891P | 2020-08-21 | 2020-08-21 | |
US63/068,891 | 2020-08-21 | ||
US17/407,046 | 2021-08-19 | ||
US17/407,046 US20220058450A1 (en) | 2020-08-21 | 2021-08-19 | Tabular convolution and acceleration |
PCT/US2021/046977 WO2022040575A1 (en) | 2020-08-21 | 2021-08-20 | Tabular convolution and acceleration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116075821A true CN116075821A (zh) | 2023-05-05 |
Family
ID=80269644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180055716.XA Pending CN116075821A (zh) | 2020-08-21 | 2021-08-20 | 表格卷积和加速 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220058450A1 (zh) |
EP (1) | EP4200722A1 (zh) |
JP (1) | JP2023541350A (zh) |
KR (1) | KR20230050340A (zh) |
CN (1) | CN116075821A (zh) |
BR (1) | BR112023002375A2 (zh) |
WO (1) | WO2022040575A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935233A (zh) * | 2023-09-15 | 2023-10-24 | 瀚博半导体(上海)有限公司 | 用于激光雷达的目标检测方法和装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868329B2 (en) * | 2022-05-20 | 2024-01-09 | International Business Machines Corporation | Multidimensional cube multivariate regression |
CN115639935B (zh) * | 2022-12-14 | 2023-03-14 | 亿海蓝(北京)数据技术股份公司 | 表格操作方法、装置和可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0400974D0 (en) * | 2004-01-16 | 2004-02-18 | Solexa Ltd | Multiple inexact matching |
US9104271B1 (en) * | 2011-06-03 | 2015-08-11 | Richard Adams | Gloved human-machine interface |
US10846524B2 (en) * | 2018-11-14 | 2020-11-24 | Adobe Inc. | Table layout determination using a machine learning system |
-
2021
- 2021-08-19 US US17/407,046 patent/US20220058450A1/en active Pending
- 2021-08-20 BR BR112023002375A patent/BR112023002375A2/pt unknown
- 2021-08-20 JP JP2023509673A patent/JP2023541350A/ja active Pending
- 2021-08-20 WO PCT/US2021/046977 patent/WO2022040575A1/en unknown
- 2021-08-20 KR KR1020237005045A patent/KR20230050340A/ko unknown
- 2021-08-20 EP EP21773674.3A patent/EP4200722A1/en active Pending
- 2021-08-20 CN CN202180055716.XA patent/CN116075821A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935233A (zh) * | 2023-09-15 | 2023-10-24 | 瀚博半导体(上海)有限公司 | 用于激光雷达的目标检测方法和装置 |
CN116935233B (zh) * | 2023-09-15 | 2023-12-12 | 瀚博半导体(上海)有限公司 | 用于激光雷达的目标检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20230050340A (ko) | 2023-04-14 |
BR112023002375A2 (pt) | 2023-03-21 |
EP4200722A1 (en) | 2023-06-28 |
WO2022040575A1 (en) | 2022-02-24 |
JP2023541350A (ja) | 2023-10-02 |
US20220058450A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102415576B1 (ko) | 컨벌루션 뉴럴 네트워크의 계산 복잡성을 감소시키기 위한 방법 및 시스템 | |
US11556613B2 (en) | Methods and systems for implementing a convolution transpose layer of a neural network | |
CN116075821A (zh) | 表格卷积和加速 | |
WO2017116924A1 (en) | Neural network training performance optimization framework | |
US20210150306A1 (en) | Phase selective convolution with dynamic weight selection | |
Chang et al. | An efficient implementation of 2D convolution in CNN | |
CN109117940B (zh) | 基于卷积神经网络的目标检测方法、装置、终端及存储介质 | |
CN111709415B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN113642589B (zh) | 图像特征提取方法及装置、计算机设备和可读存储介质 | |
JP2017068577A (ja) | 演算装置、方法及びプログラム | |
CN112232477A (zh) | 图像数据处理方法、装置、设备及介质 | |
US20230065725A1 (en) | Parallel depth-wise processing architectures for neural networks | |
CN115699022A (zh) | 结构化卷积和相关联加速 | |
EP4361891A1 (en) | Implementing a scatter function on a neural network accelerator | |
WO2023165290A1 (zh) | 数据处理方法及装置、电子设备和存储介质 | |
WO2023053222A1 (ja) | データ変換装置、データ変換方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 | |
EP4361892A1 (en) | Methods and systems for performing a per channel affine transformation using a neural network accelerator | |
US20230259773A1 (en) | Dimensionality transformation for efficient bottleneck processing | |
GB2618400A (en) | Implementing a scatter function on a neural network accelerator | |
GB2618399A (en) | Implementing a scatter function on a neural network accelerator | |
WO2022115202A1 (en) | Neural network pruning method and system via layerwise analysis | |
GB2618398A (en) | Implementing a scatter function on a neural network accelerator | |
CN117677955A (zh) | 用于神经网络加速器中的数据重用的激活缓冲器架构 | |
CN111143762A (zh) | 一种张量数据分解方法及系统 | |
CN117765164A (zh) | 三维人体姿态的重建方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |