一种神经网络结构化张量分解压缩方法与流程

文档序号:31343089发布日期:2022-08-31 10:59阅读:176来源:国知局
一种神经网络结构化张量分解压缩方法与流程

1.本发明涉及边缘计算技术领域,特别是涉及一种神经网络结构化张量分解压缩方法。


背景技术:

2.主流的深度神经网络压缩算法研究包括模型剪枝、参数量化、近似表示、信源编码等。本发明主要关注张量分解方法。
3.在面向大规模计算机视觉应用时,由于其海量输入数据和计算量,采用矩阵分解进行压缩是低效且不可扩展的。随后,张量分解的方法被提出并应用于深度神经网络。张量分解算法将矩阵分解推广到了更高维数据(张量),以完成更高的压缩比率。cp、tucker和 tensor-train等形式的张量分解算法被相继提出,以显著减少全连接计算中的参数并降低计算复杂度。此外,有提出在训练中将张量分解运用在反向传播。另一项工作使用张量序列来预测长期信息。还有一些张量分解的方法被应用于各种场景的rnns应用中。尽管这些已有的张量分解工作在压缩全连接计算方面取得了重大进展,但它们依然局限于直接使用原始的非结构化特征进行推理,导致最终的网络精度得不到改进。
4.本技术发明人在实现本技术实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:局限于使用原始非结构化特征数据,压缩精度下降明显;针对全连接计算的压缩率仍有提升空间;对边缘计算神经网络加速效果有限。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种神经网络结构化张量分解压缩方法,用于解决局限于使用原始非结构化特征数据,压缩精度下降明显;针对全连接计算的压缩率仍有提升空间;对边缘计算神经网络加速效果有限的问题。
6.为实现上述目的及其他相关目的,本发明提供一种神经网络结构化张量分解压缩方法,
7.包括以下步骤:
8.s1:依据深度神经网络中全连接计算获得y=wx+b,其中是权重矩阵;是特征向量;是偏置向量;是输出向量;
9.s2:进一步
10.s3:将权重矩阵w首先变换为张量:
[0011][0012]
其中
[0013]
张量化的权重可以被表示为:
[0014][0015]
s4:将和转换成d维张量,即以及
[0016]
同样也变成了一个d维张量
[0017]
用变换的张量来表示全连接计算公式为:
[0018][0019]
作为优选的技术方案,运用于lstm网络之上。
[0020]
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1 至中任一项所述的神经网络结构化张量分解压缩方法。
[0021]
如上所述,本发明一种神经网络结构化张量分解压缩方法,具有以下有益效果:结构化张量分解(structured tensor decomposition)策略的输入定义为已经高度结构化和张量化的特征信息,这允许对后续的张量核设定进行较高灵活性的优化,并带来网络性能的提升。不同于已有张量分解工作要求输入特征和张量核的秩边界小中间大(即类似于橄榄形状 (olive shape)),提出的结构化张量分解策略抛弃了这种经验性的初始化,而选择将张量核的秩设定为更贴近原始结构化数据的维度大小,以获得更强的灵活性和表示能力。这种结构化张量分解有利于大规模时序数据的处理,尤其是在视频分析任务中。原因之一是利用提出的结构化张量分解,可以显著压缩深度神经网络的参数和计算量;原因之二是采用小的张量核有利于并行化计算,进一步加快深度神经网络的训练和推理速度。
附图说明
[0022]
图1显示为结构化张量分解过程图;
[0023]
图2显示为t-lstm中结构化张量分解流程图。
具体实施方式
[0024]
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
[0025]
请参阅图1至图2。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
[0026]
请参阅图1至图2,本发明第一实施例提供一种神经网络结构化张量分解压缩方法,包括以下步骤:
[0027]
s1:依据深度神经网络中全连接计算获得y=wx+b,其中是权重矩阵;是特征向量;是偏置向量;是输出向量;
[0028]
s2:进一步
[0029]
s3:将权重矩阵w首先变换为张量:
[0030][0031]
其中
[0032]
张量化的权重可以被表示为:
[0033][0034]
s4:将和转换成d维张量,即以及
[0035]
同样也变成了一个d维张量
[0036]
用变换的张量来表示全连接计算公式为:
[0037][0038]
本实施例提供的一种神经网络结构化张量分解压缩方法,运用于lstm网络之上。
[0039]
本发明第二实施例提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至中任一项所述的神经网络结构化张量分解压缩方法。
[0040]
具体来说:张量是矩阵的多维推广。具体来说,一维数据称作向量(vector),在本文中用小写字母a表示,a(h1)表示其中索引为h1的特定元素;二维数据称为矩阵(matrix),使用大写字母a表示,其中a(h1,h2)通过二维索引h1,h2指向特定元素;三维及以上数据称为张量(tensor),由手写体字母表示,通过d维索引h1,h2,

