一种针对嵌入式移动端的深度学习语义分割模型压缩方法技术

技术编号:21715496 阅读:25 留言:0更新日期:2019-07-27 19:30
本发明专利技术公开了一种针对嵌入式移动端的深度学习语义分割模型压缩方法。本发明专利技术中固定训练得到的教师网络参数权值,对鉴别网络与学生网络进行不断训练与学习,在三个不同层次上进行蒸馏(成对蒸馏、像素蒸馏、整体蒸馏),以使总体优化目标(交叉熵损失、像素蒸馏损失、成对蒸馏损失、整体蒸馏损失)不断优化,最终使经过蒸馏得到的学生网络在满足IoU(Intersection over Union)下降极少的情况下参数数量大大减少以及网络前向推算时间大量减少。本发明专利技术解决了嵌入式移动端因为自身GPU能力以及供电受限的情况下无法搭载大型深度学习网络的问题,并大量减少任务计算时间,使嵌入式移动端平台搭载复杂的深度网络模型成为可能。

A Deep Learning Semantic Segmentation Model Compression Method for Embedded Mobile End

【技术实现步骤摘要】
一种针对嵌入式移动端的深度学习语义分割模型压缩方法
本专利技术涉及自动驾驶领域,特别是嵌入式移动端平台上的深度学习语义分割任务,提供一种针对嵌入式移动端的语义分割模型的压缩方法,使嵌入式移动端平台执行语义分割任务时计算参数量更少、计算速度更快。
技术介绍
今年来卷积神经网络作为深度学习中的常用基础网络模块,在计算机视觉任务中的图像分类、目标检测和语义分割等任务中的作用逐渐变得不可或缺。自从2012年深度学习算法在目标识别领域的识别精度得到突破性提升以来,各种深度学习算法在不同的计算机视觉任务中大放异彩。伴随着这些深度学习算法模型不断逼近目标函数评价标准极限的同时,模型本身的复杂度(主要是模型深度和参数量)也在不断上升,对计算设备的计算性能要求也在不断迫近当今计算机设备的计算能力前沿。移动端平台由于其散热能力弱以及成本敏感问题往往不能搭载较高级别的图形处理器,而图形处理器的参数又决定着其能运行的网络模型参数上限;同时模型的深度也影响着模型的运算时间,更深的网络会在训练阶段产生更多的中间变量,这些中间变量在反向传播过程中消耗着计算时间,同时也占用固定的内存空间。因此如何在手机等嵌入式移动端平台上压缩深度网络模型,在不影响网络模型效果或影响网络模型效果较小的情况下使得移动端平台能够使用深度网络模型,减少模型参数量和降低模型运算时间,对深度网络模型的落地使用具有较大的实际价值。
技术实现思路
本专利技术的目的在于提供一种针对移动端平台的深度学习语义分割模型压缩方法。本专利技术通过输入训练原始图片和分割得到的标签结果,经过训练的PSPNet作为教师网络,使用知识蒸馏的方式迁移知识,得到更适合移动端平台用于前向推理得到语义分割结果的小模型(学生网络)。一种针对移动端平台的深度学习语义分割模型压缩方法,涉及包括教师网络、学生网络、鉴别网络、三种不同级别的蒸馏结构(成对蒸馏、像素蒸馏、整体蒸馏)、网络内部的三种损失函数(区别损失函数、分割损失函数、蒸馏损失函数),以及深度学习训练平台和嵌入式移动端平台。所述教师网络原型基于深度学习ESPNet分割网络模型,接收输入的图像,输出在特征图、像素级别上的分类取值,送入损失函数进行下一步处理。所述学生网络为需要得到的小网络,算法过程中需要其接受输入图像,输出在特征图、像素级别的分类取值,送入损失函数进行下一步处理。所述鉴别网络相当于生成式对抗网络(GenerativeAdversarialNetworks)中的判别器,其接受教师网络中对输入原图的像素分割作为真实图,接受学生网络中对输入原图的像素分割作为分割图,使用Wasserstein距离计算两种分割结果表示教师网络分割结果与当前学生网络的分割结果是否匹配。所述成对蒸馏结构,为使用已经训练好且分割结果良好的教师网络,计算教师网络特征图中两两像素之间的相关性,以及学生网络特征图中两两像素之间的相关性,并使用这两者的相关性计算平方差计算成对蒸馏损失lpa(S),使学生网络特征图尽可能逼近教师网络特征图。所述像素蒸馏结构,为教师网络的单像素输出概率与学生网络的单像素输出概率作为输入,使用Kullback-Leibler距离计算对应像素点上的教师网络与学生网络的每类概率距离作为输出,即为像素蒸馏损失lpi(S)。所述整体蒸馏结构,为接受教师网络与学生网络对同一张原始图像的分割图,使用鉴别网络作为判别器计算两张分割图的匹配得分作为整体蒸馏损失lho(S,D)。所述区别损失函数,本专利技术中即为Wasserstein距离。所述分割损失函数,本专利技术中即为交叉熵损失。所述蒸馏损失函数,本专利技术中即为成对蒸馏损失、像素蒸馏损失以及Holistic损失。进一步地,针对移动端平台的深度学习语义分割模型压缩方法中的优化目标有像素蒸馏损失:其中表示从学生S网络结构中产生的第i个像素的类概率,表示从教师T网络结构中产生的第i个像素的类概率,KL()函数为计算以上两者的Kullback-Leibler距离,R={1,2,...W'×H'}表示所有像素点。有成对蒸馏损失:其中表示学生网络特征图中的第i个像素与第j个像素的相似度,表示教师网络特征图中的第i个像素和第j个像素的相似度。有整体蒸馏损失:其中I为输入的RGB原图,QS为学生网络对应I输出的分割图,Qt为教师网络对应I输出的分割图,E()函数为计算期望,D()函数为具有五个卷积层的全卷积鉴别网络,输出原图与分割结果匹配的评分。整个蒸馏网络的总体优化函数为:l(S,D)=lmc(S)+λ1(lpi(S)+lpa(S))-λ22lho(S,D)所述深度学习训练平台为一台具有较强计算能力的服务器,其使用X99E-WS主板,搭载1颗inteli7-7700kCPU和两张3840个CUDA核心,12GBGDDR5显存的Pascal架构显卡TitanXp。其拥有的足够的显存能够加载并支持较大Caffe模型的参数估计,拥有足够多的CUDA和极高的1582Mhz加速频率能加速得到模型参数。所述嵌入式移动端平台为具有一定计算能力的NvidiaJetsonTX1型号计算机,其GPU采用maxwell架构,拥有256个CUDA核心;CPU采用QuadARMA57/2MBL2;支持4k*2k30HzHEVC编码或4k*2k60Hz解码;4GB64bitLPDDR4内存;16GeMMC闪存。能搭载目前常用的深度学习框架,具有一定的深度学习前向推测能力。一种针对移动端平台的深度学习语义分割模型压缩方法,包括如下步骤:步骤1、首先配置深度学习训练平台以及嵌入式移动端平台的环境,将深度学习算法需要的框架安装完毕。步骤2、搭建教师网络。步骤3、使用对应的数据集训练教师网络,直至教师网络在执行语义分割任务时具有良好的表现。步骤4、搭建蒸馏网络。步骤5、训练鉴别网络,鉴别网络的目的在于得到一个对教师网络分割的正确结果输出高分、对学生网络分割的错误结果输出低分的网络参数。步骤6、训练学生网络,在给定的教师网络和鉴别网络下,最小化学生网络和对应教师网络分割结果的多类交叉熵损失。步骤7、反复迭代以上步骤5以及步骤6,直至总体优化目标满足需求,得到经过蒸馏的学生网络。步骤8、将步骤7得到的学生网络结构及学生网络权重载入嵌入式移动端平台。步骤9、对嵌入式移动端平台输入待分割图像,执行语义图像分割任务,得到分割结果。本专利技术的有益效果:(1)提供一种针对嵌入式移动平台语义分割模型的压缩方法。(2)在对分割结果准确率不造成较多影响的前提下有效减少模型参数量,加快执行语义分割任务时模型前向推测速度,使嵌入式移动端平台上的快速语义分割成为可能。附图说明图1为本专利技术一种针对嵌入式移动端平台的深度学习语义分割模型压缩方法主要蒸馏框架。图2为本专利技术一种针对嵌入式移动端平台的深度学习语义分割模型压缩方法实现流程图。具体实施方式以下结合附图对本专利技术进一步说明。结合图1,一种针对嵌入式移动端平台的深度学习语义分割模型压缩方法主要蒸馏框架,包括教师网络、学生网络、鉴别网络、三种不同级别的蒸馏结构(成对蒸馏、像素蒸馏、整体蒸馏)、网络内部的三种损失函数(区别损失函数、分割损失函数、蒸馏损失函数),其中:所述教师网络原型基于深度学习ESPNet分割网络模型,接收输入的原始图像,输出本文档来自技高网...

