掌桥专利:专业的专利平台
掌桥专利
首页

卷积神经网络特征图数据压缩方法及装置

文献发布时间:2023-06-19 11:14:36


卷积神经网络特征图数据压缩方法及装置

技术领域

本申请涉及卷积神经网络技术领域,尤其涉及卷积神经网络特征图数据压缩方法及装置。

背景技术

在机器视觉领域中,以卷积神经网络为特征提取器的网络架构有着优秀的准确率和很高的计算效率。卷积神经网络由数个甚至数百个卷积运算层堆叠连接,以二维平面卷积计算为基础,对图像进行特征提取,得到特征图数据。

实际应用中,通常会将卷积神经网络部署到硬件加速器或者别的低功耗器件中,特征图数据由卷积神经网络中的激活函数产生之后,传输至硬件加速器的片外内存中,其中激活函数包括ReLU激活函数、LeakyReLU激活函数等。硬件加速器在计算时受限于芯片存储空间,不能完整加载所有特征图数据,由于特征图数据量十分大,因此在传输过程中,将反复在硬件加速器芯片上进行读取操作,这不仅对硬件加速器自身计算系统与自身内存之间交互的带宽提出一定的要求,而且也带来了更多的能耗。

由于ReLU激活函数产生的特征图数据具备一定的稀疏性,即大量的值为0,因此在将特征图数据传输至硬件加速器片外内存之前,通常采用零值比特图编码的方式,存储非零值以及使用二进制比特图记录其位置,实现特征图数据的压缩,将压缩后的特征图数据作为计算系统与内存之间交互的直接数据,可以降低数据处理量,减少硬件加速器能耗。

零值比特图编码具有压缩率高的优点,但同时也使得硬件复杂度更高。此外,有少部分硬件加速器提供了LeakyReLU该类激活函数的实现,该类激活函数产生的特征图数据不具备较高的稀疏度,不适合使用前述零值比特图编码的方式进行数据压缩,同时目前也没有适用的、特别硬件高效的压缩方法,一些可用的复杂编码压缩方案如LZW编码、霍夫曼编码等属于硬件开销较大、不适合用硬件实现的方案。因此,如何在实现更高压缩率的同时,还能最大程度降低硬件复杂度成了本领域技术人员亟待解决的问题。

发明内容

为了在提高压缩率的同时最大程度降低硬件复杂度,本申请通过以下实施例公开了卷积神经网络特征图数据压缩方法及装置。

本申请第一方面公开了一种卷积神经网络特征图数据压缩方法,包括特征图通道重构阶段和零值比特图编码压缩阶段;

所述特征图通道重构阶段包括以下步骤:

将原特征图的通道维度从三维切分变化至二维,得到新特征图;

将预设的一维离散余弦变换矩阵与所述新特征图中的张量进行矩阵相乘,得到频域特征图;

对所述频域特征图进行低通滤波,得到稀疏特征图;

所述零值比特图编码压缩阶段包括以下步骤:

获取所述稀疏特征图;

对所述稀疏特征图进行零值比特图编码压缩,得到所述原特征图的最终压缩数据,所述原特征图的最终压缩数据将被存储至硬件加速器的片外内存中。

可选的,所述方法还包括零值比特图解压缩阶段和特征图还原逆变换阶段;

所述零值比特图解压缩阶段包括以下步骤:

读取硬件加速器片外内存中的所述原特征图的最终压缩数据;

对所述原特征图的最终压缩数据进行零值比特图解压缩,得到所述稀疏特征图;

所述特征图还原逆变换阶段包括以下步骤:

将所述一维离散余弦变换矩阵的转置矩阵与所述稀疏特征图中的张量进行矩阵相乘,得到二维特征图;

将所述二维特征图的通道维度转换为三维,得到所述原特征图的还原数据。

可选的,所述方法还包括:

在卷积神经网络的训练过程中,对所述特征图通道重构阶段和所述特征图还原逆变换阶段进行训练,重构网络权重。

可选的,所述对所述频域特征图进行低通滤波,得到稀疏特征图,包括:

使用预设的频域过滤器对所述频域特征图进行广播式哈达玛积,实现对所述频域特征图的低通滤波,得到所述稀疏特征图。

可选的,所述一维离散余弦变换矩阵为实正交矩阵,所述一维离散余弦变换矩阵满足以下条件:

其中,A

可选的,所述频域过滤器满足以下条件:

其中,M表示所述频域过滤器,m表示所述频域过滤器的带宽,N表示所述一维离散余弦变换矩阵的尺寸。

可选的,N的取值为8。

本申请第二方面公开了一种卷积神经网络特征图数据压缩装置,所述卷积神经网络特征图数据压缩装置应用于本申请第一方面所述的卷积神经网络特征图数据压缩方法,所述卷积神经网络特征图数据压缩装置包括:特征图通道重构模块和零值比特图编码压缩模块;

