【技术实现步骤摘要】
用于神经网络的剪枝方法、装置以及系统
本申请涉及神经网络领域,尤其涉及用于神经网络的剪枝算法、装置以及系统。
技术介绍
神经网络广泛应用于图像分类、目标检测、语义分割、语音识别等领域。由于主流神经网络的权值尺寸和计算量很大,因此在使用计算节点进行神经网络计算时会消耗大量的硬件资源。而神经网络剪枝是减小模型尺寸的一种有效的方法。神经网络剪枝是指利用神经网络的冗余性,删除神经网络中的冗余元素,同时维持神经网络精度不会下降的技术。研究表明,神经网络的权值中包括很多的冗余元素,在训练过程中,这些冗余元素可以通过稀疏算法进行查找和修剪(即设置为0),而神经网络精度不会有实质的下降。现有的剪枝方法包括结构性剪枝和非结构剪枝等方式。但这些剪枝方式以权值矩阵为整体考量进行剪枝,剪枝粒度较大,存在剪枝效率低的问题。
技术实现思路
本申请提供一种用于神经网络的剪枝方法、装置和系统,可以优化剪枝的效率。第一方面,提供了一种用于神经网络的剪枝方法,包括:获取第一神经网络层的第一权值矩阵,所述第一权值矩阵包括多个权值;将所 ...
【技术保护点】
1.一种用于神经网络的剪枝方法,其特征在于,包括:/n获取第一神经网络层的第一权值矩阵,所述第一权值矩阵包括多个权值;/n将所述第一权值矩阵划分为多个权值块;/n对所述多个权值块中的每个权值块进行剪枝操作,以获得多个剪枝后的权值块,其中,所述剪枝操作包括对每个权值块执行下述至少一种剪枝操作:行剪枝操作和列剪枝操作;/n将所述多个剪枝后的权值块中的权值写入用于执行所述第一神经网络层计算的计算节点中。/n
【技术特征摘要】
20190930 CN 20191094350351.一种用于神经网络的剪枝方法,其特征在于,包括:
获取第一神经网络层的第一权值矩阵,所述第一权值矩阵包括多个权值;
将所述第一权值矩阵划分为多个权值块;
对所述多个权值块中的每个权值块进行剪枝操作,以获得多个剪枝后的权值块,其中,所述剪枝操作包括对每个权值块执行下述至少一种剪枝操作:行剪枝操作和列剪枝操作;
将所述多个剪枝后的权值块中的权值写入用于执行所述第一神经网络层计算的计算节点中。
2.如权利要求1所述的方法,其特征在于,所述多个权值块的数量与用于执行所述第一神经网络层计算的计算节点所包含的多个计算阵列的数量相对应,其中,每个计算阵列上包括多个计算单元;
所述将所述多个剪枝后的权值块中的权值写入用于执行所述第一神经网络层计算的计算节点中,包括:将所述多个剪枝后的权值块中的权值写入所述多个计算阵列中。
3.如权利要求1或2所述的方法,其特征在于,所述多个计算阵列中的每个计算阵列包括m行×n列个计算单元,每个计算单元用于部署一个权值,所述多个剪枝后的权值块的尺寸小于或等于m行×n列,m,n为大于等于2的整数。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
获取第一比值,所述第一比值为将所述第一权值矩阵映射至执行所述第一神经网络层计算的计算节点时所占用的计算阵列的行数和列数之间的比值;
获取第二比值,所述第二比值为将所述第一权值矩阵映射至执行所述第一神经网络层计算的计算节点时所占用的计算阵列的列数和行数之间的比值;
所述将所述第一权值矩阵划分为多个权值块,包括:在所述第一比值小于第一阈值的情况下,且所述第二比值小于第二阈值的情况下,将所述第一权值矩阵划分为所述多个权值块。
5.根据权利要求1-4任意一项所述的方法,其特征在于,还包括:
获取第二神经网络层的第二权值矩阵;
获取第三比值,所述第三比值为将所述第二权值矩阵映射至执行所述第二神经网络层计算的计算阵列时所占用的计算阵列的行数和列数之间的比值;
在所述第三比值大于第三阈值的情况下,对所述第二权值矩阵执行以所述计算阵列中的每行计算单元数量为单位的行剪枝操作。
6.根据权利要求1-5任意一项所述的方法,其特征在于,还包括:
获取第三神经网络层的第三权值矩阵;
获取第四比值,所述第四比值为将所述第三权值矩阵映射至执行所述第三神经网络层计算的计算阵列时所占用的计算阵列的列数和行数之间的比值;
在所述第四比值大于第四阈值的情况下,对所述第三权值矩阵执行以所述计算阵列中的每列计算单元数量为单位的列剪枝操作。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
获取所述第一神经网络层的第一初始权值矩阵;
对所述第一初始权值矩阵执行结构化剪枝操作,以得到第一剪枝权值矩阵;
根据在所述结构化剪枝操作过程中被删除的所述第一神经网络层的相邻神经网络层的初始权值矩阵中的权值,删除所述第一剪枝权值矩阵中的相应权值,以得到所述第一权值矩阵。
8.如权利要求7所述的方法,其特征在于,所述根据在所述结构化剪枝操作过程中被删除的所述第一神经网络层的相邻神经网络层的初始权值矩阵中权值,删除所述第一剪枝权值矩阵中的相应权值,包括以下至少一项:
根据在所述结构化剪枝操作过程中被删除的第四神经网络层的第四初始权值矩阵中的权值,删除所述第一剪枝权值矩阵中的相应权值,其中,所述第一神经网络层的输入数据包括所述第四神经网络层的输出数据;
根据在所述结构化剪枝操作过程中被删除的第五神经网络层的第五初始权值矩阵中的权值,删除所述第一剪枝权值矩阵中的相应权值,其中,所述第五神经网络层的输入数据包括所述第一神经网络层的输出数据。
9.根据权利要求8所述的方法,其特征在于,所述根据在所述结构化剪枝操作过程中被删除的第四神经网络层的第四初始权值矩阵中的权值,删除所述第一剪枝权值矩阵中的相应权值,包括:
在执行结构化剪枝操作中删除所述第四初始权值矩阵中的第p列权值的情况下,删除所述第一剪枝权值矩阵中第q行权值,其中,所述第q行权值对应的所述第一神经网络层的输入数据包括所述第p列权值对应的所述第四神经网络的输出数据,p和q均大于等于1。
10.根据权利要求8或9所述的方法,其特征在于,所述根据在所述结构化剪枝操作过程中被删除的第五神经网络层的第五初始权值矩阵中的权值,删除所述第一剪枝权值矩阵中的相应权值,包括:
在执行结构化剪枝操作中删除所述第五初始权值矩阵中的第i行权值的情况下,删除所述第一初始权值矩阵中的第j列权值,其中,所述第i行权值对应的所述第五神经网络层的输入数据包括所述第j列权值对应的所述第一神经网络层的输出数据,i和j均大于等于1。
<...
【专利技术属性】
技术研发人员:蒋力,褚超群,蒋磊,崔晓松,陈云,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。