【技术实现步骤摘要】
一种基于张量分解的大规模神经网络参数压缩方法及系统
[0001]本专利技术涉及神经网络模型参数压缩的
,更具体地,涉及一种基于张量分解的大规模神经网络参数压缩方法及系统。
技术介绍
[0002]人工神经网络是当前广泛使用的一类机器学习模型,其大量的参数使神经网络成为具有强大拟合逼近能力的高度非线性模型。它能够优秀地解决许多科学研究与现实世界中的问题,例如计算机视觉、自然语言处理、求解高维微分方程等。近年来神经网络的趋势是向更深层、更多参数的方向发展。例如ResNet、Inception等常见的卷积神经网络有着千万级的参数量,而较新颖的用于自然语言处理的GPT
‑
3(GenerativePre
‑
trained Transformer 3)模型,将参数量提高到了前所未有的千亿级。大量的参数不可避免地导致了巨额推理成本。具体来说,最常见的全连接层因其稠密连接,需要大量内存或显存才能运行,这就导致神经网络模型很难部署到性能受限的设备,因此神经网络的压缩方法受到广泛关注。
[0003]为了缓解上述问题,张量或矩阵分解方法被广泛用于压缩神经网络。对于一个训练好的大型神经网络,这类方法的常见流程是使用参数的低秩近似来压缩、替代原权重,之后再通过微调恢复准确率。神经网络中权重具有冗余性的假设已被实验广泛地验证,因此可以在损失少量或不损失准确率的情况下减少参数量,从而减少神经网络的推理成本。目前,成功应用于神经网络压缩的张量、矩阵分解方法主要包括SVD分解、CP分解、Tucker分解
【技术保护点】
【技术特征摘要】
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<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。