网络模型压缩方法、装置、电子设备及存储介质



1.本发明涉及计算机硬件加速技术领域,尤其涉及一种网络模型压缩方法、装置、电子设备及存储介质。


背景技术:



2.目前,长短期记忆网络(long short-term memory,lstm)模型因其是一种添加门控机制的循环神经网络(recurrent neural network,rnn)而被用于解决rnn训练时出现的梯度爆炸和梯度消失问题,但是,lstm模型在使用过程中会引入巨大的参数量和计算量,加大了嵌入式设备的部署要求,因此,如何减少lstm模型的参数量和计算量就显得尤为重要。
3.相关技术中,通常采用剪枝法对lstm模型的权重参数进行剪枝,将不重要的权重参数值为零,以此实现减少lstm模型的参数量和计算量的目的。
4.然而,由于剪枝法在实现过程中容易引入稀疏矩阵,如此不仅导致加大了lstm模型的参数量和计算量,也导致权重参数的存储难度加大。


技术实现要素:



5.本发明提供一种网络模型压缩方法、装置、电子设备及存储介质,用以解决现有技术中引入稀疏矩阵所导致的加大模型参数量和计算量以及存储难度加大的缺陷,实现大幅减少模型参数、减少计算量以及提高运算速度的目的。
6.本发明提供一种网络模型压缩方法,包括:
7.获取待压缩网络模型的初始权重参数和初始偏置参数;
8.基于所述初始权重参数和所述初始偏置参数,确定目标推理模型,所述目标推理模型用于推理所述待压缩网络模型中不同的门在不同时刻的状态;
9.对所述目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;
10.基于所述目标权重参数和所述目标偏置参数,确定目标网络模型。
11.根据本发明提供的一种网络模型压缩方法,所述获取待压缩网络模型的初始权重参数和初始偏置参数,包括:
12.使用样本数据集对初始lstm模型进行训练,获取待压缩网络模型;
13.获取所述取待压缩网络模型的输入层权重参数、输入层偏置参数、隐藏层权重参数及隐藏层偏置参数;
14.确定所述输入层权重参数和所述隐藏层权重参数为所述待压缩网络模型的初始权重参数;
15.确定所述输入层偏置参数和所述隐藏层偏置参数为所述待压缩网络模型的初始偏置参数。
16.根据本发明提供的一种网络模型压缩方法,所述对所述目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数,包括:
17.基于所述目标推理模型和样本数据集,确定预设时间序列的拟合数据集,所述拟合数据集包括所述预设时间序列中不同当前时刻的输入数据、不同前一时刻的隐藏状态、不同前一时刻的细胞状态、不同当前时刻的细胞状态和不同当前时刻的隐藏状态;
18.对所述目标推理模型进行输入门与输出门的裁剪;
19.基于所述拟合数据集对初始全连接层进行训练,确定目标全连接层;
20.基于所述目标全连接层的参数,确定裁剪所得模型的目标权重参数和目标偏置参数。
21.根据本发明提供的一种网络模型压缩方法,所述基于所述拟合数据集对初始全连接层进行训练,确定目标全连接层,包括:
22.确定所述不同当前时刻的输入数据、所述不同前一时刻的隐藏状态和所述不同前一时刻的细胞状态为样本输入集,以及确定所述不同当前时刻的细胞状态和所述不同当前时刻的隐藏状态为样本输出集;
23.使用所述样本输入集对初始全连接层进行训练,确定不同时刻的新的细胞状态和不同时刻的新的隐藏状态;
24.使用所述样本输出集对所述新的细胞状态和所述新的隐藏状态进行验证,确定目标全连接层。
25.根据本发明提供的一种网络模型压缩方法,所述基于所述初始权重参数和所述初始偏置参数,确定目标推理模型,包括采用下式推断t时刻的输入门状态、遗忘门状态、记忆细胞状态、输出门状态、细胞状态和隐藏状态:
26.i
t
=sigmoid(w
ii
x
t
+b
ii
+w
hiht-1
+b
hi
);
27.f
t
=sigmoid(w
if
x
t
+b
if
+w
hfht-1
+b
hf
);
28.g
t
=tanh(w
ig
x
t
+b
ig
+w
hght-1
+b
hg
);
29.o
t
=sigmoid(w
io
x
t
+b
io
+w
hoht-1
+b
ho
);
30.c
t
=f
t
⊙ct-1
+i
t
⊙gt

31.h
t
=o
t

tanh(c
t
);
32.其中,i
t
为t时刻的输入门状态,f
t
为t时刻的遗忘门状态,g
t
为t时刻的记忆细胞状态,o
t
为t时刻的输出门状态,c
t
为t时刻的细胞状态,h
t
为t时刻的隐藏状态,w
ii
为输入层在输入门的初始权重参数,b
ii
为输入层在输入门的初始偏置参数,w
hi
为隐藏层在输入门的初始权重参数,b
hi
为隐藏层在输入门的初始偏置参数,x
t
为t时刻的输入数据,h
t-1
为t-1时刻的隐藏状态,w
if
为输入层在遗忘门的初始权重参数,w
hf
为隐藏层在遗忘门的初始权重参数,b
if
为输入层在遗忘门的初始偏置参数,b
hf
为隐藏层在遗忘门的初始偏置参数,w
ig
为输入层在记忆细胞的初始权重参数,w
hg
为隐藏层在记忆细胞的初始权重参数,b
ig
为输入层在记忆细胞的初始偏置参数,b
hg
为隐藏层在记忆细胞的初始偏置参数,w
io
为输入层在输出门的初始权重参数,w
ho
为隐藏层在输出门的初始权重参数,b
io
为输入层在输出门的初始偏置参数,b
ho
为隐藏层在输出门的初始偏置参数,c
t-1
为t-1时刻的细胞状态。
33.根据本发明提供的一种网络模型压缩方法,所述基于所述目标权重参数和所述目标偏置参数,确定目标网络模型,包括采用下式确定t时刻的新的遗忘门状态、新的记忆细胞状态、新的细胞状态和新的隐藏状态:
34.f
t