所述特征图通道重构模块用于执行以下步骤:

将原特征图的通道维度从三维切分变化至二维,得到新特征图;

将预设的一维离散余弦变换矩阵与所述新特征图中的张量进行矩阵相乘,得到频域特征图;

对所述频域特征图进行低通滤波,得到稀疏特征图;

所述零值比特图编码压缩模块用于执行以下步骤:

获取所述稀疏特征图;

对所述稀疏特征图进行零值比特图编码压缩,得到所述原特征图的最终压缩数据,所述原特征图的最终压缩数据将被存储至硬件加速器的片外内存中。

可选的,所述装置还包括:零值比特图解压缩模块和特征图还原逆变换模块;

所述零值比特图解压缩模块用于执行以下步骤:

读取硬件加速器片外内存中的所述原特征图的最终压缩数据;

对所述原特征图的最终压缩数据进行零值比特图解压缩,得到所述稀疏特征图;

所述特征图还原逆变换模块用于执行以下步骤:

将所述一维离散余弦变换矩阵的转置矩阵与所述稀疏特征图中的张量进行矩阵相乘,得到二维特征图;

将所述二维特征图的通道维度转换为三维,得到所述原特征图的还原数据。

本申请第三方面公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理执行时实现如本申请第一方面所述的卷积神经网络特征图数据压缩方法的步骤。

本申请实施例公开了卷积神经网络特征图数据压缩方法及装置,该方法包括特征图通道重构阶段和零值比特图编码压缩阶段;特征图通道重构阶段中,使用一维离散余弦变换对特征图通道维进行重构,利用频域过滤器实现高频信息过滤,得到稀疏度高于原特征图的稀疏特征图,然后在零值比特图编码压缩阶段对稀疏特征图进行压缩,得到所述原特征图的最终压缩数据。上述方法利用卷积神经网络的通道冗余,实现将有一定频域特征的通道组重构到一起,提升待传输数据的稀疏度,进而提升了被压缩的潜力,随后使用零值比特图编码压缩对稀疏特征图压缩,提高了压缩率。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种卷积神经网络特征图数据压缩方法的流程示意图;

图2为本申请实施例提供的又一种卷积神经网络特征图数据压缩方法的流程示意图;

图3为本申请实施例提供的一种卷积神经网络特征图数据压缩装置的结构示意图。

具体实施方式

为了在提高压缩率的同时最大程度降低硬件复杂度,本申请通过以下实施例公开了卷积神经网络特征图数据压缩方法及装置。

本申请第一实施例公开了一种卷积神经网络特征图数据压缩方法,包括特征图通道重构阶段和零值比特图编码压缩阶段。

所述特征图通道重构阶段包括以下步骤:

将原特征图的通道维度从三维切分变化至二维,得到新特征图。

原特征图为X∈R

将原特征图的通道维度从三维转换成二维,新特征图为X

对新特征图中的张量在通道维度上应用一维离散余弦变换(DCT,DiscreteCosine Transform),将新特征图的通道维度转换成频域表达。具体的,将预设的一维离散余弦变换矩阵与所述新特征图中的张量进行矩阵相乘,得到频域特征图。

一维离散余弦变换矩阵为实正交矩阵,用A表示,一维离散余弦变换矩阵满足以下条件:

其中,A

将一维离散余弦变换矩阵与所述新特征图中的张量进行矩阵相乘可通过以下公式表示:

X

其中,X

对所述频域特征图进行低通滤波,得到稀疏特征图。

具体的,使用预设的频域过滤器对所述频域特征图进行广播式哈达玛积,过滤掉高频信息,实现对所述频域特征图的低通滤波,得到所述稀疏特征图。

所述频域过滤器满足以下条件:

其中,M表示所述频域过滤器,m表示所述频域过滤器的带宽,N表示所述一维离散余弦变换矩阵的尺寸。

使用预设的频域过滤器对频域特征图进行广播式哈达玛积,可通过以下公式表示:

X

其中,X

由于在图像处理技术领域涉及一维离散余弦变换的方法中,通常使用8×8大小的矩阵,因此,作为示例,上文中提到的N,取值均为8。在特殊的情况或预计算下,如预先了解到某应用模型或卷积计算层有输出特征图通道维度冗余度高或通道维度较大(如1024以上)的特点,则可以使用N=16或32或64的矩阵。

在深度卷积神经网络当中,由ReLU激活函数生成的特征图在通道维度具有冗余值和多空白值的特点。本实施例提供的特征图通道重构阶段,结合一维离散余弦变换(DCT)方法,对特征图通道维进行重构,且利用频域过滤器实现高频信息过滤,提高特征图数据稀疏度,得到的稀疏特征图具备更高的压缩潜力。

