结构化卷积和相关联加速制造技术

技术编号:36585300 阅读:10 留言:0更新日期:2023-02-04 17:47
本公开的某些方面提供了用于执行机器学习的技术,包括:生成用于机器学习模型的卷积层的基掩码集合,其中每个基掩码包括二进制掩码;确定缩放因子集合,其中该缩放因子集合中的每个缩放因子对应于该基掩码集合中的基掩码;基于该基掩码集合和该缩放因子集合来生成复合核;以及基于该复合核来执行卷积运算。以及基于该复合核来执行卷积运算。以及基于该复合核来执行卷积运算。

【技术实现步骤摘要】
【国外来华专利技术】结构化卷积和相关联加速
[0001]相关申请的交叉引用
[0002]本申请要求于2020年6月2日提交的美国临时专利申请No.63/033,746、于2020年6月2日提交的美国临时专利申请No.63/033,751、以及于2021年6月1日提交的美国专利申请No.17/336,048的权益和优先权,其中每一件申请的全部内容通过援引纳入于此。
[0003]引言
[0004]本公开的各方面涉及机器学习模型。
[0005]机器学习可以产生经训练模型(例如,人工神经网络、树或其他结构),其表示对先验已知的训练数据集合的广义拟合。将经训练模型应用于新数据产生推断,这可被用于获得关于新数据的洞察。在一些情形中,将模型应用于新数据被描述为对新数据“运行推断”。
[0006]机器学习模型被越来越多地用于各种领域,包括用于分类、检测和识别任务。例如,机器学习模型正被用于基于由电子设备上的一个或多个机载传感器所提供的传感器数据在这些设备上执行复杂任务,诸如自动检测图像内的特征(例如,面部)。
[0007]广泛部署和采用机器学习模型的关键挑战在于其计算复杂度,这通常要求高功率计算系统。不太强大的计算系统(诸如移动设备、可穿戴设备、物联网(IoT)设备、边缘处理设备等等)可能没有实现机器学习模型所必需的资源。
[0008]相应地,需要更高效的机器学习模型。
[0009]简要概述
[0010]某些方面提供了一种执行机器学习的方法,包括:生成用于机器学习模型的卷积层的基核集合,其中每个基核包括掩码和缩放因子;基于多个基核来生成复合核;以及基于该复合核来执行卷积运算。
[0011]进一步方面提供了一种用于执行机器学习的方法,包括:生成用于机器学习模型的卷积层的基核集合,其中每个基核包括二进制掩码;确定缩放因子集合,其中该缩放因子集合中的每个缩放因子对应于该基核集合中的基核;基于该机器学习模型的该卷积层的输入数据来生成经求和池化输出;以及基于该经求和池化输出和该缩放因子集合来生成卷积层输出。
[0012]其他方面提供了:处理系统,其被配置成执行前述方法以及本文中所描述的那些方法;非瞬态计算机可读介质,其包括在由处理系统的一个或多个处理器执行时使该处理系统执行前述方法以及本文中所描述的方法的指令;计算机程序产品,其被实施在计算机可读存储介质上,该计算机可读存储介质包括用于执行前述方法以及本文中进一步描述的那些方法的代码;以及处理系统,其包括用于执行前述方法以及本文中进一步描述的那些方法的装置。
[0013]以下描述和相关附图详细阐述了一个或多个实施例的某些解说性特征。
[0014]附图简述
[0015]附图描绘了该一个或多个实施例的某些方面,并且因此不被认为限制本公开的范围。
[0016]图1A

图1D描绘了从基核形成二维复合核的示例。
[0017]图2A