=sigmoid(w
if

x
t
+b
if

+w
hf
′ht-1

+b
hf

);
35.g
t
'=tanh(w
ig
'x
t
+b
ig
'+w
hg
'h
t-1
'+b
hg
');
36.c
t

=f
t
′⊙ct-1

+g
t


37.h
t

=tanh(c
t

);
38.其中,f
t
'为t时刻的新的遗忘门状态,g
t
'为t时刻的新的记忆细胞状态,c
t
'为t时刻的新的细胞状态,h
t
'为t时刻的新的隐藏状态,x
t
为t时刻的输入数据,h
t-1
'为t-1时刻的新的隐藏状态,w
if
'为输入层在遗忘门的目标权重参数,w
ig
'为输入层在记忆细胞的目标权重参数,b
if
'为输入层在遗忘门的目标偏置参数,b
ig
'为输入层在记忆细胞的目标偏置参数,w
hf
'为隐藏层在遗忘门的目标权重参数,w
hg
'为隐藏层在记忆细胞的目标权重参数,b
hf
'为隐藏层在遗忘门的目标偏置参数,b
hg
'为隐藏层在记忆细胞的目标偏置参数,c
t-1
'为t-1时刻的新的细胞状态。
39.本发明还提供一种网络模型压缩装置,包括:
40.获取模块,用于获取待压缩网络模型的初始权重参数和初始偏置参数;
41.第一确定模块,用于基于所述初始权重参数和所述初始偏置参数,确定目标推理模型,所述目标推理模型用于推理所述待压缩网络模型中不同的门在不同时刻的状态;
42.裁剪模块,用于对所述目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;
43.第二确定模块,用于基于所述目标权重参数和所述目标偏置参数,确定目标网络模型。
44.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述网络模型压缩方法。
45.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网络模型压缩方法。
46.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述网络模型压缩方法。
47.本发明提供的网络模型压缩方法、装置、电子设备及存储介质,其中网络模型压缩方法,首先获取待压缩网络模型的初始权重参数和初始偏置参数,再基于初始权重参数和初始偏置参数确定目标推理模型,由于目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态,因此能够结合推理技术和模型构造分析可裁剪的预设门,并对目标推理模型进行预设门的裁剪,再基于裁剪所得模型确定的目标权重参数和目标偏置参数确定压缩后的目标网络模型。以此通过裁剪推理模型生成轻量级推理模型的方式确定压缩后的目标网络模型,不仅避免了引入稀疏矩阵所导致的加大模型参数量和计算量,以及存储难度加大的弊端,而且也实现了减少计算量与提高推断速度的目的。
附图说明
48.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1是本发明提供的网络模型压缩方法的流程示意图;
50.图2是本发明提供的搭建目标推理模型的过程示意图;
51.图3是本发明提供的针对目标推理模型进行裁剪的过程示意图;
52.图4是本发明提供的网络模型压缩装置的结构示意图;
53.图5是本发明提供的电子设备的结构示意图。
具体实施方式
54.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.循环神经网络(recurrent neural network,rnn)是一类用于处理序列数据的神经网络,虽然以具备挖掘序列数据中的时序信息这一功能在语音识别、语音模型和机器人等领域中取得较好效果,但是随着序列数据的长度增加,rnn会出现梯度爆炸与梯度消失的问题;考虑到长短期记忆网络(long short-term memory,lstm)模型是一种添加门控机制的rnn,可以用于解决rnn训练时出现的梯度爆炸和梯度消失问题,但是lstm模型在使用过程中会引入巨大的参数量和计算量,加大了嵌入式设备的部署要求。
56.针对lstm模型的硬件加速与模型压缩,目前通常采用剪枝法对lstm模型的权重参数进行剪枝,将不重要的权重参数置为零,但是剪枝容易引入稀疏矩阵,加大了权重参数存储的难度;也可以采用含有权重参数较少的门控循环神经网络(gated recurrent neural network,gru)解决梯度消失与梯度爆炸的问题,但是当训练量很大时,使用gru解决梯度消失与梯度爆炸的效果并不会优于lstm模型。因此,如何减少lstm模型的参数量和计算量以及降低模型参数的存储难度就显得尤为重要。
57.基于此,本发明提供一种网络模型压缩方法、装置、电子设备及存储介质,其中网络模型压缩方法的执行主体可以为终端设备或者服务器,终端设备可以为个人计算机(personal computer,pc)、便携式设备、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等其它电子设备;服务器可以使用独立的服务器或者多个服务器组成的服务器集,比如服务器可以为包含独立主机的物理服务器、主机集承载的虚拟服务器、云服务器等。本发明对终端设备的具体形式不做限定,也不具体限定服务器的具体形式。
58.下面结合图1-图5描述本发明的网络模型压缩方法、装置、电子设备及存储介质,下述方法实施例以执行主体为终端设备为例进行说明,并且下述方法实施例的执行主体可以是终端设备的部分或全部。
59.图1为本发明实施例提供的网络模型压缩方法的流程示意图,如图1所示,该网络模型压缩方法,包括以下步骤:
60.步骤110、获取待压缩网络模型的初始权重参数和初始偏置参数。
61.具体的,获取待压缩网络模型的初始权重参数和初始偏置参数,可以是使用样本数据集对神经网络模型进行训练且训练轮数达到预设轮数阈值时停止训练,并将停止训练时对应的神经网络模型确定为待压缩网络模型,此时待压缩网络模型的模型参数包括输入层权重参数、输入层偏置参数、隐藏层权重参数和隐藏层偏置参数,并将输入层权重参数和
隐藏层权重参数作为待压缩网络模型的初始权重参数,以及将输入层偏置参数和隐藏层偏置参数作为待压缩网络模型的初始偏置参数。
62.步骤120、基于初始权重参数和所述初始偏置参数,确定目标推理模型,目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态。
63.具体的,终端设备可以基于获取到的输入层权重参数、输入层偏置参数、隐藏层权重参数和隐藏层偏置参数,构建针对待压缩网络模型的目标推理模型,目标推理模型用于基于输入层权重参数、输入层偏置参数、隐藏层权重参数、隐藏层偏置参数以及样本数据集进行前向推断,从而推断待压缩网络模型中不同的门在不同时刻的状态。
64.需要说明的是,样本数据集根据待压缩网络模型的应用场景可以为图像数据集、文本数据集、语音数据集或者视频数据集。本发明对样本数据集的类型不作具体限定。并且,样本数据集可以采用现有的数据集,也可以通过对应用场景进行数据采集获得。本发明对样本数据集的获取方式也不作具体限定。
65.步骤130、对目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数。
66.具体的,由于神经网络模型中通常含有不同的门,模型参数中的权重参数和偏置参数的取值不同、以及时刻不同时的输入数据不同时,均会影响相应门在不同时刻的状态,因此可以对构建的目标推理模型进行推理的方式推断不同的门在不同时刻的状态,以便于后续确定轻量化模型的方式,比如将目标推理模型中的预设门裁剪,以此实现轻量化模型及减少模型参数的目的,并进一步确定裁剪所得模型的目标权重参数和目标偏置参数。
67.步骤140、基于目标权重参数和目标偏置参数,确定目标网络模型。
68.具体的,由于目标权重参数和目标偏置参数是基于裁剪所得模型确定的,因此可以将目标权重参数和目标偏置参数作为针对待压缩网络模型进行压缩处理后所得模型的参数,也即可以基于目标权重参数和目标偏置参数构建目标网络模型,目标网络模型不仅能够反映模型参数大幅减少,而且也能针对目标推理模型中除裁剪的预设门之外剩余的门在不同时刻的新的状态,以此实现压缩模型的目的。
69.本发明实施例提供的网络模型压缩方法,首先获取待压缩网络模型的初始权重参数和初始偏置参数,再基于初始权重参数和初始偏置参数确定目标推理模型,由于目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态,因此能够结合推理技术和模型构造分析可裁剪的预设门,并对目标推理模型进行预设门的裁剪,再基于裁剪所得模型确定的目标权重参数和目标偏置参数确定压缩后的目标网络模型。以此通过裁剪推理模型生成轻量级推理模型的方式确定压缩后的目标网络模型,不仅避免了引入稀疏矩阵所导致的加大模型参数量和计算量,以及存储难度加大的弊端,而且也实现了减少计算量与提高推断速度的目的。
70.可选的,步骤110的具体实现过程可以包括:
71.首先,使用样本数据集对初始lstm模型进行训练,获取待压缩网络模型;再进一步获取待压缩网络模型的输入层权重参数、输入层偏置参数、隐藏层权重参数及隐藏层偏置参数;然后,确定输入层权重参数和隐藏层权重参数为待压缩网络模型的初始权重参数,以及确定输入层偏置参数和隐藏层偏置参数为待压缩网络模型的初始偏置参数。
72.具体的,使用样本数据集对初始lstm模型进行训练,首先将样本数据集划分为两
个子集,其中一个子集为训练样本,另一个子集为测试样本,然后使用训练样本对lstm模型进行训练,当训练样本均参与训练一次后,则确定初始lstm模型经过了一轮训练,并针对经过一轮训练所得的中间网络模型,使用测试样本对中间网络模型进行测试,然后判断测试所得结果的准确率是否与测试样本的实际准确率匹配,若确定测试所得结果的准确率与测试样本的实际准确率匹配,则确定匹配时对应的中间网络模型即为训练好的待压缩网络模型;反之,若确定测试所得结果的准确率与测试样本的实际准确率不匹配,则针对不匹配时对应的中间网络模型获取参数更新后的中间网络模型,再使用样本数据集对参数更新后的中间网络模型进行下一轮训练和测试。直至测试所得结果的准确率与测试样本的实际准确率匹配。
73.此外,由于待压缩网络模型是对lstm模型进行训练后得到的,因此待压缩网络模型的网络结构与lstm模型相同,也即含有输入门、遗忘门、记忆细胞和输出门,因此,待压缩网络模型的输入层权重参数和输入层偏置参数,以及隐藏层权重参数和隐藏层偏置参数,也都会分别存在于输入门、遗忘门、记忆细胞和输出门中,从而,待压缩网络模型的初始权重参数包括输入层在输入门的初始权重参数、隐藏层在输入门的初始权重参数、输入层在遗忘门的初始权重参数、隐藏层在遗忘门的初始权重参数、输入层在记忆细胞的初始权重参数、隐藏层在记忆细胞的初始权重参数、输入层在输出门的初始权重参数和隐藏层在输出门的初始权重参数,待压缩网络模型的初始偏置参数包括输入层在输入门的初始偏置参数、隐藏层在输入门的初始偏置参数、输入层在遗忘门的初始偏置参数、隐藏层在遗忘门的初始偏置参数、输入层在记忆细胞的初始偏置参数、隐藏层在记忆细胞的初始偏置参数、输入层在输出门的初始偏置参数和隐藏层在输出门的初始偏置参数。
74.本发明实施例提供的网络模型压缩方法,通过训练lstm模型所得的待压缩网络模型的方式,获取待压缩网络模型的初始权重参数和初始偏置参数,以此结合lstm模型的网络结构和模型训练能够提高获取权重参数和偏置参数的准确性和可靠性,也能为后续提高前向推断速度奠定基础。
75.可选的,步骤120的具体实现过程可以包括:采用下式推断t时刻的输入门状态、遗忘门状态、记忆细胞状态、输出门状态、细胞状态和隐藏状态:
76.i
t
=sigmoid(w
ii
x
t
+b
ii
+w
hiht-1
+b
hi
);
77.f
t
=sigmoid(w
if
x
t
+b
if
+w
hfht-1
+b
hf
);
78.g
t
=tanh(w
ig
x
t
+b
ig
+w
hght-1
+b
hg
);
79.o
t
=sigmoid(w
io
x
t
+b
io
+w
hoht-1
+b
ho
);
80.c
t
=f
t
⊙ct-1
+i
t
⊙gt

