CN117218581A - 一种基于多层感知机细粒度张量分解压缩的视频识别方法 - Google Patents
一种基于多层感知机细粒度张量分解压缩的视频识别方法 Download PDFInfo
- Publication number
- CN117218581A CN117218581A CN202311240612.3A CN202311240612A CN117218581A CN 117218581 A CN117218581 A CN 117218581A CN 202311240612 A CN202311240612 A CN 202311240612A CN 117218581 A CN117218581 A CN 117218581A
- Authority
- CN
- China
- Prior art keywords
- layer perceptron
- tensor
- fine
- compression
- decomposition
- 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
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 81
- 238000007906 compression Methods 0.000 title claims abstract description 54
- 230000006835 compression Effects 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 59
- 238000013528 artificial neural network Methods 0.000 claims description 19
- 230000009467 reduction Effects 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 8
- 230000008602 contraction Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 230000008447 perception Effects 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 210000002364 input neuron Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000004205 output neuron Anatomy 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明属于计算机视觉处理技术领域,具体涉及一种基于多层感知机细粒度张量分解压缩的视频识别方法,核心在对训练完成的多层感知机进行处理,得到完成压缩的多层感知机该过程中,首先利用细粒度张量分解形式对多层感知机中的全连接权重进行压缩;然后设计输入向量与细粒度张量分解后的权重之间的免重构算法,使算法输出和原本的向量权重矩阵乘法输出相等;所有待压缩的全连接权重完成压缩后,对所得多层感知机进行微调得到最终结果。所述方法达到在压缩的基础上快速计算的目的,提高多层感知机处理视频识别的可部署性和计算高效性。
Description
技术领域
本发明属于计算机视觉处理技术领域,具体涉及一种基于多层感知机(全连接神经网络)细粒度张量分解压缩的视频识别方法。
背景技术
近年来,视频识别在装备制造、监控安防、无人驾驶等领域应用广泛。随着深度学习技术的发展成熟,以多层感知机构成的、具有时序数据处理能力的循环神经网络(Recurrent Neural Network,RNN)和Transformer等神经网络模型成为了视频识别技术的主要选择之一。然而,目前主流的RNN、Transformer等多层感知机模型往往借助极大的规模换取强大的表达能力,从而使得神经网络模型的空间和时间复杂度越来越高,所消耗的存储和计算资源也越来越多。在面向资源受限的移动设备等嵌入式环境中,必须通过一定的技术手段对多层感知机进行压缩。
2013年,Denil等人和Sainath等人分别在文献Predicting parameters in deeplearning和Low-rank matrixfactorizationfor deep neural network training withhigh-dimensional output targets中证实了深度神经网络结构事实上是冗余的,即可以通过一些权重压缩手段来减小深度神经网络的规模,同时不造成明显的精度损失。因此,人们提出了很多方法来对深度神经网络进行压缩。
其中,张量分解是使用较广泛的压缩方法之一,具体是将多层感知机的每层权重看作一个高阶张量,然后借助成熟的张量分解数学方法将其分解为多个小张量乘积的形式,从而使多层感知机权重参数的数量减少。这些张量分解方法包括:张量串(TensorTrain,TT)分解,张量环(Tensor Ring,TR)分解,分层Tucker(HierarchicalTucker,HT)分解,块项(Block Term,BT)分解等。不同的张量分解有着各自的数学表达形式和较高的压缩率,自Novikov等人在2015年的文献Tensorizing neural networks开始,这些张量分解方法都已经在多层感知机及其所构成的深度神经网络中得到了应用,取得了不错的压缩效果。
然而,现有的多层感知机张量分解压缩方法报道,都未能解决压缩后呈现为张量分解形式的权重与输入向量之间的快速计算问题。主要原因在于,输入向量与张量分解形式权重之间计算的目的是通过缩并运算将输入维度转换为输出维度,也就是消去输入模补上输出模;同时,张量分解形式权重由多个因子张量或因子矩阵构成,这些因子将输入输出模分解打散,使得输入往往需要不断地重构,以便将待消去的输入模调整至和待计算因子的对应模相匹配的位置;然而,在实际计算过程中,频繁地对计算机内存中的数据进行重构,必须不断申请新存储空间并按新顺序复制数据,这使得现有多层感知机张量分解压缩方法在实际使用中反而比普通多层感知机计算效率低。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决现有视频识别技术所使用的多层感知机构成的神经网络规模庞大,且相关张量分解压缩手段不能满足在资源受限环境中快速计算的问题。
(二)技术方案
为解决上述技术问题,本发明提供一种基于多层感知机细粒度张量分解压缩的视频识别方法,所述方法包括:
步骤A:以总帧数To随机地采集摄像头、相机等传感器的视频数据,记为其中,Wo表示每帧视频图像宽度,Ho表示每帧视频图像高度,To即视频数据总帧数也就是时间长度,Co表示每帧视频图像通道数;
步骤B:构建多层感知机对视频数据进行识别;
步骤C:输出视频数据识别后的结果。
其中,所述步骤B包括:
步骤B1:对用于识别视频数据的多层感知机,定义其每帧输入维度为Do=WoHoCo,定义其时间维度为To,多层感知机记为相应的视频数据分割为To个输入向量,每个输入向量长度为Do,输出给步骤B2;
步骤B2:对步骤B1输出的多层感知机进行训练,训练完成的多层感知机记为/>输出给步骤B3;
步骤B3:采用多层感知机细粒度张量分解压缩对步骤B2训练完成的多层感知机进行处理,得到完成压缩的多层感知机/>
步骤B4:使用步骤B3完成压缩的多层感知机对视频数据进行识别,生成待输出的视频数据识别后的结果。
其中,所述步骤B3包括:
步骤1:对已经训练好的多层感知机记其中一层全连接为y=f(xW),f(•)记为该层非线性激活函数,读取全连接权重矩阵/> M维输入向量/>以及N维输出向量
步骤2:将M和N按照约束和/>因数分解为I个整数的乘积,则权重矩阵/>能够以细粒度张量分解形式进行压缩,即:
其中,是A组第k路分解的第i个因子矩阵,/>是B组第k路分解的第i个因子矩阵,/>为A组第k路分解的秩,/>为B组第k路分解的秩,和/> 是单位对角张量,vec(·)是将张量拉伸为向量的变换,运算符号·表示缩并,运算符号°表示外积;其中,k∈{1,2,…,K},i∈{1,2,…,I};K与I均为整数;
步骤3:定义输入向量x与细粒度张量分解后的权重 之间的免重构算法★,使其输出与xW的输出相等;
步骤3完成后,若多层感知机中仍有尚未压缩的全连接层,则跳转至步骤1对下一个全连接层进行压缩,如果多层感知机中所有待压缩的全连接层皆已压缩,得到新的多层感知机进入步骤4;
步骤4:利用误差反向传播算法对新的完成压缩的多层感知机进行有限次数的训练以将其微调至最佳性能。
其中,所述步骤2中,对M和N以相同的因子数量I进行因数分解,且每个因数mi或ni不小于2。
其中,所述步骤2中,A组的因子经过缩并运算·会消去所有的秩/>得到尺寸为m1×m2×…×mI的I阶张量,B组的因子/>经过缩并运算·会消去所有的秩/>得到尺寸为n1×n2×…×nI的I阶张量,这两个I阶张量分别经vec(·)拉伸为M维和N维向量,这两个向量再经外积运算°得到第k路的M×N矩阵,所有K路矩阵相加可恢复为原权重矩阵/>
所述步骤2中,细粒度张量分解形式的权重,其因子矩阵通过缩并运算·,外积运算°,以及求和∑,能够完全恢复为压缩之前的权重矩阵形式,说明权重矩阵转化为所述细粒度张量分解形式在维度变换上是正确的。
其中,所述步骤3中,免重构算法★具体指:
首先将输入向量x按照约束折叠为I阶张量/> 再将A组和B组所有角标为奇数i的因子矩阵及其角标值为较大的临近偶数i+1的因子矩阵缩并起来,消去秩/>和/>即定义/>和定义/>
然后从i=1开始,令x左缩并消去最左侧的两个模mi×mi+1,右外积/>补上最右侧的两个模ni×ni+1,总共得到K个中间结果,即接着将K个xk相加,所得结果与i+2所指代的与/>继续做左缩并右外积之后相加的计算,以此类推直至所有mi均被消去;最后得到I阶张量/>将其拉伸为N维输出向量/>且向量值与直接计算xW相等。
其中,所述步骤3中,单位对角张量和/>对计算结果无影响。
其中,所述步骤3中,所述输入向量x按照约束折叠为I阶张量该过程在实际计算机内存中并不会改变数据的存储位置,只是对指向具体数据的索引按照M=m1×m2×…×mI依次编排;所述x左缩并/>指x最左侧位置的两个模恰好是/>的模mi×mi+1,不需要对x或/>进行重构,直接就可以进行缩并计算;所述/>右外积/>指在/>最右侧位置以外积形式直接补上/>的模ni×ni+1,也不需要对x或进行重构;所述I阶张量/>拉伸为N维输出向量/>对具体数据索引按照n1×n2×…×nI=N再次编排即可,不需要重构;故所述算法★中不存在任何重构操作。
其中,所述步骤4中,原多层感知机经细粒度张量分解压缩已经成为新的多层感知机/>虽然细粒度张量分解形式的因子矩阵在理论上能保证恢复为原权重矩阵,但多层全连接压缩后会存在累计误差,故新的多层感知机/>需要进行一定次数的再训练以达到所需性能。
(三)有益效果
针对现有视频识别技术所使用的多层感知机构成的神经网络规模庞大,且相关张量分解压缩手段不能满足在资源受限环境中快速计算的问题,本发明提供一种多层感知机细粒度张量分解压缩方法,将多层感知机中的全连接层权重矩阵转化为细粒度的多路分组因子矩阵外积求和的方式,并使该细粒度张量分解形式的权重与输入向量之间的计算能够免去重构,达到在压缩的基础上快速计算的目的,提高多层感知机处理视频识别的可部署性和计算高效性。
具体而言,本发明技术方案使用细粒度张量分解,对多层感知机中的权重矩阵进行了压缩,并提供了输入向量与细粒度张量分解形式的权重之间的免重构算法,使多层感知机在压缩之后既可以得到较小的神经网络规模,又可以与输入进行快速计算。
附图说明
图1是本发明技术方案的流程图;
图2是细粒度张量分解的拓扑结构图;
图3是矩阵元素在内存中的存储顺序示意图;
图4是输入数据与细粒度张量分解形式权重之间的免重构算法示意图;
图5是在UCF11数据集上进行张量分解压缩实验的RNN结构图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决上述技术问题,本发明提供一种基于多层感知机细粒度张量分解压缩的视频识别方法,所述方法包括:
步骤A:以总帧数To随机地采集摄像头、相机等传感器的视频数据,记为其中,Wo表示每帧视频图像宽度,Ho表示每帧视频图像高度,To即视频数据总帧数也就是时间长度,Co表示每帧视频图像通道数;
步骤B:构建多层感知机对视频数据行识别;
步骤C:输出视频数据识别后的结果。
其中,所述步骤B包括:
步骤B1:对用于识别视频数据的多层感知机,定义其每帧输入维度为Do=WoHoCo,定义其时间维度为To,多层感知机记为相应的视频数据分割为To个输入向量,每个输入向量长度为Do,输出给步骤B2;
步骤B2:对步骤B1输出的多层感知机进行训练,训练完成的多层感知机记为/>输出给步骤B3;
步骤B3:采用多层感知机细粒度张量分解压缩对步骤B2训练完成的多层感知机进行处理,得到完成压缩的多层感知机/>
步骤B4:使用步骤B3完成压缩的多层感知机对视频数据进行识别,生成待输出的视频数据识别后的结果。
其中,所述步骤B3包括:
步骤1:对已经训练好的多层感知机记其中一层全连接为y=f(xW),f(·)记为该层非线性激活函数,读取全连接权重矩阵/> M维输入向量/>以及N维输出向量/>
步骤2:将M和N按照约束和/>因数分解为I个整数的乘积,则权重矩阵/>能够以细粒度张量分解形式进行压缩,即:
其中,是A组第k路分解的第i个因子矩阵,/>是B组第k路分解的第i个因子矩阵,/>为A组第k路分解的秩,/>为B组第k路分解的秩,和/> 是单位对角张量,vec(·)是将张量拉伸为向量的变换,运算符号·表示缩并,运算符号/>表示外积;其中,k∈{1,2,…,K},i∈{1,2,…,I};K与I均为整数;
步骤3:定义输入向量x与细粒度张量分解后的权重 之间的免重构算法★,使其输出与xW的输出相等;
步骤3完成后,若多层感知机中仍有尚未压缩的全连接层,则跳转至步骤1对下一个全连接层进行压缩,如果多层感知机中所有待压缩的全连接层皆已压缩,得到新的多层感知机进入步骤4;
步骤4:利用误差反向传播算法对新的完成压缩的多层感知机进行有限次数的训练以将其微调至最佳性能。
其中,所述步骤2中,对M和N以相同的因子数量I进行因数分解,且每个因数mi或ni不小于2。
其中,所述步骤2中,A组的因子经过缩并运算·会消去所有的秩/>得到尺寸为m1×m2×…×mI的I阶张量,B组的因子/>经过缩并运算·会消去所有的秩/>得到尺寸为n1×n2×…×nI的I阶张量,这两个I阶张量分别经vec(·)拉伸为M维和N维向量,这两个向量再经外积运算/>得到第k路的M×N矩阵,所有K路矩阵相加可恢复为原权重矩阵/>
所述步骤2中,细粒度张量分解形式的权重,其因子矩阵通过缩并运算·,外积运算以及求和∑,能够完全恢复为压缩之前的权重矩阵形式,说明权重矩阵转化为所述细粒度张量分解形式在维度变换上是正确的。
其中,所述步骤3中,免重构算法★具体指:
首先将输入向量x按照约束折叠为I阶张量/> 再将A组和B组所有角标为奇数i的因子矩阵及其角标值为较大的临近偶数i+1的因子矩阵缩并起来,消去秩/>和/>即定义/>和定义/>
然后从i=1开始,令x左缩并消去最左侧的两个模mi×mi+1,右外积/>补上最右侧的两个模ni×ni+1,总共得到K个中间结果,即接着将K个/>相加,所得结果与i+2所指代的与/>继续做左缩并右外积之后相加的计算,以此类推直至所有mi均被消去;最后得到I阶张量/>将其拉伸为N维输出向量/>且向量值与直接计算xW相等。
其中,所述步骤3中,单位对角张量和/>对计算结果无影响。
其中,所述步骤3中,所述输入向量x按照约束折叠为I阶张量该过程在实际计算机内存中并不会改变数据的存储位置,只是对指向具体数据的索引按照M=m1×m2×…×mI依次编排;所述χ左缩并/>指χ最左侧位置的两个模恰好是/>的模mi×mi+1,不需要对x或/>进行重构,直接就可以进行缩并计算;所述x右外积/>指在x最右侧位置以外积形式直接补上/>的模ni×ni+1,也不需要对x或/>进行重构;所述I阶张量/>拉伸为N维输出向量/>对具体数据索引按照n1×n2×…×nI=N再次编排即可,不需要重构;故所述算法★中不存在任何重构操作。
其中,所述步骤4中,原多层感知机经细粒度张量分解压缩已经成为新的多层感知机/>虽然细粒度张量分解形式的因子矩阵在理论上能保证恢复为原权重矩阵,但多层全连接压缩后会存在累计误差,故新的多层感知机/>需要进行一定次数的再训练以达到所需性能。
上述技术方案中,步骤A、步骤B1、步骤B2、步骤B4及步骤C均为常规技术手段,本发明的创新主要集中于步骤B3,因此针对该环节,提供具体实施例如下。
实施例1
本实施例针对步骤B2,采取的技术方案包括如图1所示的4个步骤如下:
步骤1:对已经训练好的多层感知机记其中一层全连接为y=f(xW),f(•)记为该层非线性激活函数,读取全连接权重矩阵/> M维输入向量/>以及N维输出向量
所谓全连接指的是该层的每个输入神经元和每个输出神经元之间都存在权重连接,所有输入神经元可表示为输入向量x,所有输出神经元可表示为输出向量y,那么x和y中的每个元素互联之后,所有权重连接可构成权重矩阵W。本步骤一般从多层感知机中第一个需要压缩的全连接层开始。若后续仍要对其他全连接层进行压缩,则再次回到本步骤。
步骤2:将M和N按照约束和/>因数分解为I个整数的乘积,则权重矩阵/>能够以细粒度张量分解形式进行压缩,即:
其中,是A组第k(k∈{1,2,…,K})路分解的第i(i∈{1,2,…,I})个因子矩阵,/>是B组第k路分解的第i个因子矩阵,/>为A组第k路分解的秩,/>为B组第k路分解的秩,/> 和/>是单位对角张量,vec(·)是将张量拉伸为向量的变换,运算符号·表示缩并,运算符号°表示外积。
本步骤中,所述M和N以相同的因子数量I进行因数分解,且每个因数mi或ni不小于2,即mi≥2,ni≥2。若有某个因数小于2,也就是等于1,那么其对应的因子矩阵或/>将成为长度/>或/>的向量。
本步骤中,最关键的是理清细粒度张量分解拓扑结构,这里可结合图2给出细致描述。所述A组的因子经过缩并运算·会消去所有的秩/>得到尺寸为m1×m2×…×mI的I阶张量,所述B组的因子/>经过缩并运算·会消去所有的秩/>得到尺寸为n1×n2×…×nI的I阶张量。这两个I阶张量分别经vec(·)拉伸为M维和N维向量,这两个向量再经外积运算°得到第k路的M×N矩阵,所有K路矩阵相加可恢复为原权重矩阵/> 即就是,本步骤所述细粒度张量分解形式的权重,其因子矩阵通过缩并运算·,外积运算/>以及求和∑,能够完全恢复为压缩之前的权重矩阵形式,说明权重矩阵转化为所述细粒度张量分解形式在维度变换上是正确的。
由权重矩阵W得到图2的细粒度张量分解形式的过程,一般可视为优化估计问题。即定义如下优化问题描述:
上式的优化目标是令范数‖·‖的值最小,范数值越小意味着细粒度张量分解形式越能够准确地估计原权重矩阵W。上式所述优化问题可通过常用的最小二乘、梯度下降等方法解决。
步骤3:定义输入向量x与细粒度张量分解后的权重 之间的免重构算法★,使其输出与xW的输出相等。
本步骤中,所述免重构算法★具体指:
首先将输入向量x按照约束折叠为I阶张量/> 再将A组和B组所有角标为奇数i的因子矩阵及其角标值为较大的临近偶数i+1的因子矩阵缩并起来,消去秩/>和/>即/>和/> 然后从i=1开始,令x左缩并/>消去最左侧的两个模mi×mi+1,右外积/>补上最右侧的两个模ni×ni+1,总共得到K个中间结果,即/>接着将K个/>相加,所得结果与i+2所指代的/>与/>继续做左缩并右外积之后相加的计算,以此类推直至所有mi均被消去;最后得到I阶张量/>将其拉伸为N维输出向量/>且向量值与直接计算xW相等。单位对角张量/>和/>对计算结果无影响。
免重构算法★的简洁伪代码描述如下表所示:
所述输入向量x按照约束折叠为I阶张量/> 该过程在实际计算机内存中并不会改变数据的存储位置,只是对指向具体数据的索引按照M=m1×m2×…×mI依次编排。以图3为例,矩阵在理论上有两个方向的坐标,但在计算机内存中实际上是一维排列的;即图3的3行4列矩阵拉伸为向量,或是长为12的向量按照图3的顺序折叠为3行4列矩阵,都不需要改变数据的实际存储位置。因此,只要不调换模的前后顺序,就不存在重构。
所述左缩并/>指/>最左侧位置的两个模恰好是/>的模mi×mi+1,不需要对或/>进行重构,直接就可以进行缩并计算;所述/>右外积/>指在/>最右侧位置以外积形式直接补上/>的模ni×ni+1,也不需要对/>或/>进行重构。图4形象描绘了输入与因子逐个进行左缩并右外积的过程,可见全过程不存在模的顺序调换。最后,所述I阶张量拉伸为N维输出向量/>对具体数据索引按照n1×n2×…×nI=N再次编排即可,不需要重构。故所述算法★中不存在任何重构操作。虽然对偶数索引的因子矩阵进行转置操作严格讲属于重构操作,即/>和/>但实际上可在存储因子矩阵时即以转置形式保存,这里的转置符号只起到清晰描述的意义。
步骤3完成后,若多层感知机中仍有尚未压缩的全连接层,则跳转至步骤1对下一个全连接层进行压缩,如果多层感知机中所有待压缩的全连接层皆已压缩,得到新的多层感知机进入步骤4。相关判定路线在图1的流程图中体现。
步骤4:利用误差反向传播算法对新的完成压缩的多层感知机进行有限次数的训练以将其微调至最佳性能。
本步骤中,原多层感知机经细粒度张量分解压缩已经成为新的多层感知机/>虽然细粒度张量分解形式的因子矩阵在理论上能保证恢复为原权重矩阵,但多层全连接压缩后会存在累计误差,故新的多层感知机/>需要进行一定次数的再训练以达到所需性能。
为了更好地说明本发明的有益效果,尤其是与已有的TT、TR、HT、BT等张量分解压缩方法进行横向对比,给出在UCF11公开视频数据集上的长短时记忆(Long Short-TermMemory,LSTM)神经网络模型压缩实验。
LSTM是RNN的一种常用具体形式,一般可表示为:
yf=σ(Wfx(t)+Rfh(t-1)+bf)
yi=σ(Wix(t)+Rih(t-1)+bi)
yz=σ(Wzx(t)+Rzh(t-1)+bz)
yo=σ(Wox(t)+Roh(t-1)+bo)
c(t)=yf⊙c(t-1)+yi⊙yz
h(t)=yo⊙σ(c(t))
其中,f指遗忘门,i指输入门,z指状态门,o指状态门,x(t)为t时刻空间上的输入,h(t-1)指t-1时刻的状态输入,Wθ(θ=f,i,z,o)为输入权重矩阵,Rθ为循环权重矩阵,bθ为偏置向量,⊙指按元素相乘。上述6个式子描述了t时刻的神经网络结构,前后时刻的神经网络结构相同,但输入输出量x(t),h(t-1)和c(t)的值不同。
神经网络参数设计时,TT分解压缩的LSTM参照文献Tensor-train recurrentneural networks for video classification,TR分解压缩的LSTM参照文献Compressingrecurrent neural networks with tensor ring for action recognition,HT分解压缩的LSTM参照文献Compressing recurrent neural networks using hierarchical tuckertensor decomposition,BT分解压缩的LSTM参照文献Learning compact recurrentneural networks with block-term tensor decomposition。注意这四篇关于TT、TR、HT、BT的文献中,晚发表者都参照早发表者在UCF11数据集上开展了LSTM压缩实验。因此,直接参照这些文献的LSTM神经网络模型及张量分解参数作为本发明实验对比的对象即可。
具体的,UCF11的每个视频数据中的帧采样为160×120×3尺寸的RGB图像,将其拉伸为57600长度的向量作为输入x(t);LSTM的隐藏层只设置一层,输出维度设为2304;LSTM的时间长度设为6;整个LSTM的结构图如图5所示。输入权重矩阵Wθ的尺寸为57600×2304,循环权重矩阵Rθ的尺寸为2304×2304,模长57600分解为15×16×16×15,模长2304分解为8×6×6×8;TT、TR、HT、BT的秩都设为4,所述细粒度张量分解的秩和/>皆设为4,K值设为6。训练使用Adam优化器,初始学习率为0.001,训练遍历UCF11数据集400次。
实验结果如下表所示,可见所述细粒度张量分解方法压缩得到的LSTM在推理时间上是最快的,其余张量分解方法虽也能取得理论上的计算量缩减,但由于或多或少存在数据重构,故在实际运行中很难明显快于原始LSTM。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述方法包括:
步骤A:以总帧数To随机地采集摄像头、相机等传感器的视频数据,记为其中,Wo表示每帧视频图像宽度,Ho表示每帧视频图像高度,To即视频数据总帧数也就是时间长度,Co表示每帧视频图像通道数;
步骤B:构建多层感知机对视频数据进行识别;
步骤C:输出视频数据识别后的结果。
2.如权利要求1所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤B包括:
步骤B1:对用于识别视频数据的多层感知机,定义其每帧输入维度为Do=WoHoCo,定义其时间维度为To,多层感知机记为相应的视频数据分割为To个输入向量,每个输入向量长度为Do,输出给步骤B2;
步骤B2:对步骤B1输出的多层感知机进行训练,训练完成的多层感知机记为/>输出给步骤B3;
步骤B3:采用多层感知机细粒度张量分解压缩对步骤B2训练完成的多层感知机进行处理,得到完成压缩的多层感知机/>
步骤B4:使用步骤B3完成压缩的多层感知机对视频数据进行识别,生成待输出的视频数据识别后的结果。
3.如权利要求2所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤B3包括:
步骤1:对已经训练好的多层感知机记其中一层全连接为y=f(xW),f(·)记为该层非线性激活函数,读取全连接权重矩阵/> M维输入向量/>以及N维输出向量
步骤2:将M和N按照约束和/>因数分解为I个整数的乘积,则权重矩阵/>能够以细粒度张量分解形式进行压缩,即:
其中,是A组第k路分解的第i个因子矩阵,/>是B组第k路分解的第i个因子矩阵,/>为A组第k路分解的秩,/>为B组第k路分解的秩,和/> 是单位对角张量,vec(·)是将张量拉伸为向量的变换,运算符号·表示缩并,运算符号°表示外积;其中,k∈{1,2,…,K},i∈{1,2,…,I};K与I均为整数;
步骤3:定义输入向量x与细粒度张量分解后的权重
之间的免重构算法★,使其输出与xW的输出相等;
步骤3完成后,若多层感知机中仍有尚未压缩的全连接层,则跳转至步骤1对下一个全连接层进行压缩,如果多层感知机中所有待压缩的全连接层皆已压缩,得到新的多层感知机进入步骤4;
步骤4:利用误差反向传播算法对新的完成压缩的多层感知机进行有限次数的训练以将其微调至最佳性能。
4.如权利要求3所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤2中,对M和N以相同的因子数量I进行因数分解,且每个因数mi或ni不小于2。
5.如权利要求4所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤2中,A组的因子经过缩并运算·会消去所有的秩得到尺寸为m1×m2×…×mI的I阶张量,B组的因子/>经过缩并运算·会消去所有的秩/>得到尺寸为n1×n2×…×nI的I阶张量,这两个I阶张量分别经vec(·)拉伸为M维和N维向量,这两个向量再经外积运算°得到第k路的M×N矩阵,所有K路矩阵相加可恢复为原权重矩阵/>
所述步骤2中,细粒度张量分解形式的权重,其因子矩阵通过缩并运算·,外积运算°,以及求和∑,能够完全恢复为压缩之前的权重矩阵形式,说明权重矩阵转化为所述细粒度张量分解形式在维度变换上是正确的。
6.如权利要求5所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤3中,免重构算法★具体指:
首先将输入向量x按照约束折叠为I阶张量/> 再将A组和B组所有角标为奇数i的因子矩阵及其角标值为较大的临近偶数i+1的因子矩阵缩并起来,消去秩/>和/>即定义/>和定义/>
然后从i=1开始,令左缩并/>消去最左侧的两个模mi×mi+1,右外积/>补上最右侧的两个模ni×ni+1,总共得到K个中间结果,即/>接着将K个/>相加,所得结果与i+2所指代的/>与/>继续做左缩并右外积之后相加的计算,以此类推直至所有mi均被消去;最后得到I阶张量/>将其拉伸为N维输出向量/>且向量值与直接计算xW相等。
7.如权利要求6所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤3中,单位对角张量和/>对计算结果无影响。
8.如权利要求7所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤3中,所述输入向量x按照约束折叠为I阶张量/>该过程在实际计算机内存中并不会改变数据的存储位置,只是对指向具体数据的索引按照M=m1×m2×…×mI依次编排;所述/>左缩并/>指/>最左侧位置的两个模恰好是/>的模mi×mi+1,不需要对x或/>进行重构,直接就可以进行缩并计算;所述x右外积/>指在/>最右侧位置以外积形式直接补上/>的模ni×ni+1,也不需要对/>或/>进行重构;所述I阶张量/>拉伸为N维输出向量/>对具体数据索引按照n1×n2×…×nI=N再次编排即可,不需要重构;故所述算法★中不存在任何重构操作。
9.如权利要求3所述的基于多层感知机细粒度张量分解压缩的视频识别方法,其特征在于,所述步骤4中,原多层感知机经细粒度张量分解压缩已经成为新的多层感知机/>虽然细粒度张量分解形式的因子矩阵在理论上能保证恢复为原权重矩阵,但多层全连接压缩后会存在累计误差,故新的多层感知机/>需要进行一定次数的再训练以达到所需性能。
10.如权利要求9所述的多层感知机细粒度张量分解压缩方法,其特征在于,所述方法使用细粒度张量分解,对多层感知机中的权重矩阵进行了压缩,并提供了输入向量与细粒度张量分解形式的权重之间的免重构算法,使多层感知机在压缩之后既可以得到较小的神经网络规模,又可以与输入进行快速计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311240612.3A CN117218581A (zh) | 2023-09-25 | 2023-09-25 | 一种基于多层感知机细粒度张量分解压缩的视频识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311240612.3A CN117218581A (zh) | 2023-09-25 | 2023-09-25 | 一种基于多层感知机细粒度张量分解压缩的视频识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117218581A true CN117218581A (zh) | 2023-12-12 |
Family
ID=89047909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311240612.3A Pending CN117218581A (zh) | 2023-09-25 | 2023-09-25 | 一种基于多层感知机细粒度张量分解压缩的视频识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117218581A (zh) |
-
2023
- 2023-09-25 CN CN202311240612.3A patent/CN117218581A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kossaifi et al. | Tensor regression networks | |
CN111259904B (zh) | 一种基于深度学习和聚类的语义图像分割方法及系统 | |
Zhang et al. | Self-taught semisupervised dictionary learning with nonnegative constraint | |
Yin et al. | Batude: Budget-aware neural network compression based on tucker decomposition | |
CN112067129B (zh) | 一种高光谱处理方法及波段选择方法 | |
CN113191390A (zh) | 一种图像分类模型的构建方法、图像分类方法及存储介质 | |
CN116316591A (zh) | 基于混合双向门控循环的短期光伏功率预测方法及系统 | |
Wang et al. | Nonlinear tensor train format for deep neural network compression | |
Chen et al. | An efficient sharing grouped convolution via bayesian learning | |
CN114611798A (zh) | 一种基于动态超图卷积神经网络的od客流预测方法 | |
Giraldo et al. | Information theoretic learning with infinitely divisible kernels | |
Wang et al. | Tensor decomposition to compress convolutional layers in deep learning | |
Li et al. | The nonconvex tensor robust principal component analysis approximation model via the weighted ℓ p-norm regularization | |
Cao et al. | Hyperspectral imagery classification based on compressed convolutional neural network | |
Liu et al. | High-performance tensor decompositions for compressing and accelerating deep neural networks | |
CN116977723A (zh) | 基于空间-光谱混合自注意力机制的高光谱图像分类方法 | |
Sun et al. | Deep alternating non-negative matrix factorisation | |
CN117218581A (zh) | 一种基于多层感知机细粒度张量分解压缩的视频识别方法 | |
CN112116062B (zh) | 一种基于张量串分解的多层感知机非线性压缩方法 | |
CN116051861A (zh) | 一种基于重参数化的无锚框目标检测方法 | |
Li et al. | Rethink autoencoders: robust manifold learning | |
Yuan et al. | Rank minimization on tensor ring: A new paradigm in scalable tensor decomposition and completion | |
Huang et al. | A new measure of model redundancy for compressed convolutional neural networks | |
Jayagopal et al. | Multimodal representation learning with text and images | |
Chou et al. | Merging deep neural networks for mobile devices |
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 |