一种基于语义分割的检测模型压缩方法转让专利

申请号 : CN201910259127.8

文献号 : CN109993304B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘阳郑全新赵英张磊董小栋孟祥松邓家勇江龙王亚涛

申请人 : 北京同方软件有限公司

摘要 :

一种基于语义分割的检测模型压缩方法,涉及人工智能领域和计算机视觉领域。本发明的方法步骤为:(一)剪枝:1)输入卷积核权重。2)对训练完成的网络模型进行剪枝,获得稀疏权重的参数空间。(二)语义分割:1)对参数空间进行语义分割,获取超参数块和中心词汇,计算超参数块中心位置。2)使用中心词汇更新原有参数空间。3)判断当前中心词汇与上一中心词汇变化是否小于指定阈值,如果大于则继续搜索与中心词汇相近参数,并更新中心词汇返回步骤2);小于阈值则结束中心词汇更新。(三)模型存储:将训练得到的超参数块边界位置、参数块中心位置、和中心词汇值进行保存。本发明使用超参数对整个参数空间进行描述,实现参数空间的整体压缩,最大化的提高模型整体压缩比。

权利要求 :

1.一种基于语义分割的检测模型压缩方法,其步骤为:(一)剪枝:

1)输入卷积核权重;

2)对训练完成的网络模型进行剪枝,获得稀疏权重的参数空间;

(二)语义分割:

1)对参数空间进行语义分割,获取超参数块和中心词汇,计算超参数块中心位置,方法是:对参数空间进行区域初始划定;

在每个区域中查找能量最低位置,作为中心词汇初始位置;

在每个区域1.5*1.5倍的范围内开始搜索与中心词汇语义相近的参数,搜索相近参数公式为: ,其中 为第i个权值, 为第k个中心词权值, 为权值中最大值, 、 为第i个权值位置坐标, 、 为第k个中心词汇位置坐标,m为区域初始大小;

2)使用中心词汇更新原有参数空间;

3)判断当前中心词汇与上一中心词汇变化是否小于指定阈值,如果大于则继续搜索与中心词汇相近参数,并更新中心词汇返回步骤2);小于阈值则结束中心词汇更新;

(三)模型存储:

将训练得到的超参数块边界位置、参数块中心位置、和中心词汇值进行保存;在存储位置信息时不再保存绝对距离,而是以相对距离形式进行保存,并设置最长间隔;当相对距离大于最长间隔时补零,保存减去间隔后的剩余长度;中心词汇位置也以这种方式进行存储。

2.根据权利要求1所述基于语义分割的检测模型压缩方法,其特征在于,所述对训练完成的网络模型进行剪枝是剪除模型中小于某个阈值的冗余权重,方法是将这些权重值代替为0,通过剪枝算法获得稀疏权重的参数空间。

说明书 :

一种基于语义分割的检测模型压缩方法

技术领域

[0001] 本发明涉及人工智能领域和计算机视觉领域,特别是通过语义分析压缩检测模型的方法。

背景技术