81.h
t
=o
t

tanh(c
t
);
82.其中,i
t
为t时刻的输入门状态,f
t
为t时刻的遗忘门状态,g
t
为t时刻的记忆细胞状态,o
t
为t时刻的输出门状态,c
t
为t时刻的细胞状态,h
t
为t时刻的隐藏状态,w
ii
为输入层在输入门的初始权重参数,b
ii
为输入层在输入门的初始偏置参数,w
hi
为隐藏层在输入门的初始权重参数,b
hi
为隐藏层在输入门的初始偏置参数,x
t
为t时刻的输入数据,h
t-1
为t-1时刻的隐藏状态,w
if
为输入层在遗忘门的初始权重参数,w
hf
为隐藏层在遗忘门的初始权重参数,b
if
为输入层在遗忘门的初始偏置参数,b
hf
为隐藏层在遗忘门的初始偏置参数,w
ig
为输入层在记忆细胞的初始权重参数,w
hg
为隐藏层在记忆细胞的初始权重参数,b
ig
为输入层在
记忆细胞的初始偏置参数,b
hg
为隐藏层在记忆细胞的初始偏置参数,w
io
为输入层在输出门的初始权重参数,w
ho
为隐藏层在输出门的初始权重参数,b
io
为输入层在输出门的初始偏置参数,b
ho
为隐藏层在输出门的初始偏置参数,c
t-1
为t-1时刻的细胞状态;sigmoid为激活函数的运算操作符,tanh为正切函数的运算操作符。
83.具体的,基于待压缩网络模型的初始权重参数和初始偏置参数,搭建针对待压缩网络模型的目标推理模型的过程可以如图2所示,在图2中,使用样本数据集中t时刻的输入数据x
t
输出至待压缩网络模型的输入门(i)、遗忘门(f)、记忆细胞(g)和输出门(o)以及经由不同的门所对应的运算操作(比如图2中所示的正切操作、激活操作、加法操作和乘法操作),可以基于t-1时刻的细胞状态c
t-1
和t-1时刻的隐藏状态h
t-1
,推断t时刻的输入门状态i
t
、t时刻的遗忘门状态f
t
、t时刻的记忆细胞状态g
t
、t时刻的输出门状态o
t
。基于此也可以确定目标推理模型具体为针对待压缩网络模型的前向推理模型。
84.本发明实施例提供的网络模型压缩方法,通过t时刻的输入数据、以及输入门、遗忘门、记忆细胞和输出门各自对应的运算操作,推理t时刻的输入门状态、遗忘门状态、记忆细胞状态、输出门状态、细胞状态和隐藏状态的方式,构建目标推理模型,提高了推断速度,也为后续压缩模型提供理论基础。
85.可选的,步骤130的具体实现过程可以包括:
86.首先,基于目标推理模型和样本数据集,确定预设时间序列的拟合数据集,拟合数据集包括预设时间序列中不同当前时刻的输入数据、不同前一时刻的隐藏状态、不同前一时刻的细胞状态、不同当前时刻的细胞状态和不同当前时刻的隐藏状态;再进一步对目标推理模型进行输入门与输出门的裁剪;然后,基于拟合数据集对初始全连接层进行训练,确定目标全连接层;最后,基于目标全连接层的参数,确定裁剪所得模型的目标权重参数和目标偏置参数。
87.具体的,基于图2所示的目标推理模型,可以确定预设时间序列的拟合数据集,预设时间序列可以包括多个不同时刻且其时刻的数量可以根据实际情况人为设定,此次不作具体限定。基于此,拟合数据集可以包括t时刻的输入数据x
t
、t-1时刻的隐藏状态h
t-1
、t-1时刻的细胞状态c
t-1
、t时刻的细胞状态c
t
和t时刻的隐藏状态h
t
,t=1、2、
……
、t,t为预设时间序列中的最大时刻。
88.此外,针对目标推理模型进行输入门与输出门的裁剪,可以将图2中所示的目标推理模型中输入门与其对应的sigmoid激活函数和对应的乘法运算分别进行裁剪,以及将输出门与其对应的sigmoid激活函数和对应的乘法运算分别进行采集,从而获取如图3所示的裁剪所得模型,在图3所示的裁剪所得模型中,虚线部分为裁剪部分。使用拟合数据集对初始全连接层进行训练,训练结束时对应的模型即为目标全连接层,并且将目标全连接层的参数作为遗忘门与记忆细胞的新的权重参数和新的偏置参数,从而确定裁剪所得模型的目标权重参数和目标偏置参数。
89.本发明实施例提供的网络模型压缩方法,通过确定的拟合数据集训练初始全连接层的方式,确定目标全连接层,以及基于目标全连接层的参数确定目标推理模型经由输入门和输出门的裁剪所得模型的目标权重参数和目标偏置参数,以此结合权重参数拟合和全连接层拟合实现减少一半模型参数的目的,同时也大幅减少了计算量,提高了运算速度。
90.可选的,基于拟合数据集对初始全连接层进行训练,确定目标全连接层,包括:
91.首先,确定不同当前时刻的输入数据、不同前一时刻的隐藏状态和不同前一时刻的细胞状态为样本输入集,以及确定不同当前时刻的细胞状态和不同当前时刻的隐藏状态为样本输出集;再进一步使用样本输入集对初始全连接层进行训练,确定不同时刻的新的细胞状态和不同时刻的新的隐藏状态;然后,使用样本输出集对新的细胞状态和新的隐藏状态进行验证,确定目标全连接层。
92.具体的,在确定t时刻的输入数据x
t
、t-1时刻的隐藏状态h
t-1
和t-1时刻的细胞状态c
t-1
为样本输入集,确定t时刻的细胞状态c
t
和t时刻的隐藏状态h
t
为样本输出集,t=1、2、
……
、t,t为预设时间序列中的最大时刻的情况下,使用t时刻的输入数据x
t
、t-1时刻的隐藏状态h
t-1
和t-1时刻的细胞状态c
t-1
对初始全连接层进行第t次训练,第t次训练结束时可输出t时刻的新的细胞状态c
t
'和t时刻的新的隐藏状态h
t
',再基于t时刻的细胞状态c
t
和t时刻的新的细胞状态c
t
',以及t时刻的隐藏状态h
t
和t时刻的新的隐藏状态h
t
',计算t时刻隐藏状态的均方误差和t时刻细胞状态的均方误差,此处计算均方误差的方法可以参照现有计算均方误差的方法,此处不再赘述。进一步的,判断t时刻隐藏状态的均方误差和t时刻细胞状态的均方误差的接近程度是否满足预设要求,若满足,则确定满足预设要求时对应的全连接层为训练好的目标全连接层;反之,若不满足,则针对第t次训练后的全连接层进行参数调整,并令t的值加1,重复执行使用t时刻的输入数据x
t
、t-1时刻的隐藏状态h
t-1
和t-1时刻的细胞状态c
t-1
进行第t次训练,以及使用第t次训练结束时输出的t时刻的新的细胞状态c
t
'和t时刻的新的隐藏状态h
t
',计算t时刻隐藏状态的均方误差和t时刻细胞状态的均方误差的过程;直至隐藏状态的均方误差和细胞状态的均方误差的接近程度满足预设要求。
93.本发明实施例提供的网络模型压缩方法,通过使用拟合数据集的样本训练集对初始全连接层进行训练、使用样本输出集对训练所得的新的细胞状态和不同时刻的新的隐藏状态进行验证的方式,确定训练好的目标全连接层,以此结合模拟数据集和以均方误差作为损失函数训练全连接层实现全连接层的训练精确性和训练可靠性,也能进一步提高压缩后模型的稳定性和准确性。
94.可选的,基于目标权重参数和目标偏置参数,确定目标网络模型,其实现过程可以包括采用下式确定t时刻的新的遗忘门状态、新的记忆细胞状态、新的细胞状态和新的隐藏状态:
95.f
t
'=sigmoid(w
if
'x
t
+b
if
'+w
hf
'h
t-1
'+b
hf
');
96.g
t
'=tanh(w
ig
'x
t
+b
ig
'+w
hg
'h
t-1
'+b
hg
');
97.c
t
'=f
t
'
⊙ct-1
'+g
t
';
98.h
t
'=tanh(c
t
');
99.其中,f
t
'为t时刻的新的遗忘门状态,g
t
'为t时刻的新的记忆细胞状态,c
t
'为t时刻的新的细胞状态,h
t
'为t时刻的新的隐藏状态,x
t
为t时刻的输入数据,h
t-1

