当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于张量分解的大规模神经网络参数压缩方法及系统技术方案

技术编号:38405926 阅读:6 留言:0更新日期:2023-08-07 11:15
本发明专利技术公开了一种基于张量分解的大规模神经网络参数压缩方法及系统,涉及神经网络模型参数压缩的技术领域,包括获取已训练的大规模神经网络中的权重矩阵,设置权重矩阵的行秩和列秩;根据行秩和列秩,在权重矩阵中选取一组行序号集合和列序号集合;基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解,获得压缩权重矩阵,并利用压缩权重矩阵替换权重矩阵;设定损失函数,对压缩权重矩阵调整,获得调整后的压缩权重矩阵,比较行秩和列秩的大小,根据比较结果对调整后的压缩权重矩阵进行简化,实现对大规模神经网络参数的压缩。本发明专利技术能够快速准确的分解和压缩参数,计算复杂度低,分解速度快,降低了压缩后的准确率丢失。降低了压缩后的准确率丢失。降低了压缩后的准确率丢失。

【技术实现步骤摘要】
一种基于张量分解的大规模神经网络参数压缩方法及系统


[0001]本专利技术涉及神经网络模型参数压缩的
,更具体地,涉及一种基于张量分解的大规模神经网络参数压缩方法及系统。

技术介绍

[0002]人工神经网络是当前广泛使用的一类机器学习模型,其大量的参数使神经网络成为具有强大拟合逼近能力的高度非线性模型。它能够优秀地解决许多科学研究与现实世界中的问题,例如计算机视觉、自然语言处理、求解高维微分方程等。近年来神经网络的趋势是向更深层、更多参数的方向发展。例如ResNet、Inception等常见的卷积神经网络有着千万级的参数量,而较新颖的用于自然语言处理的GPT

3(GenerativePre

trained Transformer 3)模型,将参数量提高到了前所未有的千亿级。大量的参数不可避免地导致了巨额推理成本。具体来说,最常见的全连接层因其稠密连接,需要大量内存或显存才能运行,这就导致神经网络模型很难部署到性能受限的设备,因此神经网络的压缩方法受到广泛关注。
[0003]为了缓解上述问题,张量或矩阵分解方法被广泛用于压缩神经网络。对于一个训练好的大型神经网络,这类方法的常见流程是使用参数的低秩近似来压缩、替代原权重,之后再通过微调恢复准确率。神经网络中权重具有冗余性的假设已被实验广泛地验证,因此可以在损失少量或不损失准确率的情况下减少参数量,从而减少神经网络的推理成本。目前,成功应用于神经网络压缩的张量、矩阵分解方法主要包括SVD分解、CP分解、Tucker分解、TT分解等。此类方法往往可以通过超参数平衡压缩率与压缩后的准确率。然而,上述方法存在如下的局限性:现有方法使用的张量、矩阵分解方法分解速度缓慢,例如SVD分解的计算复杂度为O(min(m,n)mn),其中m,n分别为矩阵的行数和列数;CP

ALS分解的计算复杂度为O(2
n
rd
n
+nr3),其中n为张量的维数,r为设置的秩的大小,d为维度的平均长度。当前大型的神经网络中的权重矩阵不仅大且数量多,现有方法分解权重的计算复杂度过高,并且分解结果丢失了原张量、矩阵的基本特征(例如稀疏性),这使得分解后恢复准确率的难度更高,往往需要再训练多次才能达到与原来相当的准确率。同时还限制了可解释性分析和可视化方法在压缩后的神经网络中的应用。
[0004]现有技术公开了基于张量分解的压缩表示学习方法,该方法首先将通过一个微型神经网络预处理学习到的表示转化为一个待分解的张量,基于优化算法进行张量分解,求解其子空间并进行低秩重建,最后经过另一个微型神经网络加工张量分解抽取的低秩表示,融合到主干网络学习的表示中,起到正则的作用;并结合截断的单步梯度优化方法,用于改进具有多步沿时间轴迭代模型的优化算法。该方法虽然一定程度上降低了计算和参数量,但准确率丢失严重。

技术实现思路