[0002] 在2016年NIPS上论文《Dynamic Network Surgery for Efficient DNNs》中,基于动态剪枝算法,对深度网络模型进行压缩。研究了如何让训练网络模型与压缩网络模型同时进行的优化算法。
[0003] 该动态的模型裁剪算法,主要包括以下两个过程:剪枝和连接,其中剪枝就是将其中不重要的权重参数裁掉,但随着网络模型训练过程的进行,权重的重要性在不断迭代更新,因此无法对这些权重的重要性进行直观的估算,因此在这里增加了一个连接的过程。连接是对裁减的权重重要性进行估算,将那些重要的被裁掉的权重再恢复回来,类似于一种拼接过程,这种方法有利于更好地接近压缩极限。
[0004] 中国专利申请号为201710393404的《一种深度学习模型的压缩方法和装置》中,公开了一种深度学习模型的压缩方法和装置。其中该方法包括以下步骤:根据剪枝阈值对深度学习模型进行剪枝;对剪枝后的深度学习模型进行微调;计算微调后的深度学习模型的准确率;若准确率小于预设阈值,则对微调后的深度学习模型进行再训练。通过加入准确率测试,若准确率小于阈值,则说明上一步的压缩删除了过多的参数,使用少量的数据微调已经无法达到设定的准确率了,因此需要使用大量数据重新训练模型。压缩步骤简单,原理容易理解,压缩效率高;可以降低大型深度学习模型的存储和计算消耗,同时保持其性能和准确率,从而增加深度学习模型在现实中的实用性。
[0005] 中国专利申请号为201710038007的《一种用于深度卷积神经网络模型压缩的方法》中,公开了一种用于深度卷积神经网络模型压缩的方法。它包括步骤:对于已经训练完成的深度卷积神经网络模型进行再训练,去除其中冗余的网络连接;对卷积神经网络的各网络层的剩余连接的权值进行编码;对卷积神经网络的各网络层的剩余连接的权值进行k-means聚类;对聚类结果进行微调;保存微调后的结果,并对保存的文件进行哈夫曼编码。该申请通过动态阈值的设定,能够较平缓地去除网络中的连接,使网络能够从连接被去除的不利情况中恢复,从而能够达到相同准确率损失的情况下,压缩倍数较高的效果;在剩余连接编码过程中,使用的改进的CSR编码方法可以减少表示索引值所需要的比特位数,从而能够减小压缩文件的大小,提高压缩率。
[0006] 中国专利申请号为201810075486 的《基于改进聚类的深度神经网络的压缩方法》,公开了基于改进聚类的深度神经网络的压缩方法。它首先通过剪枝策略将正常训练后的网络变为稀疏网络,实现初步的压缩,然后通过K-Means++聚类得到每层权重的聚类中心,用聚类中心值来表示原始权重值实现权值共享,最后通过各层聚类来进行各层权重的量化,进行再训练更新聚类中心,实现最终的压缩。该申请通过剪枝、权值共享和权值量化三步,最终将深度神经网络整体压缩了30到40倍,并且精度有所提升。基于改进聚类的压缩方法简单有效,深度神经网络在不损失精度(甚至提升)的条件下实现了有效压缩,这使得深度网络在移动端的部署成为了可能。
[0007] 综上所述,目前深度网络模型参数巨大,存储仍然是一个十分艰巨的任务,针对此问题各类压缩算法相继出现,主要解决的就是如何将网络模型存储空间进行有效压缩。在实际应用中,深度算法需要在一些嵌入式新设备上运行,模型存储也成为深度算法在嵌入式设备上迁移所面临的主要问题之一。这主要是由于深度网络模型所需的各类资源巨大,而嵌入式平台无法满足这种资源需求,无论是模型优化,环境迁移都无法绕开模型压缩这一问题,成为亟待解决的主要问题。
[0008] 现有技术中,模型压缩方法主要为剪枝方法结合参数量化方法。剪枝方法是指剪除参数空间中小于某个阈值的参数,在保存时只保存未剪除的参数,从而达到模型压缩的目的。在此基础上再使用聚类算法对所剩参数进行量化,实现模型进一步的压缩。使用聚类算法可以进一步压缩模型大小,但存储模型时仍需保存所有未剪除的参数信息,包括参数位置,参数对应的聚类中心索引。只有通过这种存储方式才能恢复出整个参数空间。压缩过程还是以单个参数为单位,未考虑参数之间相互关联,模型压缩比例相对较低。

发明内容

[0009] 为了解决上述现有技术中存在的不足,本发明的目的是提供一种基于语义分割的检测模型压缩方法。它使用超参数对整个参数空间进行描述,实现参数空间的整体压缩,最大化的提高模型整体压缩比。
[0010] 为了达到上述发明目的,本发明的技术方案以如下方式实现:
[0011] 一种基于语义分割的检测模型压缩方法,其步骤为:
[0012] (一)剪枝:
[0013] 1)输入卷积核权重。
[0014] 2) 对训练完成的网络模型进行剪枝,获得稀疏权重的参数空间。
[0015] (二)语义分割:
[0016] 1)对参数空间进行语义分割,获取超参数块和中心词汇,计算超参数块中心位置,方法是:
[0017] 对参数空间进行区域初始划定。
[0018] 在每个区域中查找能量最低位置,作为中心词汇初始位置。
[0019] 在每个区域1.5*1.5倍的范围内开始搜索与中心词汇语义相近的参数,搜索相近参数公式为: ,其中 为第i个权值, 为第k个中心词权值, 为权值中最大值, 、 为第i个权值位置坐标, 、 为第k个中心词汇位置坐标,m为区域初始大小。
[0020] 2)使用中心词汇更新原有参数空间。
[0021] 3) 判断当前中心词汇与上一中心词汇变化是否小于指定阈值,如果大于则继续搜索与中心词汇相近参数,并更新中心词汇返回步骤2);小于阈值则结束中心词汇更新。
[0022] (三)模型存储:
[0023] 将训练得到的超参数块边界位置、参数块中心位置、和中心词汇值进行保存。在存储位置信息时不再保存绝对距离,而是以相对距离形式进行保存,并设置最长间隔;当相对距离大于最长间隔时补零,保存减去间隔后的剩余长度;中心词汇位置也以这种方式进行存储。
[0024] 在上述检测模型压缩方法中,所述对训练完成的网络模型进行剪枝是剪除模型中小于某个阈值的冗余权重,方法是将这些权重值代替为0,通过剪枝算法获得稀疏权重的参数空间。
[0025] 本发明由于采用了上述方法,对剪枝完成的稀疏参数空间进行语义分析,将整个参数空间分割为少量具有相似语义的超参数区域,使用超参数对整个参数空间进行描述,从而实现参数空间的整体压缩。同现有技术相比,本发明不再以单个参数为单位,而是以超参数区域为单位进行处理,既挖掘出参数之间的相互关联,又压缩了待存储的参数数量,因此模型整体压缩比要远高于聚类量化方法的压缩比。
[0026] 下面结合附图和具体实施方式对本发明做进一步说明。