为t-1时刻的新的隐藏状态,w
if

为输入层在遗忘门的目标权重参数,w
ig

为输入层在记忆细胞的目标权重参数,b
if

为输入层在遗忘门的目标偏置参数,b
ig

为输入层在记忆细胞的目标偏置参数,w
hf

为隐藏层在遗忘门的目标权重参数,w
hg

为隐藏层在记忆细胞的目标权重参数,b
hf

为隐藏层在遗忘门的目标偏置参数,b
hg

为隐藏层在记忆细胞的目标偏置参数,c
t-1

为t-1时刻的新的细胞状态。
100.具体的,基于图3所示的裁剪所得模型,重新搭建前向推断模型,即可得到目标网络模型,其中目标网络模型的目标权重参数和目标偏置参数即为裁剪所得模型的参数,包括输入层在遗忘门的目标权重参数w
if

、输入层在记忆细胞的目标权重参数w
ig

、输入层在遗忘门的目标偏置参数b
if

、输入层在记忆细胞的目标偏置参数b
ig

、隐藏层在遗忘门的目标权重参数w
hf

、隐藏层在记忆细胞的目标权重参数w
hg

、隐藏层在遗忘门的目标偏置参数b
hf

和隐藏层在记忆细胞的目标偏置参数b
hg

。通过使用目标权重参数和目标偏置参数推断t时刻的新的遗忘门状态f
t

