一种用于卷积神经网络模型的压缩方法以及压缩装置与流程

文档序号:32330768发布日期:2022-11-25 22:06阅读:34来源:国知局
一种用于卷积神经网络模型的压缩方法以及压缩装置与流程

1.本公开涉及网络模型计算的技术领域,特别涉及一种用于卷积神经网络模型的压缩方法以及压缩装置。


背景技术:

2.深度学习算法目前在疾病识别、目标检测等领域已经拥有广泛的应用。在心率识别方面,作为深度学习算法中重要手段之一的卷积神经网络模型可以很好地解决心率数据的分类问题,并且具有较高的准确率。但是,由于网络模型本身具有较高的参数量,参数的存储成本和模型的计算量也随之增加。这些问题使得深度学习的网络模型很难向移动端或硬件设备部署,因此对卷积神经网络进行模型压缩将变得十分重要。现有的对于卷积神经网络模型的基于度量的剪枝方法,多数以均值、l1范式、l2范式等方式作为卷积核过滤器重要性的评价标准,当这些度量值的标准差太小,或者最小值仍然较大时,依然无法判定应该删除哪些卷积核过滤器,从而无法实现合理地剪枝操作。


技术实现要素:

3.有鉴于此,本公开实施例提出了一种,以解决现有技术中的对于卷积神经网络模型中无法判定应该删除哪些卷积核过滤器,从而无法实现合理地剪枝操作的问题。
4.一方面,本公开实施例提供一种用于卷积神经网络模型的压缩方法,包括以下步骤:构建卷积神经网络模型,所述卷积神经网络模型至少包括多层设置的一维卷积层;对所述卷积神经网络模型进行训练;针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作。
5.在一些实施例中,所述卷积神经网络模型至少还包括最大池化层、批量归一化层以及全局平均池化层。
6.在一些实施例中,所述对所述卷积神经网络模型进行训练包括:将训练集输入至所述卷积神经网络模型中进行训练并达到预定的迭代次数;将测试集输入至迭代完毕的所述卷积神经网络模型中进行测试,以达到预定的精度。
7.在一些实施例中,所述针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作,包括:按照第一预定顺序获取所述一维卷积层中指定层的每个第一卷积核过滤器的特征值;基于所述特征值获取第二卷积核过滤器的集合;基于相似性在所述集合中获取第三卷积核过滤器。
8.在一些实施例中,还包括:在所述指定层中将所述第三卷积核过滤器按照第二预定顺序排列。
9.在一些实施例中,所述按照第一预定顺序获取所述一维卷积层中指定层的至少一个第一卷积核过滤器的特征值,所述特征值为权值均值,所述权值均值基于以下公式确定:
10.11.在一些实施例中,所述基于所述权特征值获取第二卷积核过滤器的集合,包括:将所述第一卷积核过滤器的所述特征值按照第三预定顺序排序;确定所述特征值大于第一阈值的第一卷积核过滤器为第二卷积核过滤器。
12.在一些实施例中,所述基于相似性在所述集合中筛选获取第三卷积核过滤器,包括:确定所述集合中任意两个所述第二卷积核过滤器之间的相似性;基于所述相似性在所述集合中删除冗余卷积核过滤器,获取所述第三卷积核过滤器。
13.在一些实施例中,所述确定所述集合中任意两个所述第二卷积核过滤器之间的相似性,包括:针对所有的所述第二卷积核过滤器进行一维卷积运算,获取具有m*n维向量的输出特征图,其中,m为数据维度,n为第二卷积核过滤器的个数;基于所述输出特征图,获取表示任意两个所述第二卷积核过滤器的两个列向量之间的相似性。
14.在一些实施例中,所述基于所述相似性在所述集合中删除冗余卷积核过滤器,包括删除相似性大于第二阈值的两个列向量中的一个以及对应的所述第二卷积核过滤器。
15.另一方面本公开提供一种用于卷积神经网络模型的压缩装置,其包括以下部分:构建模块,其用于构建卷积神经网络模型,所述卷积神经网络模型至少包括多层设置的一维卷积层;训练模块,其用于对所述卷积神经网络模型进行训练;剪枝模块,其用于针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作。
16.另一方面本公开提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项技术方案中所述方法的步骤。
17.另一方面本公开提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述任一项技术方案中所述方法的步骤。
18.另一方面本公开还提供一种心率数据的识别方法,其包括以下步骤:采集心率数据;将所述心率数据输入至卷积神经网络模型,获取心率数据的类型,其中所述卷积神经网络模型通过上述任一项技术方案中所述方法进行压缩。
19.本公开实施例涉及基于剪枝操作的深度学习的压缩算法,采用基于度量的剪枝操作来实现对于卷积神经网络模型的压缩,具体地通过将卷积核过滤器的重要性与不同的卷积核过滤器之间的相似性相结合的方式来进行剪枝操作,从而减少卷积神经网络模型的冗余;通过对剪枝后的卷积神经网络模型进行重新训练,避免因为剪枝造成模型精度的降低。经过压缩后的卷积神经网络模型不仅具有较好的识别精度,同时降低了模型参数量和复杂度,使得卷积神经网络模型在具有较高的识别精度的同时,实现模型轻量化,便于向硬件设备移植。
附图说明
20.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。
21.图1为本公开第一实施例的压缩方法的步骤示意图;
22.图2为本公开第一实施例的压缩方法的步骤示意图;
23.图3为本公开第一实施例的压缩方法的步骤示意图;
24.图4为本公开第一实施例的压缩方法的步骤示意图;
25.图5为本公开第一实施例的压缩方法中第一卷积核过滤器的删除过程示意图;
26.图6为本公开第一实施例的压缩方法的步骤示意图;
27.图7为本公开第一实施例的压缩方法的步骤示意图。
具体实施方式
28.为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获取的所有其他实施例,都属于本公开保护的范围。
29.除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
30.为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
31.本公开的第一实施例提供一种用于卷积神经网络模型的压缩方法,这种压缩方法能够实现对于用于深度学习算法的神经网络模型,尤其是卷积神经网络模型进行剪枝操作,删除掉卷积层中冗余的过滤器,具体地,如图1所示,其包括以下步骤:
32.s101,构建卷积神经网络模型,所述卷积神经网络模型至少包括多层设置的一维卷积层。
33.在本步骤中,首先需要构建卷积神经网络模型,其中,这里的所述卷积神经网络(convolutional neural networks,cnn)是一类包括卷积计算且具有深度结构的前馈神经网络(feedforward neural networks),所述卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),这样所述卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其内部卷积层内的卷积核的参数共享和层间连接的稀疏性使得所述卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习,具有稳定的效果且对数据没有额外的特征工程(feature engineering)要求。
34.进一步地,这里的所述卷积神经网络模型至少包括多层设置的一维卷积层,这里的每层的所述一维卷积层由若干卷积单元组成,每个所述卷积单元的参数都是通过例如反
向传播算法最佳化得到的,通过所述一维卷积层进行卷积运算的目的是提取输入的不同特征,其中,第一层的所述一维卷积层只能提取一些低级特征如边缘、线条和角等层级等特征,之后更多层的所述一维卷积层能从提取的低级特征中进一步迭代提取出更复杂的特征,从而实现卷积运算。
35.进一步地,这里的构建的所述卷积神经网络模型至少还包括最大池化层、批量归一化层以及全局平均池化层。其中,池化层(pooling layer,也称为取样层)一般设置在卷积层之后,其同样由多个特征面组成,它的每一个特征面对应于其上一层的一个特征面,不会改变特征面的个数;具体地,卷积层是池化层的输入层,卷积层的一个特征面与池化层中的一个特征面对应,且池化层的神经元也与其输入层的卷积层的局部接受域相连,不同神经元局部接受域不重叠。这里的所述池化层的作用在于通过降低特征面的分辨率来获取具有空间不变性的特征;因此,所述池化层在所述卷积神经网络模型中起到二次提取特征的作用,它的每个神经元对局部接受域进行池化操作。这里的最大池化层(max-pooling)是取局部接受域中值最大的点进行池化操作;这里的全局平均池化层(mean pooling)是对局部接受域中的所有值求均值。
36.s102,对所述卷积神经网络模型进行训练。
37.在本步骤中,对通过步骤s101中构建的所述卷积神经网络模型进行训练。其中,这里需要通过向所述卷积神经网络模型输入数据集,从而对所述卷积神经网络模型进行训练以及通过对于所述卷积神经网络模型进行测试以获取符合预定条件的模型。这里的数据集可以根据所述卷积神经网络模型的适用场景确定,其中,例如在对于心率数据进行分析和分类等过程中,这里的数据集可以包括不同患者的心率相关数据,具体地,这里的心率数据的数据集可以分为训练集和测试集,这两个数据集分别用于对所述卷积神经网络模型进行训练和测试,通过训练实现心率数据识别功能。
38.进一步地,如图2所示,所述对所述卷积神经网络模型进行训练包括:
39.s201,将训练集输入至所述卷积神经网络模型中进行训练并达到预定的迭代次数。
40.在本步骤中,将数据集中的训练集输入至所述卷积神经网络模型中进行训练并达到预定的迭代次数。具体地,例如将用于训练的心率数据的数据集划分为训练集和测试集,将所述训练集输入至所述卷积神经网络模型中以用于所述卷积神经网络模型的训练,在训练中实现算法和特征的逐步迭代,当在训练中达到预定的迭代次数后,则对于所述卷积神经网络模型的训练终止。其中,这里的所述迭代次数可以预设设置。
41.s202,将测试集输入至迭代完毕的所述卷积神经网络模型中进行测试,以达到预定的精度。
42.在通过上述步骤s201使得所述卷积神经网络模型达到预定的迭代次数后,将测试集输入至迭代完毕的所述卷积神经网络模型中进行测试,以达到预定的精度。具体地,例如将所述数据集中的用于测试的心率数据的测试集输入至迭代完毕的所述卷积神经网络模型中,从而得到基于所述卷积神经网络模型的预测结果,将所述预测结果与真实值之间进行比较,从而得到所述卷积神经网络模型基于所述测试集的精度。进一步地,每次可以基于识别精度对所述卷积神经网络模型进行调整并重复步骤s201和步骤202的过程,直到所述卷积神经网络模型达到预定的精度。
43.s103,针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作。
44.在通过上述步骤s102将所述卷积神经网络模型训练完毕后,在本步骤中,针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作,由于所述一维卷积层为多层设置,其每一层中都设置有卷积核过滤器,这里的剪枝操作也就是针对所述一维卷积层的不同层中的所述卷积核过滤器的筛选操作;这里的按照预定顺序可以是根据所述一维卷积层中的不同层的先后或者上下顺序进行,例如可以从所述一维卷积层中的第一层开始向下逐层进行,也可以从所述一维卷积层中的最后一层开始向上逐层进行,具体方式在此不做限定。这样,通过对于所述卷积核过滤器的筛选操作,可以通过筛选后的所述卷积核过滤器的组合使得所述卷积神经网络模型中的所述一维卷积层的迭代效果更好,通过所述卷积神经网络模型的预测结果更加准确。
45.进一步地,所述针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作,如图3所示,包括以下步骤:
46.s301,按照第一预定顺序获取所述一维卷积层中指定层的每个第一卷积核过滤器的特征值。
47.在本步骤中,按照第一预定顺序获取所述一维卷积层中指定层的至少一个第一卷积核过滤器的特征值。其中,在获取所述一维卷积层中不同层的卷积核过滤器的过程中,可以按照第一预定顺序选择所述一维卷积层中的任一层,例如可以是第一层、最后一层或者中间的指定层i。在选择所述一维卷积层中的指定层i后,获取第i层中的每个第一卷积核过滤器的特征值,这里的所述特征值用于评价所述第一卷积核过滤器的重要性。优选地,所述特征值可以采用权值均值,权值均值可以作为卷积核过滤器重要性的评价指标,为此,对于每个所述第一卷积核过滤器,通过以下方式计算其权值均值,具体公式如下:
[0048][0049]
其中,ni表示该指定的卷积层的输入通道数,k
l
表示权重。
[0050]
s302,基于所述特征值获取第二卷积核过滤器的集合。
[0051]
在通过上述步骤s301按照第一预定顺序获取所述一维卷积层中指定层的每个第一卷积核过滤器的特征值后,可以基于所述特征值对所有的所述第一卷积核过滤器进行关于重要性的第一次筛选,以获取第二卷积核过滤器的集合。
[0052]
具体地,所述基于所述特征值获取第二卷积核过滤器的集合,如图4所示,包括以下步骤:
[0053]
s401,将所述第一卷积核过滤器的所述特征值按照第三预定顺序排序。
[0054]
在本步骤中,将所述一维卷积层中指定层i的所有的所述第一卷积核过滤器的所述特征值按照第三预定顺序进行排序,这里的所述第三预定顺序可以是数值大小顺序,例如当所述特征值采用权值均值的情况下,可以根据每个所述第一卷积核过滤器的权值均值sj大小对所有的所述第一卷积核过滤器进行排序。
[0055]
s402,确定所述特征值大于第一阈值的第一卷积核过滤器为第二卷积核过滤器。
[0056]
当根据上述步骤s401将所述第一卷积核过滤器的所述特征值按照第三预定顺序排序之后,在本步骤中,根据排序结果,确定所述特征值大于第一阈值的第一卷积核过滤器
为第二卷积核过滤器。具体地,本步骤的目的在于删除不重要的所述第一卷积核过滤器,例如在当所述特征值采用权值均值的情况下,首先基于所述权值均值设定第一阈值ε,基于所述第一阈值ε,删除所述权值均值sj值小于第一阈值ε的m(m》=1)个所述第一卷积核过滤器及其对应的输出特征图;此外,如果指定层i的所述第一卷积核过滤器的所述权值均值sj都大于等于第一阈值ε,则直接进行下一步骤的计算。这里,所述第一卷积核过滤器的删除过程如图5所示,图5中的三个部分分别为所述一维卷积层中第i层的输入特征图、当前的第i层中包括的4个所述第一卷积核过滤器以及输出特征图,其中,f3部分的所述第一卷积核过滤器的sj值最小,即需要删除的部分,则与所述第一卷积核过滤器f3对应的输出特征图中的部分也是需要随之删除。
[0057]
s303,基于相似性在所述集合中获取第三卷积核过滤器。
[0058]
在通过上述步骤s302基于所述特征值获取第二卷积核过滤器的集合之后,在本步骤中,基于相似性在所述集合中通过筛选获取第三卷积核过滤器。这里的所述相似性是指所述一维卷积层中每层中不同的所述第二卷积核过滤器之间的相似程度。在本步骤中,基于所述相似性在包括所述第二卷积核过滤器的集合中进行第二次筛选,以在包括所述第二卷积核过滤器的集合中获取第三卷积核过滤器。
[0059]
进一步地,所述基于相似性在所述集合中获取第三卷积核过滤器,如图6所示,包括以下步骤:
[0060]
s501,确定所述集合中任意两个所述第二卷积核过滤器之间的相似性。
[0061]
由于所述集合包括所有将所述第一卷积核过滤器通过第一次筛选得到的所述第二卷积核过滤器,在本步骤中,确定所述集合中任意两个所述第二卷积核过滤器之间的相似性,也就是进行任意两个所述第二卷积核过滤器之间的相似性的计算,以获取任意两个所述第二卷积核过滤器之间的相似程度。一般采用欧氏距离方式计算两个卷积核过滤器之间的相似性,但是由于欧式距离的计算过程中容易受各维度的量纲影响,在本公开实施例中优选地采用余弦距离的方式来计算任意两个所述第二卷积核过滤器之间的相似性,其中,计算获取的两个所述第二卷积核过滤器之间的余弦距离越大,证明这两个所述第二卷积核过滤器之间存在冗余,可以删除掉其中一个所述第二卷积核过滤器而不会对所述卷积神经网络模型产太大的影响。
[0062]
进一步地,所述确定所述集合中任意两个所述第二卷积核过滤器之间的相似性,如图7所示,包括以下步骤:
[0063]
s601,针对所有的所述第二卷积核过滤器进行一维卷积运算,获取具有m*n维向量的输出特征图,其中,m为数据维度,n为第二卷积核过滤器的个数。
[0064]
在本步骤中,针对所有的所述第二卷积核过滤器进行一维卷积运算,获取具有m*n维向量的输出特征图,其中,m为数据维度,n为所述第二卷积核过滤器的个数。具体地,当采用心率数据等作为所述卷积神经网络模型的输入时,由于心率数据等属于一维信号数据,在经过一维卷积运算之后,可以得到m*n维向量的输出特征图,其中m为卷积后的数据维度,n表示卷积核过滤器的个数,这里的所述输出特征图可以看作经过所述第二卷积核过滤器计算后的到的n个m维的向量。
[0065]
s602,基于所述输出特征图,获取表示任意两个所述第二卷积核过滤器的两个列向量之间的相似性。
[0066]
在通过上述步骤s601针对所有的所述第二卷积核过滤器进行一维卷积运算,获取具有m*n维向量的输出特征图之后,在进行两个所述第二卷积核过滤器之间的相似性计算时,可以针对所述输出特征图按列(n维)进行任意两个列向量之间的相似性计算。
[0067]
s502,基于所述相似性在所述集合中删除冗余卷积核过滤器,获取所述第三卷积核过滤器。
[0068]
在通过上述步骤s501确定所述集合中任意两个所述第二卷积核过滤器之间的相似性,在本步骤中,基于所述相似性在所述集合中删除冗余卷积核过滤器,获取所述第三卷积核过滤器。
[0069]
进一步地,所述基于所述相似性在所述集合中删除冗余卷积核过滤器,包括:删除相似性大于第二阈值的两个列向量中的一个以及对应的所述第二卷积核过滤器。具体地,通过所述相似性的比较删除相似性值较大的两个列向量中的一个以及该列向量对应的所述第二卷积核过滤器,进而实现对于冗余的所述第二卷积核过滤器的删除,实现对于卷积核过滤器的第二次筛选。
[0070]
进一步地,还包括:
[0071]
s304,在所述指定层中将所述第三卷积核过滤器按照第二预定顺序排列。
[0072]
在本步骤中,通过对于所述第一卷积核过滤器进行第一次筛选获取所述第二卷积核过滤器,在所述第二卷积核过滤器进行第二次筛选获取所述第三卷积核过滤器后,对剩余的所述第三卷积核过滤器和对应的输出特征图按照第二预定顺序进行排列,从而生成新的卷积核过滤器的组合及其对应的输出特征图。至此,对于所述一维卷积层中指定层的卷积核过滤器的剪枝操作结束,之后可以基于预定的迭代次数和预定的精度对整个所述卷积神经网络模型进行重新训练,避免因为剪枝造成模型精度的降低。
[0073]
在针对所述卷积神经网络模型进行训练后,还可以针对所述一维卷积层中上述指定层的下一层重复上述剪枝操作,直到所述一维卷积层中的所有层都进行过剪枝操作,也就是所有层中的卷积核过滤器都经过两次筛选,最终获得经过完整压缩的所述卷积神经网络模型。
[0074]
本公开实施例涉及的用于卷积神经网络模型的压缩方法可以用于例如心率数据的类型识别的过程,可以方便地移植用于心率相关硬件设备的运行,当然还可以用于其他类型的硬件设备。例如在服务器中对所述卷积神经网络模型进行剪枝操作后,可以获得经过剪枝操作的所述卷积神经网络模型的模型参数或者权重,将这些模型参数或者权重移植输入到硬件设备中,这样当硬件设备采集心率数据后,通过导入这些模型参数或者权重能够使得硬件设备加速运行,实现对于心率数据的类型的精准识别。
[0075]
本公开实施例涉及基于剪枝操作的深度学习的压缩算法,采用基于度量的剪枝操作来实现对于卷积神经网络模型的压缩,具体地通过将卷积核过滤器的重要性与不同的卷积核过滤器之间的相似性相结合的方式来进行剪枝操作,从而减少卷积神经网络模型的冗余;通过对剪枝后的卷积神经网络模型进行重新训练,避免因为剪枝造成模型精度的降低。经过压缩后的卷积神经网络模型不仅具有较好的识别精度,同时降低了模型参数量和复杂度,使得卷积神经网络模型在具有较高的识别精度的同时,实现模型轻量化,便于向硬件设备移植。
[0076]
本公开的第二实施例提供一种用于卷积神经网络模型的压缩装置,这种压缩装置
能够实现对于用于深度学习算法的神经网络模型,尤其是卷积神经网络模型进行剪枝操作,删除掉卷积层中冗余的过滤器,具体地以执行上述第一实施例的压缩方法,具体地包括构建模块、训练模块以及剪枝模块,上述模块之间相互耦合,每个所述模块的功能参照第一实施例的描述,具体地:
[0077]
构建模块,其用于构建卷积神经网络模型,所述卷积神经网络模型至少包括多层设置的一维卷积层。
[0078]
训练模块,对所述卷积神经网络模型进行训练。
[0079]
其中,所述训练模块包括:
[0080]
训练单元,其用于将训练集输入至所述卷积神经网络模型中进行训练并达到预定的迭代次数。
[0081]
测试单元,其用于将测试集输入至迭代完毕的所述卷积神经网络模型中进行测试,以达到预定的精度。
[0082]
剪枝模块,其用于针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作。
[0083]
进一步地,所述剪枝模块包括特征值获取单元、第一筛选单元以及第二筛选单元,其中:
[0084]
特征值获取单元,其用于按照第一预定顺序获取所述一维卷积层中指定层的每个第一卷积核过滤器的特征值。
[0085]
第一筛选单元,其用于基于所述特征值获取第二卷积核过滤器的集合。
[0086]
其中,所述第一筛选单元包括:
[0087]
排序子单元,其用于将所述第一卷积核过滤器的所述特征值按照第三预定顺序排序。
[0088]
第一确定子单元,其用于确定所述特征值大于第一阈值的第一卷积核过滤器为第二卷积核过滤器。
[0089]
第二筛选单元,其用于基于相似性在所述集合中获取第三卷积核过滤器。
[0090]
其中,所述第二筛选单元包括:
[0091]
第二确定子单元,其用于确定所述集合中任意两个所述第二卷积核过滤器之间的相似性。
[0092]
进一步地,所述第二确定子单元具体用于针对所有的所述第二卷积核过滤器进行一维卷积运算,获取具有m*n维向量的输出特征图,其中,m为数据维度,n为第二卷积核过滤器的个数以及基于所述输出特征图,获取表示任意两个所述第二卷积核过滤器的两个列向量之间的相似性。
[0093]
获取子单元,其用于基于所述相似性在所述集合中删除冗余卷积核过滤器,获取所述第三卷积核过滤器。
[0094]
此外,所述剪枝模块还包括排列单元,其用于在所述指定层中将所述第三卷积核过滤器按照第二预定顺序排列。
[0095]
本公开实施例涉及基于剪枝操作的深度学习的压缩算法,采用基于度量的剪枝操作来实现对于卷积神经网络模型的压缩,具体地通过将卷积核过滤器的重要性与不同的卷积核过滤器之间的相似性相结合的方式来进行剪枝操作,从而减少卷积神经网络模型的冗
余;通过对剪枝后的卷积神经网络模型进行重新训练,避免因为剪枝造成模型精度的降低。经过压缩后的卷积神经网络模型不仅具有较好的识别精度,同时降低了模型参数量和复杂度,使得卷积神经网络模型在具有较高的识别精度的同时,实现模型轻量化,便于向硬件设备移植。
[0096]
本公开的第三实施例提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开第一实施例提供的方法,包括如下步骤s11至s13:
[0097]
s11,构建卷积神经网络模型,所述卷积神经网络模型至少包括多层设置的一维卷积层;
[0098]
s12,对所述卷积神经网络模型进行训练;
[0099]
s13,针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作。
[0100]
进一步地,该计算机程序被处理器执行时实现本公开第一实施例,提供的其他方法
[0101]
本公开实施例涉及基于剪枝操作的深度学习的压缩算法,采用基于度量的剪枝操作来实现对于卷积神经网络模型的压缩,具体地通过将卷积核过滤器的重要性与不同的卷积核过滤器之间的相似性相结合的方式来进行剪枝操作,从而减少卷积神经网络模型的冗余;通过对剪枝后的卷积神经网络模型进行重新训练,避免因为剪枝造成模型精度的降低。经过压缩后的卷积神经网络模型不仅具有较好的识别精度,同时降低了模型参数量和复杂度,使得卷积神经网络模型在具有较高的识别精度的同时,实现模型轻量化,便于向硬件设备移植。
[0102]
本公开的第四实施例提供了一种电子设备,至少包括存储器和处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序步骤如下s21至s23:
[0103]
s21,构建卷积神经网络模型,所述卷积神经网络模型至少包括多层设置的一维卷积层;
[0104]
s22,对所述卷积神经网络模型进行训练;
[0105]
s23,针对完成训练的所述卷积神经网络模型中的所述一维卷积层中不同层的卷积核过滤器按照预定顺序进行剪枝操作。
[0106]
进一步地,处理器902还执行上述第一实施例中的计算机程序
[0107]
本公开实施例涉及基于剪枝操作的深度学习的压缩算法,采用基于度量的剪枝操作来实现对于卷积神经网络模型的压缩,具体地通过将卷积核过滤器的重要性与不同的卷积核过滤器之间的相似性相结合的方式来进行剪枝操作,从而减少卷积神经网络模型的冗余;通过对剪枝后的卷积神经网络模型进行重新训练,避免因为剪枝造成模型精度的降低。经过压缩后的卷积神经网络模型不仅具有较好的识别精度,同时降低了模型参数量和复杂度,使得卷积神经网络模型在具有较高的识别精度的同时,实现模型轻量化,便于向硬件设备移植。
[0108]
本公开的第五实施例提供一种心率数据的识别方法,其包括以下步骤:采集心率数据,这里可以通过任何现有方式采集患者的心率数据;将所述心率数据输入至所述卷积
神经网络模型,获取所述心率数据的类型,其中所述卷积神经网络模型通过上述第一实施例中任一项所述的压缩方法进行压缩。这样,利用获得的经过压缩操作的所述卷积神经网络模型的模型参数或者权重,将这些模型参数或者权重移植输入到硬件设备中,这样当硬件设备采集心率数据后,通过导入这些模型参数或者权重能够使得硬件设备加速运行,实现对于心率数据的类型的精准识别。本公开实施例能够通过经过压缩的卷积神经网络模型实现准确地识别心率数据的类型。
[0109]
上述存储介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0110]
上述存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括至少两个网际协议地址的节点评价请求,其中,节点评价设备从至少两个网际协议地址中,选取网际协议地址并返回;接收节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
[0111]
或者,上述存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
[0112]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在乘客计算机上执行、部分地在乘客计算机上执行、作为一个独立的软件包执行、部分在乘客计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到乘客计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0113]
需要说明的是,本公开上述的存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组
合。
[0114]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0115]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0116]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0117]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0118]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0119]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0120]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
[0121]
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,
本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1