附图说明

[0027] 图1为本发明方法流程图;
[0028] 图2为本发明实施例中语义分割步骤参数空间初始划定示意图;
[0029] 图3为本发明实施例中语义分割步骤查找每个区域中心词汇位置示意图;
[0030] 图4为本发明实施例中语义分割步骤相近参数搜索及中心词汇更新示意图;
[0031] 图5为本发明实施例中语义分割完成示意图;
[0032] 图6为本发明实施例中模型存储格式示意图。

具体实施方式

[0033] 参看图1,本发明一种基于语义分割的检测模型压缩方法,其步骤为:
[0034] (一)剪枝:
[0035] 1) 输入卷积核权重。
[0036] 2)对训练完成的网络模型进行剪枝,剪除模型中小于某个阈值的冗余权重,方法是将这些权重值代替为0,通过剪枝算法获得稀疏权重的参数空间。而这些0元素很大程度上成为语义分割时边界查找的辅助信息。可以有效地帮助语义分割模块。
[0037] (二)语义分割:
[0038] 1)对参数空间进行语义分割,获取超参数块和中心词汇,计算超参数块中心位置,方法是:
[0039] 对参数空间进行区域初始划定,如图2所示。
[0040] 在每个区域中查找能量最低位置,作为中心词汇初始位置,如图3所示。
[0041] 在每个区域1.5*1.5倍的范围内开始搜索与中心词汇语义相近的参数,搜索相近参数公式为: ,其中 为第i个权值, 为第k个中心词权值, 为权值中最大值, 、 为第i个权值位置坐标, 、 为第k个中心词汇位置坐标,m为区域初始大小。
[0042] 2)使用中心词汇更新原有参数空间,如图4所示。
[0043] 3)判断当前中心词汇与上一中心词汇变化是否小于指定阈值,如果大于则继续搜索与中心词汇相近参数,并更新中心词汇返回步骤2);小于阈值则结束中心词汇更新。完成参数空间语义分割,如图5所示。
[0044] (三)模型存储:
[0045] 将训练得到的超参数块边界位置、参数块中心位置、和中心词汇值进行保存。
[0046] 本发明中,经语义分割完成的参数空间,每个区域具有相同的权值信息,即同一个中心词汇。存储时不再对每个参数进行存储,而是以超参数为单位进行存储。即只存储超参数边界信息,中心位置及对应的词汇值。通过边界信息,中心位置及对应词汇可无损重构整个参数空间,从而实现模型存储上的极大压缩。
[0047] 本发明方法在存储位置信息时不再保存绝对距离,而是以相对距离形式进行保存,并设置最长间隔。当相对距离大于最长间隔时补零,保存减去间隔后的剩余长度。参看图6,第一个边界位置4相对起始位置距离为3,则保存3。第二个边界相对第一个边界距离为11大于最长间隔8,则补零后,保存减去最长间隔后的剩余距离3。中心词汇位置也以这种方式进行存储。这种相对距离存储方式将位置值压缩为少量几个比特就可以全部表示,大大压缩了存储空间。
[0048] 本发明方法使用中的处理流程是:首先对训练完成的网络模型进行剪枝,获得剪枝后的稀疏权重参数空间。再对该参数空间进行语义分割,获取中心词汇,使用中心词汇替换原有权重参数。测试模型性能判断是否达到要求,没有则重新训练网络模型,更新中心词汇,并使用新词汇更新原有权重。达到则结束训练。将训练得到的超参数边界,中心词汇位置及真实值进行保存。
[0049] 下面定量分析本发明相较于聚类压缩方法的优势所在,设当前存在 个参数,其中有n个非零值,聚m个类,最长间距为8,则聚类量化压缩方法需要保存非零值位置为比特,中心索引为 比特,m个单精度类型中心值。一般情况下m至少为8,其数量会随着参数量增加而增加。
[0050] 本发明将 大小参数划分为 块,在稀疏参数空间中,0元素基本成为超参数区域分界线,因此超参数边界存储最多为 比特。中心词汇位置存储为 比特及 个单精度中心词汇值。由上面分析可知 >>3,相同参数量下m也要大于 ,n>>。
[0051] 则 ,其中size(float)表示单精度类型数据长度,“<<”表示远小于。即本发明压缩比要远大于聚类压缩算法。
[0052] 本领域技术人员根据本发明方法理念结合本领域相关知识所做的等同替换,如将剪枝方法替换为其他参数空间稀疏化处理方法,或将结合中心词汇更新方法替换为根据具体场景分析增加约束条件的中心词汇更新方法等均属于本发明的保护范围。