、t时刻的新的记忆细胞状态g
t

、t时刻的新的细胞状态c
t

和t时刻的新的隐藏状态h
t

,可以评估压缩后网络模型的性能,也即评估将待压缩网络模型压缩成的目标网络模型的性能。
101.本发明实施例提供的网络模型压缩方法,通过使用目标权重参数和目标偏置参数搭建针对待压缩网络模型的前向推断模型的方式,确定t时刻的新的遗忘门状态、新的记忆细胞状态、新的细胞状态和新的隐藏状态,以此结合权重拟合和前向推断方法提高压缩后模型的运算速度,实现了减少一半参数以及减少计算量的目的。
102.下面对本发明提供的网络模型压缩装置进行描述,下文描述的网络模型压缩装置与上文描述的网络模型压缩方法可相互对应参照。
103.图4示例了一种网络模型压缩装置的结构示意图,如图4所示,该网络模型压缩装置400,包括:
104.获取模块410,用于获取待压缩网络模型的初始权重参数和初始偏置参数;
105.第一确定模块420,用于基于初始权重参数和初始偏置参数,确定目标推理模型,目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态;
106.裁剪模块430,用于对目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;
107.第二确定模块440,用于基于目标权重参数和目标偏置参数,确定目标网络模型。
108.可选的,获取模块410,具体可以用于使用样本数据集对初始lstm模型进行训练,获取待压缩网络模型;获取待压缩网络模型的输入层权重参数、输入层偏置参数、隐藏层权重参数及隐藏层偏置参数;确定输入层权重参数和隐藏层权重参数为待压缩网络模型的初始权重参数;确定输入层偏置参数和隐藏层偏置参数为待压缩网络模型的初始偏置参数。
109.可选的,第一确定模块420,具体可以用于采用下式推断t时刻的输入门状态、遗忘门状态、记忆细胞状态、输出门状态、细胞状态和隐藏状态:
110.i
t
=sigmoid(w
ii
x
t
+b
ii
+w
hiht-1
+b
hi
)
ꢀꢀꢀꢀꢀꢀ
(1);
111.f
t
=sigmoid(w
if
x
t
+b
if
+w
hfht-1
+b
hf
)
ꢀꢀꢀꢀꢀꢀ
(2);
112.g
t
=tanh(w
ig
x
t
+b
ig
+w
hght-1
+b
hg
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(3);
113.o
t
=sigmoid(w
io
x
t
+b
io
+w
hoht-1
+b
ho
)
ꢀꢀꢀꢀꢀꢀ
(4);
114.c
t
=f
t
⊙ct-1
+i
t
⊙gt
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5);
115.h
t
=o
t

