学位专题

目录>
<

基于知识蒸馏的协同计算算法研究

郑宗新
重庆师范大学
引用
如今,人工智能与深度学习等技术在生活中的应用越来越广泛。其运算载体从服务器逐渐发展到个人电脑、便携式电脑和移动手机。随着深度学习技术的发展,神经网络模型变得越来越复杂,模型中的计算量也随之增加。因此,边缘设备孱弱的计算力,制约了人工智能与深度学习等技术在其上的发展。对此问题,以往的研究一方面是减少计算量,通过重新设计高效的模型,仅使用少量的计算即可完成任务;另一方面是增加计算力,通过边缘设备与服务器进行通信,使用服务器来完成一部分计算,实现了边缘设备和服务器的协同计算,间接增加了计算力。但在以往的协同计算算法中,存在以下问题:(1)边缘设备与服务器协同计算需要的通信可能会受到各种因素的干扰,容错率较低。(2)计算资源利用率不高。基于任务卸载的协同算法计算过程是线性的。通过将不同的神经网络层放在不同的设备上计算,计算时仍然遵循原来的先后顺序,必须计算出前一部分才能进行后一部分的计算。在边缘设备计算时,服务器处于闲置状态;服务器计算时,边缘设备处于闲置状态,导致计算资源利用率低。对此,本文从容错率和计算资源的利用率两方面入手,对协同计算算法以及协同算法训练中用的知识蒸馏算法进行了深入的研究。研究内容如下:  (1)针对以往计算资源利用率低和容错率低的协同计算算法,提出一种基于知识蒸馏的云边协同计算算法。将训练高精度神经网络模型中的参数再次训练,在训练过程中通过促进部分参数变得更大,从而将模型的参数重分布,使得更适合通过网络剪枝分解为n个子模型。再根据各个设备的计算力构建出n个新模型部署在设备上。最后通过知识蒸馏将子模型的知识传递给对应学生模型,从而实现n个学生模型部署在总数量为n的边缘设备和服务器上。在神经网络模型的推理阶段,协同算法能使边缘设备与服务器独立计算,计算完成将数据发送到主推理设备得出最后结果。实验表明,本文协同计算算法可以多个设备协同计算,有较高的准确率;在无网络的情况下可以单机运行,准确率在可接受范围内,有较高的容错率,适用于无人机、自动驾驶等应用场景。  (2)对于本文协同计算算法训练过程和模型更新过程中的知识蒸馏,提出分段知识蒸馏算法。常规的知识蒸馏训练算法效率较低,需要较长时间才能完成训练。对此问题,综合考虑GPU的并行计算特性和神经网络参数更新频率,通过将教师模型和学生模型划分为独立的多个模块,对应的教师模块和学生模块独立进行知识蒸馏训练。在保持较高GPU计算资源利用率的同时,提高了训练效率。实验结果表明,分段知识蒸馏算法可以减少迭代消耗的时间;并且经过相同的迭代次数,分段知识蒸馏算法的准确率相对较高。相比于常规知识蒸馏训练,分段知识蒸馏算法达到了2到5倍的加速。

深度学习;边缘计算;协同计算;知识蒸馏;网络剪枝

重庆师范大学

硕士

计算机应用技术

余磊

2021

中文

TP391.41

2021-11-11(万方平台首次上网日期,不代表论文的发表时间)

相关文献
评论
相关作者
相关机构
打开万方数据APP,体验更流畅