[0005]本专利技术为克服上述现有技术对大规模神经网络进行参数压缩时,计算复杂度高,
准确率丢失严重的缺陷,提供一种基于张量分解的大规模神经网络参数压缩方法及系统,能够快速准确的分解和压缩权重矩阵,计算复杂度低,分解速度快;保留了权重矩阵的稀疏性和数值特征,降低了压缩后的准确率丢失。
[0006]为解决上述技术问题,本专利技术的技术方案如下:
[0007]本专利技术提供了一种基于张量分解的大规模神经网络参数压缩方法,包括:
[0008]S1:获取已训练的大规模神经网络中的权重矩阵;
[0009]S2:分别在行维度和列维度,设置权重矩阵的行秩和列秩;
[0010]S3:根据所述行秩和列秩,在权重矩阵中选取一组行序号集合和列序号集合;
[0011]S4:基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解,获得压缩权重矩阵,并利用压缩权重矩阵替换权重矩阵;
[0012]S5:设定损失函数,对压缩权重矩阵调整,获得调整后的压缩权重矩阵;
[0013]S6:比较行秩和列秩的大小,根据比较结果对调整后的压缩权重矩阵进行简化,实现对大规模神经网络参数的压缩。
[0014]优选地,所述步骤S1中,已训练的大规模神经网络包含n个全连接层,第i个全连接层的前向传播表达式为:
[0015]f
i
(x)=W
i
x+b
i
[0016]式中,f
i
(x)表示第i个全连接层的输出,W
i
表示第i个全连接层的权重矩阵,x表示全连接层的输入向量,b
i
表示第i个全连接层的偏置权重,M
i
表示权重矩阵的行数,N
i
表示权重矩阵的列数。
[0017]优选地,所述步骤S3具体为:
[0018]根据所述行秩和列秩,利用现有的行列子集选择问题的算法在权重矩阵中选取一组行序号集合和列序号集合;所选取的行序号集合中的元素个数等于行秩,所选取的列序号集合中的元素个数等于列秩,即:
[0019][0020][0021]式中,I
i
表示第i个全连接层的权重矩阵的行序号集合,p表示行序号,|
·
|表示集合中元素的个数,k
i,1
表示第i个全连接层的权重矩阵的行秩;J
i
表示第i个全连接层的权重矩阵的列序号集合,k
i,2
表示第i个全连接层的权重矩阵的列秩,q表示列序号,表示整数。
[0022]所选取的行秩和列秩的数值越小,最终压缩后的参数占用的空间就越小,运行速度越快。
[0023]优选地,所述现有的行列子集选择问题的算法包括随机选择法、遍历搜索算法、局部搜索算法、遗传算法、模拟退火算法和启发式搜索算法。
[0024]优选地,所述步骤S4中,基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解,获得压缩权重矩阵具体方法为:
[0025]基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解:
[0026]C
i
=W
i
[:,J
i
][0027][0028]R
i
=W
i
[I
i
,:][0029]式中,W
i
[
·

·
]表示通过选取元素序号构成的子矩阵,:表示该维度上的所有元素序号,W
i
[:,J
i
]表示根据权重矩阵W
i
的所有行和列序号集合J
i
所对应的列构成的列子集矩阵,记为W
i
[I
i
,:]表示根据权重矩阵W
i
的所有列和行序号集合I
i
所对应的行构成的行子集矩阵,记为取列子集矩阵C
i
和行子集矩阵R
i
的交集,记为矩阵矩阵表示矩阵U
...

【技术保护点】

【技术特征摘要】
1.一种基于张量分解的大规模神经网络参数压缩方法,其特征在于,包括:S1:获取已训练的大规模神经网络中的权重矩阵;S2:分别在行维度和列维度,设置权重矩阵的行秩和列秩;S3:根据所述行秩和列秩,在权重矩阵中选取一组行序号集合和列序号集合;S4:基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解,获得压缩权重矩阵,并利用压缩权重矩阵替换权重矩阵;S5:设定损失函数,对压缩权重矩阵调整,获得调整后的压缩权重矩阵;S6:比较行秩和列秩的大小,根据比较结果对调整后的压缩权重矩阵进行简化,实现对大规模神经网络参数的压缩。2.根据权利要求1所述的基于张量分解的大规模神经网络参数压缩方法,其特征在于,所述步骤S1中,已训练的大规模神经网络包含n个全连接层,第i个全连接层的前向传播表达式为:f
i
(x)=W
i
x+b
i
式中,f
i
(x)表示第i个全连接层的输出,W
i
表示第i个全连接层的权重矩阵,x表示全连接层的输入向量,b
i
表示第i个全连接层的偏置权重,M
i
表示权重矩阵的行数,N
i
表示权重矩阵的列数。3.根据权利要求2所述的基于张量分解的大规模神经网络参数压缩方法,其特征在于,所述步骤S3具体为:根据所述行秩和列秩,利用现有的行列子集选择问题的算法在权重矩阵中选取一组行序号集合和列序号集合;所选取的行序号集合中的元素个数等于行秩,所选取的列序号集合中的元素个数等于列秩,即:合中的元素个数等于列秩,即:式中,I
i
表示第i个全连接层的权重矩阵的行序号集合,p表示行序号,|
·
|表示集合中元素的个数,k
i,1
表示第i个全连接层的权重矩阵的行秩;J
i
表示第i个全连接层的权重矩阵的列序号集合,k
i,2
表示第i个全连接层的权重矩阵的列秩,q表示列序号,表示整数。4.根据权利要求3所述的基于张量分解的大规模神经网络参数压缩方法,其特征在于,所述现有的行列子集选择问题的算法包括随机选择法、遍历搜索算法、局部搜索算法、遗传算法、模拟退火算法和启发式搜索算法。5.根据权利要求3或4所述的基于张量分解的大规模神经网络参数压缩方法,其特征在于,所述步骤S4中,基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解,获得压缩权重矩阵具体方法为:基于选取的行序号集合和列序号集合对权重矩阵进行CUR分解:C
i

i
[:,
i
]R
i

i
[
i
,:]式中,W
i
[
·
,
·
]表示通过选取元素序号构成的子矩阵,:表示该维度上的所有元素序
号,W
i
[:,
i
]表示根据权重矩阵W
i
的所有行和列序号集合J
i
所对应的列构成的列子集矩阵,记为W
i
[
i
,:]表示根据权重矩阵W<...

【专利技术属性】
技术研发人员:汪涛高子雄张翠卿张序
申请(专利权)人:中山大学
类型:发明
国别省市:

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

1