所述零值比特图编码压缩阶段包括以下步骤:

获取所述稀疏特征图。

对所述稀疏特征图进行零值比特图编码压缩,得到所述原特征图的最终压缩数据,所述原特征图的最终压缩数据将被存储至硬件加速器的片外内存中。

上述实施例公开的特征图通道重构阶段部署在卷积神经网络的训练过程中,训练过程中应用特征图通道重构流程,可以较好地利用卷积神经网络的通道冗余,实现将有一定频域特征的通道组重构到一起,提升待传输数据的稀疏度,进而提升了被压缩的潜力,随后使用零值比特图编码压缩对稀疏特征图压缩,其压缩率明显优于现有技术中单纯使用零值比特图编码压缩方法的压缩率,而且,上述实施例公开的特征图数据压缩方法将空间频域变换改进为通道维度频域变换和滤波,本质上是从解决二维数据压缩问题转换为解决通道维冗余压缩问题,变换方法也由二维变换转变为一维变换,同时移除了多余的量化表和游程编码等需要传输额外数据的流程,硬件友好度提高,在不增加硬件复杂度的同时,极大的提高了压缩率。

对应的,所述方法还包括零值比特图解压缩阶段和特征图还原逆变换阶段。

所述零值比特图解压缩阶段包括以下步骤:

读取硬件加速器片外内存中的所述原特征图的最终压缩数据。

对所述原特征图的最终压缩数据进行零值比特图解压缩,得到所述稀疏特征图。

所述特征图还原逆变换阶段包括以下步骤:

将所述一维离散余弦变换矩阵的转置矩阵与所述稀疏特征图中的张量进行矩阵相乘(即执行逆DCT操作,也称为iDCT操作),得到二维特征图。

将所述二维特征图的通道维度转换为三维,得到所述原特征图的还原数据。

图1为本实施例提供的卷积神经网络特征图数据压缩方法的流程示意图,展示了特征图数据压缩-传输-解压缩的过程,依次包括特征图通道重构阶段、零值比特图编码压缩阶段、零值比特图解压缩阶段和特征图还原逆变换阶段。当N取值为8时,本实施例公开的卷积神经网络特征图数据压缩流程参见图2所示。

以下结合一个具体示例,对上述实施例公开的卷积神经网络特征图数据压缩方法进行说明:

暗光增强任务属于像素级任务,任务目标是对低照度条件下的图片使用机器学习方法,模拟高亮度照明情况下的场景,进行图像增强。输入为相机传感器生成的RAW灰度文件,输出为增强后的RGB域或灰度图片。在部署推理任务时,输入图像通常是高像素的,模型中与内存交互传输的特征图占用空间也很大,可达GB数量级,因此在传输过程中压缩特征图是一个有较大实际应用意义的工作。本示例使用See-In-the-Dark(SID)的卷积神经网络作为骨干模型,该模型以U-Net[8]结构为基础结构,其中在应用于硬件加速器时,需要与内存交互的特征图数据由ReLU激活函数产生,设特征图通道维度为C×H×W,其中C=32,H和W为输入图片的高和宽的一半,因此运算时特征图张量维度形状为[32,H,W]。

压缩流程如下:首先对特征图的通道维度进行切分变换,将该特征图数据的通道维度变为[8,H*4*W],随后沿第一个维度批量应用尺寸为8的一维DCT变换,并使用哈达玛积做带宽为m的低通滤波,这一变换滤波步骤提升了待传输数据的稀疏度。此时数据为兼有高静态稀疏度和一定动态稀疏的张量,形状仍为[8,H*4*W],但其中只有[m,H*4*W]的部分包含非0值。随后使用零值比特图编码压缩处理这一部分数据。压缩模块将新数据分为两部分表达,分别为非零值位置二进制比特图,以及8-bit位宽的非零值。这两部分数据即为压缩后数据,其中比特图是尺寸为[m,H*4*W]的1-bit数据,非零值为不定长的8-bit数据。在SID模型实验中,压缩后数据的平均占用空间约为压缩前张量的36%。

之后将压缩后数据作为内存与计算模块间交互的直接数据,数据传输量显著降低。当再次使用这部分特征图,从内存中进行调用读取后,先将两组压缩后数据进行零值比特图解压缩,解码为[m,H*4*W]的有效数据张量,随后执行跳过0值计算的逆DCT变换,得到形状为[8,H*4*W]的数据,再将其变形恢复到[32,H,W]到原特征图形状,至此完成有损压缩数据的解压缩恢复部分,之后特征图就可以输入到下一计算模块进行相应的运算。