【技术保护点】
1.一种针对嵌入式移动端的深度学习语义分割模型压缩方法,其特征在于包括教师网络、学生网络、鉴别网络、三种不同级别的蒸馏结构、网络内部的三种损失函数以及深度学习训练平台和嵌入式移动端平台;其中蒸馏结构包括成对蒸馏结构、像素蒸馏结构、整体蒸馏结构;损失函数包括区别损失函数、分割损失函数、蒸馏损失函数;所述教师网络原型基于深度学习ESPNet分割网络模型,接收输入的图像,输出在特征图、像素级别上的分类取值,送入损失函数进行下一步处理;所述学生网络为需要得到的小网络,实现过程中需要其接受输入图像,输出在特征图、像素级别的分类取值,送入损失函数进行下一步处理;所述鉴别网络相当于生成式对抗网络中的判别器,其接受教师网络中对输入原图的像素分割作为真实图,接受学生网络中对输入原图的像素分割作为分割图,使用Wasserstein距离计算两种分割结果表示教师网络分割结果与当前学生网络的分割结果是否匹配;所述成对蒸馏结构,为使用已经训练好且分割结果良好的教师网络,计算教师网络特征图中两两像素之间的相关性,以及学生网络特征图中两两像素之间的相关性,并使用这两者的相关性计算平方差计算成对蒸馏损失lpa(S),使学生网络特征图尽可能逼近教师网络特征图;所述像素蒸馏结构,为教师网络的单像素输出概率与学生网络的单像素输出概率作为输入,使用Kullback‑Leibler距离计算对应像素点上的教师网络与学生网络的每类概率距离作为输出,即为像素蒸馏损失lpi(S);所述整体蒸馏结构,为接受教师网络与学生网络对同一张原始图像的分割图,使用鉴别网络作为判别器计算两张分割图的匹配得分作为整体蒸馏损失lho(S,D);所述区别损失函数,即为Wasserstein距离;所述分割损失函数,即为交叉熵损失;所述蒸馏损失函数,即为成对蒸馏损失、像素蒸馏损失以及Holistic损失;所述深度学习训练平台为一台具有较强计算能力的服务器,其使用X99E‑WS主板,搭载1颗intel i7‑7700k CPU和两张3840个CUDA核心,12GB GDDR5显存的Pascal架构显卡Titan Xp;其拥有的足够的显存能够加载并支持较大Caffe模型的参数估计,拥有足够多的CUDA和极高的1582Mhz加速频率能加速得到模型参数;所述嵌入式移动端平台为具有一定计算能力的Nvidia Jetson TX1型号计算机,其GPU采用maxwell架构,拥有256个CUDA核心;CPU采用Quad ARM A57/2 MB L2;支持4k*2k 30Hz HEVC编码或4k*2k 60Hz解码;4GB 64bit LPDDR4内存;16G eMMC闪存,能搭载目前常用的深度学习框架,具有一定的深度学习前向推测能力。...