tanh(c
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6);
116.式(1)~(6)中,i
t
为t时刻的输入门状态,f
t
为t时刻的遗忘门状态,g
t
为t时刻的记忆细胞状态,o
t
为t时刻的输出门状态,c
t
为t时刻的细胞状态,h
t
为t时刻的隐藏状态,w
ii
为输入层在输入门的初始权重参数,b
ii
为输入层在输入门的初始偏置参数,w
hi
为隐藏层在输入门的初始权重参数,b
hi
为隐藏层在输入门的初始偏置参数,x
t
为t时刻的输入数据,h
t-1

t-1时刻的隐藏状态,w
if
为输入层在遗忘门的初始权重参数,w
hf
为隐藏层在遗忘门的初始权重参数,b
if
为输入层在遗忘门的初始偏置参数,b
hf
为隐藏层在遗忘门的初始偏置参数,w
ig
为输入层在记忆细胞的初始权重参数,w
hg
为隐藏层在记忆细胞的初始权重参数,b
ig
为输入层在记忆细胞的初始偏置参数,b
hg
为隐藏层在记忆细胞的初始偏置参数,w
io
为输入层在输出门的初始权重参数,w
ho
为隐藏层在输出门的初始权重参数,b
io
为输入层在输出门的初始偏置参数,b
ho
为隐藏层在输出门的初始偏置参数,c
t-1
为t-1时刻的细胞状态。
117.可选的,裁剪模块430,具体可以用于基于目标推理模型和样本数据集,确定预设时间序列的拟合数据集,拟合数据集包括预设时间序列中不同当前时刻的输入数据、不同前一时刻的隐藏状态、不同前一时刻的细胞状态、不同当前时刻的细胞状态和不同当前时刻的隐藏状态;对目标推理模型进行输入门与输出门的裁剪;基于拟合数据集对初始全连接层进行训练,确定目标全连接层;基于目标全连接层的参数,确定裁剪所得模型的目标权重参数和目标偏置参数。
118.可选的,裁剪模块430,具体还可以用于确定不同当前时刻的输入数据、不同前一时刻的隐藏状态和不同前一时刻的细胞状态为样本输入集,以及确定不同当前时刻的细胞状态和不同当前时刻的隐藏状态为样本输出集;使用样本输入集对初始全连接层进行训练,确定不同时刻的新的细胞状态和不同时刻的新的隐藏状态;使用样本输出集对新的细胞状态和新的隐藏状态进行验证,确定目标全连接层。
119.可选的,第二确定模块440,具体可以用于采用下式确定t时刻的新的遗忘门状态、新的记忆细胞状态、新的细胞状态和新的隐藏状态:
120.f
t