本实施例中,考虑到特征图数据压缩重建后将存在一些数据改变、信息缺失的问题,本实施例引入重训练,将特征图通道重构阶段和特征图还原逆变换阶段都部署在卷积神经网络的训练过程中,对所述特征图通道重构阶段和所述特征图还原逆变换阶段进行训练,重构网络权重,仿真有损压缩的数据变化,弥补信息缺失带来的整体模型准确度的下降。

通过在训练过程中利用特征图通道维存在的冗余,在特征图通道维度应用一维离散余弦变换和随后过滤高频分量,能够保持较小数据压缩误差,提高数据的压缩率。本实施例公开的特征图数据压缩方法可以应用的任务场景和特征图的位置相对于现有的零值比特图编码方法更广泛。

在本申请的一种实现方式中,特征图还原逆变换阶段中的逆DCT变换作为一维的线性变换矩阵可以融合进后续的卷积核矩阵,进而在推理模型中能够不增加相关的额外运算。具体的,将压缩表示的稀疏特征图数据直接流入下一卷积模块,与此同时将一维逆变换作为线性变换直接融入卷积矩阵当中。

以某个通道的切片为例,使用零值比特图解压缩后得到Y

下表给出与先进基于变换的特征图压缩方法JPEG-ACT相比,本方案在8-bit定点量化相比,完成图像识别任务,特征图压缩的比率和准确率。

其中参数I和参数Ⅱ为针对特定任务,尝试提高压缩率、保持精度而经过多次实验而得到的两组临时参数,参数信息包括DCT变换的长度以及在不同融合模块使用的低通滤波M的不同带宽数据。实际应用时需根据目标、任务和实验结果重新评估、设定。从上表可以看出,本方案提供的卷积神经网络特征图数据压缩方法的压缩率明显优于JPEG-ACT的压缩率。

下述为本申请提供的装置实施例,用于执行上述方法实施例。对于装置实施例中未披露的细节,清参照上述方法实施例。

本申请第二实施例公开了一种卷积神经网络特征图数据压缩装置,所述卷积神经网络特征图数据压缩装置应用于本申请第一实施例所述的卷积神经网络特征图数据压缩方法,参见图3,所述卷积神经网络特征图数据压缩装置包括:特征图通道重构模块10和零值比特图编码压缩模块20。

所述特征图通道重构模块用于执行以下步骤:

将原特征图的通道维度从三维切分变化至二维,得到新特征图。

将预设的一维离散余弦变换矩阵与所述新特征图中的张量进行矩阵相乘,得到频域特征图。

对所述频域特征图进行低通滤波,得到稀疏特征图。

所述零值比特图编码压缩模块用于执行以下步骤:

获取所述稀疏特征图。

对所述稀疏特征图进行零值比特图编码压缩,得到所述原特征图的最终压缩数据,所述原特征图的最终压缩数据将被存储至硬件加速器的片外内存中。

零值比特图编码压缩模块是公开的专用硬件模块作为压缩-传输-解压缩部分的硬件结构。该结构在多个特征图压缩技术中均有应用或作为其基础开发。通过这一模块的压缩部分即可对稀疏数据完成目标编码方案,并存储成易于传输的格式;在解压缩数据处理时,则可以通过设计的数据流支持稀疏数据高效运算硬件结构。

进一步的,所述装置还包括:零值比特图解压缩模块30和特征图还原逆变换模块40。

所述零值比特图解压缩模块用于执行以下步骤:

读取硬件加速器片外内存中的所述原特征图的最终压缩数据。

对所述原特征图的最终压缩数据进行零值比特图解压缩,得到所述稀疏特征图。

所述特征图还原逆变换模块用于执行以下步骤:

将所述一维离散余弦变换矩阵的转置矩阵与所述稀疏特征图中的张量进行矩阵相乘,得到二维特征图。

将所述二维特征图的通道维度转换为三维,得到所述原特征图的还原数据。

图3为本实施例公开的卷积神经网络特征图数据压缩装置的结构示意图。该装置在具体应用分两个部分完成,首先将特征图通道重构模块与特征图还原逆变换模块加入神经网络训练模型中,仿真有损压缩的数据变化,同时达到能训练一个特征图经本方案变换后较高稀疏度的模型的目的。其次在训练后模型部署至低功耗器件的推理阶段,除特征图通道重构模块与特征图还原逆变换模块之外,再加入零值比特图编码压缩模块与零值比特图解压缩模块,完成整个方案在推理端的部署。

本申请第三实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理执行时实现如本申请第一实施例所述的卷积神经网络特征图数据压缩方法的步骤。

以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

相关技术
  • 卷积神经网络特征图数据压缩方法及装置
  • 基于卷积神经网络特征图的数据处理方法及图像处理方法
技术分类

06120112858436