图2B描绘了从结构化基核形成结构化核的示例。
[0018]图3描绘了跨步幅求和共享的示例。
[0019]图4描绘了使用求和池化对具有结构化核的卷积运算的示例分解。
[0020]图5A描绘了对结构化卷积的三维结构分解。
[0021]图5B描绘了对结构化卷积的二维结构分解。
[0022]图6描绘了使用求和池化运算来分解全连通层的示例。
[0023]图7A描绘了交叠求和矩阵的示例。
[0024]图7B描绘了用于生成图7A的交叠求和矩阵的示例算法。
[0025]图8描绘了用于使用结构正则化项在训练期间实现结构分解的示例流程。
[0026]图9描绘了用于执行结构化卷积的硬件加速器的示例。
[0027]图10描绘了可以用图9的硬件加速器实现的示例处理流水线。
[0028]图11描绘了根据本文所描述的各个方面的执行机器学习的示例方法。
[0029]图12描绘了根据本文所描述的各个方面的执行机器学习的示例方法。
[0030]图13描绘了根据本文所描述的各个方面的用于执行机器学习的示例处理系统。
[0031]为了促成理解,在可能之处使用了相同的附图标记来指定各附图共有的相同要素。构想一个实施例的要素和特征可有益地纳入其他实施例而无需进一步引述。
[0032]详细描述
[0033]本公开的各方面提供了用于执行并加速结构化卷积的装置、方法、处理系统和计算机可读介质。
[0034]深度神经网络跨各种用例递送优异的性能,但往往无法满足日常设备的计算预算要求。因此,模型效率对于在各种上下文中实现基于深度神经网络的机器学习模型的能力起着关键作用。
[0035]用于减小深度神经网络模型大小和复杂度的常规办法已包括模型压缩技术,该技术依赖于深度网络过度参数化(意味着深度神经网络模型的参数的显著比例是冗余的)的关键假设。基于该假设,已提出了若干模型修剪方法,这些模型修剪方法系统地去除深度神经网络模型中的冗余组件以提高运行时效率。用于利用冗余和减小复杂度的其他办法包括基于权重矩阵的奇异值的张量分解,诸如空间奇异值分解(SVD)和权重SVD。
[0036]深度神经网络模型中的冗余还可以被视为拥有不必要自由度(DOF)的网络权重。从优化角度而言,较高的DOF会导致过拟合,这可以通过使用各种正则化方法约束网络权重来解决。
[0037]减小DOF的另一方式是通过减少可学习参数的数目。例如,可以使用基表示来代替权重张量。在此类方法中,基向量是固定的,并且仅这些基向量的系数是可学习的。因此,通过使用比权重张量中的实际参数数目少的系数,可以限制DOF。然而,注意,这仅在训练期间有用,因为在推断期间使用实际(较高)数目的参数。也就是说,系统地选择基(例如,傅里叶

贝塞尔基)可以导致模型参数减少和每秒浮点运算(FLOPS)减少,即使在推断时间期间亦如此。
[0038]本文所描述的各实施例通过限制卷积核(或滤波器)的自由度并对其施加显式结构来提高深度神经网络模型效率。该结构可被认为是通过叠加若干较低分辨率的核来构造卷积核,这些较低分辨率的核可被称为基核,每一者由基掩码和缩放因子来定义。
[0039]值得注意的是,本文所描述的方法利用乘法运算一般比加法更加计算昂贵(例如,贵20倍或更多倍)的事实。由此,本文所描述的方法以极大减少的乘法运算、以及一般减少的加法运算来达成数学上等效的输出。值得注意的是,这些方法在训练和推断期间处理模型时产生模型大小减小(例如,通过减少参数计数)和提高模型计算效率(例如,通过减少运算次数)的一般益处。
[0040]本文所描述的各实施例在各个方面实现了优于常规模型压缩方法的益处。例如,本文所描述的各实施例可利用复合核结构,其在核形成时接受任意基,从而导致高效的卷积运算。
[0041]此外,本文所描述的各实施例可利用结构化卷积作为复合核结构的实现。具体而言,结构化卷积可以被分解为求和池化运算继之以显著更小的卷积运算,这本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:生成用于机器学习模型的卷积层的基掩码集合,其中每个基掩码包括二进制掩码;确定缩放因子集合,其中所述缩放因子集合中的每个缩放因子对应于所述基掩码集合中的基掩码;基于所述基掩码集合和所述缩放因子集合来生成复合核;以及基于所述复合核来执行卷积运算。2.如权利要求1所述的方法,其中,基于所述复合核来执行所述卷积运算包括:接收输入数据;对于与所述复合核相关联的所述基掩码集合中的每个相应基掩码:基于所述相应基掩码来提取所述输入数据的子集以供处理;基于所述输入数据的针对所述相应基掩码的所述子集来计算所述相应基掩码的基和;以及通过向所述基和应用对应于所述相应基掩码的缩放因子来计算部分卷积层输出;以及通过对与所述基掩码集合中的每个基掩码相关联的每个部分卷积层输出进行求和来生成卷积层输出。3.如权利要求1所述的方法,其中:所述复合核包括结构化核;并且所述卷积运算包括结构化卷积。4.如权利要求3所述的方法,其中,所述卷积运算包括:接收输入数据;对所述输入数据执行求和池化运算以生成经求和池化输出数据;以及使用具有比所述输入数据的空间维度小的空间维度的卷积核来对所述经求和池化输出数据执行卷积运算。5.如权利要求1所述的方法,进一步包括:使用结构正则化项来训练所述机器学习模型。6.如权利要求1所述的方法,进一步包括:基于所述基掩码集合使用Toeplitz矩阵来训练所述机器学习模型。7.如权利要求1所述的方法,进一步包括:向所述卷积层应用结构分解以生成经分解卷积层;以及使用所述经分解卷积层和任务损失函数来训练所述机器学习模型。8.一种处理系统,包括:包括计算机可执行指令的存储器;一个或多个处理器,所述一个或多个处理器被配置成执行所述计算机可执行指令并使所述处理系统:生成用于机器学习模型的卷积层的基掩码集合,其中每个基掩码包括二进制掩码;确定缩放因子集合,其中所述缩放因子集合中的每个缩放因子对应于所述基掩码集合中的基掩码;基于所述基掩码集合和所述缩放因子集合来生成复合核;以及基于所述复合核来执行卷积运算。
9.如权利要求8所述的处理系统,其中,为了基于所述复合核来执行所述卷积运算,所述一个或多个处理器被进一步配置成使所述处理系统:接收输入数据;对于与所述复合核相关联的所述基掩码集合中的每个相应基掩码:基于所述相应基掩码来提取输入数据的子集以供处理;基于所述输入数据的针对所述相应基掩码的所述子集来计算所述相应基掩码的基和;以及通过向所述基和应用对应于所述相应基掩码的缩放因子来计算部分卷积层输出;以及通过对与所述基掩码集合中的每个基掩码相关联的每个部分卷积层输出进行求和来生成卷积层输出。10.如权利要求8所述的处理系统,其中:所述复合核包括结构化核;并且所述卷积运算包括结构化卷积。11.如权利要求10所述的处理系统,其中,为了执行所述结构化卷积运算,所述一个或多个处理器被进一步配置成使所述处理系统:接收输入数据;对所述输入数据执行求和池化运算以生成经求和池化输出数据;以及使用具有比所述输入数据的空间维度小的空间维度的卷积核来对所述经求和池化输出数据执行卷积运算。12.如权利要求8所述的处理系统,其中,所述一个或多个处理器被进一步配置成使所述处理系统使用结构正则化项来训练所述机器学习模型。13.如权利要求8所述的处理系统,其中,所述一个或多个处理器被进一步配置成使所述处理系统基于所述基掩码集合使用Toeplitz矩阵来训练所述机器学习模型。14.如权利要求8所述的处理系统,其中,所述一个或多个处理器被进一步配置成使所述处理系统:向所述卷积层应用结构分解以生成经分解卷积层;以及使用所述经分解卷积层和任务损失函数来训练所述机器学习模型。15.一种包括指令的非瞬态计算机可读介质,所述指令在由处理系统的一个或多个处理器执行时使所述处理系统执行...

【专利技术属性】
技术研发人员:Y
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

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

1