=sigmoid(w
if

x
t
+b
if

+w
hf
′ht-1

+b
hf

)
ꢀꢀꢀꢀ
(7);
121.g
t

=tanh(w
ig

x
t
+b
ig

+w
hg
′ht-1

+b
hg


ꢀꢀꢀꢀꢀꢀ
(8);
122.c
t

=f
t
′⊙ct-1

+g
t
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9);
123.h
t

=tanh(c
t

)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10);
124.式(7)~(10)中,f
t
'为t时刻的新的遗忘门状态,g
t

为t时刻的新的记忆细胞状态,c
t

为t时刻的新的细胞状态,h
t

为t时刻的新的隐藏状态,x
t
为t时刻的输入数据,h
t-1

为t-1时刻的新的隐藏状态,w
if

为输入层在遗忘门的目标权重参数,w
ig

为输入层在记忆细胞的目标权重参数,b
if

为输入层在遗忘门的目标偏置参数,b
ig

为输入层在记忆细胞的目标偏置参数,w
hf

为隐藏层在遗忘门的目标权重参数,w
hg

为隐藏层在记忆细胞的目标权重参数,b
hf

为隐藏层在遗忘门的目标偏置参数,b
hg

为隐藏层在记忆细胞的目标偏置参数,c
t-1

为t-1时刻的新的细胞状态。
125.图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备500可以包括:处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行网络模型压缩方法,该方法包括:
126.获取待压缩网络模型的初始权重参数和初始偏置参数;
127.基于初始权重参数和初始偏置参数,确定目标推理模型,目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态;
128.对目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标
偏置参数;
129.基于目标权重参数和目标偏置参数,确定目标网络模型。
130.此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
131.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的网络模型压缩方法,该方法包括:
132.获取待压缩网络模型的初始权重参数和初始偏置参数;
133.基于初始权重参数和初始偏置参数,确定目标推理模型,目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态;
134.对目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;
135.基于目标权重参数和目标偏置参数,确定目标网络模型。
136.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的网络模型压缩方法,该方法包括:
137.获取待压缩网络模型的初始权重参数和初始偏置参数;
138.基于初始权重参数和初始偏置参数,确定目标推理模型,目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态;
139.对目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;
140.基于目标权重参数和目标偏置参数,确定目标网络模型。
141.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
142.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
143.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:


1.一种网络模型压缩方法,其特征在于,包括:获取待压缩网络模型的初始权重参数和初始偏置参数;基于所述初始权重参数和所述初始偏置参数,确定目标推理模型,所述目标推理模型用于推理所述待压缩网络模型中不同的门在不同时刻的状态;对所述目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;基于所述目标权重参数和所述目标偏置参数,确定目标网络模型。2.根据权利要求1所述的网络模型压缩方法,其特征在于,所述获取待压缩网络模型的初始权重参数和初始偏置参数,包括:使用样本数据集对初始lstm模型进行训练,获取待压缩网络模型;获取所述待压缩网络模型的输入层权重参数、输入层偏置参数、隐藏层权重参数及隐藏层偏置参数;确定所述输入层权重参数和所述隐藏层权重参数为所述待压缩网络模型的初始权重参数;确定所述输入层偏置参数和所述隐藏层偏置参数为所述待压缩网络模型的初始偏置参数。3.根据权利要求1所述的网络模型压缩方法,其特征在于,所述对所述目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数,包括:基于所述目标推理模型和样本数据集,确定预设时间序列的拟合数据集,所述拟合数据集包括所述预设时间序列中不同当前时刻的输入数据、不同前一时刻的隐藏状态、不同前一时刻的细胞状态、不同当前时刻的细胞状态和不同当前时刻的隐藏状态;对所述目标推理模型进行输入门与输出门的裁剪;基于所述拟合数据集对初始全连接层进行训练,确定目标全连接层;基于所述目标全连接层的参数,确定裁剪所得模型的目标权重参数和目标偏置参数。4.根据权利要求3所述的网络模型压缩方法,其特征在于,所述基于所述拟合数据集对初始全连接层进行训练,确定目标全连接层,包括:确定所述不同当前时刻的输入数据、所述不同前一时刻的隐藏状态和所述不同前一时刻的细胞状态为样本输入集,以及确定所述不同当前时刻的细胞状态和所述不同当前时刻的隐藏状态为样本输出集;使用所述样本输入集对初始全连接层进行训练,确定不同时刻的新的细胞状态和不同时刻的新的隐藏状态;使用所述样本输出集对所述新的细胞状态和所述新的隐藏状态进行验证,确定目标全连接层。5.根据权利要求1-4任一项权利要求所述的网络模型压缩方法,其特征在于,所述基于所述初始权重参数和所述初始偏置参数,确定目标推理模型,包括采用下式推断t时刻的输入门状态、遗忘门状态、记忆细胞状态、输出门状态、细胞状态和隐藏状态:i
t
=sigmoid(w
ii
x
t
+b
ii
+w
hi
h
t-1
+b
hi
);f
t
=sigmoid(w
if
x
t
+b
if
+w
hf
h
t-1
+b
hf
);g
t
=tanh(w
ig
x
t
+b
ig
+w
hg
h
t-1
+b
hg
);
o
t
=sigmoid(w
io
x
t
+b
io
+w
ho
h
t-1
+b
ho
);c
t
=f
t