,hd指向特定元素。
[0041]
d维张量中的参数个数是l1,l2,

,ld,其显然会随着d的上升呈指数级增加。实际上,张量分解是被用来寻找高维张量的低秩近似,并将其表示为一系列小尺寸的张量核。通过这种机制,我们可以将张量之间的计算复杂度从指数级降低为线性级,从而显著减轻计算开销。此外,对于低维的大规模数据,为了达到更高的压缩比,如下将输入向量a或矩阵a变换 (reshape)为高维数据然后再对张量进行结构化分解。
[0042]
给定一个d维张量其张量分解过程如下:
[0043][0044]
其中称为张量核,rk为张量核的秩,αk表示从1到rk的求和索引, l1,l2,

,ld表示d维张量的每一维大小,表示方程左右两边为近似约等关系。设定 r0=rd=1,因此保证了以上公式的右侧是一个标量。为了得到更为简洁的表达式,使用的表示方法,这样可以被理解为三维张量中的二维切片,于是以上公式变化为:
[0045][0046]
具体地,一个三维张量的分解效果如下所示,接下来,假设以上公式中的每个整数lk可以被进一步分解为lk=nkmk,那么每个张量核可以变换为
[0047][0048]
其中可以认为是在r
k-1
×rk
维度上的切片,因此,的分解可以相应地变换为:
[0049][0050]
这种双索引的计算技巧将被巧妙地用来分解原始网络中的稠密全连接计算。
[0051]
深度神经网络中全连接计算可以被表示为:y=wx+b,其中是权重矩阵;是特征向量;是偏置向量;是输出向量。更具体的带有索引的表达式为:
[0052][0053]
为了使用更少的参数去近似wx,我们将权重矩阵w首先变换为张量:
[0054][0055]
其中遵循以上提出的张量分解方法,张量化的权重可以被表示为:
[0056][0057]
类似地,将和转换成d维张量,即以及结果便是同样也变成了一个d维张量这种情况下,用变换的张量来表示全连接计算公式为:
[0058][0059]
其中是高度结构化的特征信息。通过对张量秩rk的设定,分解后的张量核能够最大可能地保持特征信息的结构性和连续性。
[0060]
本发明具体将结构化张量分解运用在lstm网络之上,并取名为t-lstm,将原始lstm中的全部计算都使用结构化张量分解的计算代替。如图2,描述了t-lstm中结构化张量分解的详细过程,在输入到隐藏层时,二维权重首先被转换为d维张量,并分解为d个张量核由于张量核的秩普遍较小,每个核的参数量都相对较小,这使得整体网络参数大大减少。与原始lstm相比,t-lstm在存储和计算效率方面有着极大的优势。
[0061]
综上所述,本发明一种神经网络结构化张量分解压缩方法,解决局限于使用原始非结构化特征数据,压缩精度下降明显;针对全连接计算的压缩率仍有提升空间;对边缘计算神经网络加速效果有限的问题,设计合理,适于生产和推广应用。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0062]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1