【技术特征摘要】
1.一种针对嵌入式移动端的深度学习语义分割模型压缩方法,其特征在于包括教师网络、学生网络、鉴别网络、三种不同级别的蒸馏结构、网络内部的三种损失函数以及深度学习训练平台和嵌入式移动端平台;其中蒸馏结构包括成对蒸馏结构、像素蒸馏结构、整体蒸馏结构;损失函数包括区别损失函数、分割损失函数、蒸馏损失函数;所述教师网络原型基于深度学习ESPNet分割网络模型,接收输入的图像,输出在特征图、像素级别上的分类取值,送入损失函数进行下一步处理;所述学生网络为需要得到的小网络,实现过程中需要其接受输入图像,输出在特征图、像素级别的分类取值,送入损失函数进行下一步处理;所述鉴别网络相当于生成式对抗网络中的判别器,其接受教师网络中对输入原图的像素分割作为真实图,接受学生网络中对输入原图的像素分割作为分割图,使用Wasserstein距离计算两种分割结果表示教师网络分割结果与当前学生网络的分割结果是否匹配;所述成对蒸馏结构,为使用已经训练好且分割结果良好的教师网络,计算教师网络特征图中两两像素之间的相关性,以及学生网络特征图中两两像素之间的相关性,并使用这两者的相关性计算平方差计算成对蒸馏损失lpa(S),使学生网络特征图尽可能逼近教师网络特征图;所述像素蒸馏结构,为教师网络的单像素输出概率与学生网络的单像素输出概率作为输入,使用Kullback-Leibler距离计算对应像素点上的教师网络与学生网络的每类概率距离作为输出,即为像素蒸馏损失lpi(S);所述整体蒸馏结构,为接受教师网络与学生网络对同一张原始图像的分割图,使用鉴别网络作为判别器计算两张分割图的匹配得分作为整体蒸馏损失lho(S,D);所述区别损失函数,即为Wasserstein距离;所述分割损失函数,即为交叉熵损失;所述蒸馏损失函数,即为成对蒸馏损失、像素蒸馏损失以及Holistic损失;所述深度学习训练平台为一台具有较强计算能力的服务器,其使用X99E-WS主板,搭载1颗inteli7-7700kCPU和两张3840个CUDA核心,12GBGDDR5显存的Pascal架构显卡TitanXp;其拥有的足够的显存能够加载并支持较大Caffe模型的参数估计,拥有足够多的CUDA和极高的1582Mhz加速频率能加速得到模型参数;所述嵌入式移动端平台为具有一定计算能力的...

【专利技术属性】
技术研发人员:戴国骏严嘉浩张桦吴以凡史建凯
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1