c
t-1
+i
t

g
t
;h
t
=o
t

tanh(c
t
);其中,i
t
为t时刻的输入门状态,f
t
为t时刻的遗忘门状态,g
t
为t时刻的记忆细胞状态,o
t
为t时刻的输出门状态,c
t
为t时刻的细胞状态,h
t
为t时刻的隐藏状态,w
ii
为输入层在输入门的初始权重参数,b
ii
为输入层在输入门的初始偏置参数,w
hi
为隐藏层在输入门的初始权重参数,b
hi
为隐藏层在输入门的初始偏置参数,x
t
为t时刻的输入数据,h
t-1
为t-1时刻的隐藏状态,w
if
为输入层在遗忘门的初始权重参数,w
hf
为隐藏层在遗忘门的初始权重参数,b
if
为输入层在遗忘门的初始偏置参数,b
hf
为隐藏层在遗忘门的初始偏置参数,w
ig
为输入层在记忆细胞的初始权重参数,w
hg
为隐藏层在记忆细胞的初始权重参数,b
ig
为输入层在记忆细胞的初始偏置参数,b
hg
为隐藏层在记忆细胞的初始偏置参数,w
io
为输入层在输出门的初始权重参数,w
ho
为隐藏层在输出门的初始权重参数,b
io
为输入层在输出门的初始偏置参数,b
ho
为隐藏层在输出门的初始偏置参数,c
t-1
为t-1时刻的细胞状态。6.根据权利要求1-4任一项权利要求所述的网络模型压缩方法,其特征在于,所述基于所述目标权重参数和所述目标偏置参数,确定目标网络模型,包括采用下式确定t时刻的新的遗忘门状态、新的记忆细胞状态、新的细胞状态和新的隐藏状态:f
t

=sigmoid(w
if

x
t
+b
if

+w
hf

h
t-1

+b
hf

);g
t
'=tanh(w
ig
'x
t
+b
ig
'+w
hg
'h
t-1
'+b
hg
');c
t

=f
t
′⊙
c
t-1

+g
t

;h
t

=tanh(c
t

);其中,f
t

为t时刻的新的遗忘门状态,g
t

为t时刻的新的记忆细胞状态,c
t

为t时刻的新的细胞状态,h
t

为t时刻的新的隐藏状态,x
t
为t时刻的输入数据,h
t-1

为t-1时刻的新的隐藏状态,w
if

为输入层在遗忘门的目标权重参数,w
ig

为输入层在记忆细胞的目标权重参数,b
if

为输入层在遗忘门的目标偏置参数,b
ig

为输入层在记忆细胞的目标偏置参数,w
hf

为隐藏层在遗忘门的目标权重参数,w
hg

为隐藏层在记忆细胞的目标权重参数,b
hf

为隐藏层在遗忘门的目标偏置参数,b
hg

为隐藏层在记忆细胞的目标偏置参数,c
t-1

为t-1时刻的新的细胞状态。7.一种网络模型压缩装置,其特征在于,包括:获取模块,用于获取待压缩网络模型的初始权重参数和初始偏置参数;第一确定模块,用于基于所述初始权重参数和所述初始偏置参数,确定目标推理模型,所述目标推理模型用于推理所述待压缩网络模型中不同的门在不同时刻的状态;裁剪模块,用于对所述目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;第二确定模块,用于基于所述目标权重参数和所述目标偏置参数,确定目标网络模型。8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述网络模型压缩方法。9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述网络模型压缩方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述网络模型压缩方法。

技术总结


本发明提供一种网络模型压缩方法、装置、电子设备及存储介质,其中网络模型压缩方法,包括:获取待压缩网络模型的初始权重参数和初始偏置参数;基于初始权重参数和初始偏置参数,确定目标推理模型,目标推理模型用于推理待压缩网络模型中不同的门在不同时刻的状态;对目标推理模型进行预设门的裁剪,并确定裁剪所得模型的目标权重参数和目标偏置参数;基于目标权重参数和目标偏置参数,确定目标网络模型。使用本发明方法不仅避免了引入稀疏矩阵所导致的加大模型参数量和计算量,以及存储难度加大的弊端,而且也实现了减少计算量与提高推断速度的目的。断速度的目的。断速度的目的。


技术研发人员:

肖宛昂 周维新

受保护的技术使用者:

中国科学院半导体研究所

技术研发日:

2022.08.24

技术公布日:

2022/12/26

本文发布于:2024-09-25 22:28:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/48661.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:参数   模型   权重   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议