Page 84 - 《软件学报》2020年第9期
P. 84
张展 等:面向边缘计算的目标追踪应用部署策略研究 2705
(a) 计算任务完全本地计算 (b) 神经网络模型部分卸载策略 (c) 神经网络模型完整卸载策略
Fig.20 End-node computing resource consumption (orange represents test process)
图 20 终端节点计算资源消耗(橙色表示测试进程)
从图 20 可以看出:嵌入式端仅计算 1 层卷积和计算全部神经网络模型,其计算资源占用情况基本相同,仅影
响计算资源的占用时长,即仅与任务完成时间相关.其主要原因可能在于实验所采用神经网络模型的计算任务
并未进行并行化,不同层卷积运算间的存在固定的先后关联,且不同层卷积运算所占用的计算资源基本相同.
3.3 实验结果分析
实验结果表明,采用任务分割策略可以降低相同计算任务的整体处理时间.降低的时间延迟,主要来源于预
处理后传输信息减少所降低的传输延迟.数据预处理与信息量降低本质上并无关联,为降低传输信息量,可针对
此问题进行特殊设计优化.在目标追踪算法中,在目标位置处裁剪不同尺度的区域作为预处理后的结果进行信
息传输,预处理后数据量大小与裁剪区域的大小及数量密切相关.对区域大小和数量进行优化调整,可以使预处
理后数据比原始图片的数据量更小.
原始图片数据经过预处理后,其裁剪区域大小仅与追踪目标大小有关;而经过卷积神经网络特征提取后,其
大小除了与特征提取区域和神经网络模型设计有关外,还与网络模型参数的存储类型有关.因此,可能出现原数
据参数较多、而特征提取后的特征图谱参数较少、但特征提取后占用存储大于原数据的情况.针对该问题,一
方面可以针对神经网络模型进行设计改进,借鉴神经网络模型压缩的相关研究对模型参数进行量化,采用定长
存储等方式解决;另一方面,可针对存储后的模型参数文件进行压缩,或在对模型性能影响不大的前提下删减部
分参数.后续将针对该问题进一步研究.
从实验结果可以看出:由于数据类型转换所造成的时间延迟,对任务整体处理时间影响较大.其主要原因在
于实现语言及框架限制,该部分时间延迟主要来自深度学习框架下的数据类型向基础数据类型的转换时间,以
及将信息打包和解析所造成的时间延迟.终端仅进行预处理操作时,特征数据总的传输开销与传输数据大小、
数据转换以及传输框架密切相关.实验中,采用 json 进行数据打包和解析,采用 python requests 库进行 HTTP 连
接和数据传输.由于 json 仅支持有限的数据格式,因此需要进行数据类型转换进行适配.采用 json 对数据进行打
包和解析时间较长,该部分时间开销与工程实现方式密切相关,可进一步优化改进.在后续优化中,将改写其他
传输框架,以解决该问题.
针对传输数据的类型和大小,可采用模型参数量化的方式进一步降低数据大小.为避免修改原始网络,在下
一步工作中,尝试训练额外的小型神经网络进行中间特征图谱的编码量化.此外,考虑到追踪任务在判断目标位
置时,仅与最终响应图中最大值位置有关,因此若保证最大值位置不变,则其他位置信息损失并不会对模型性能
造成影响.尝试通过小型神经网络学习一个近似的特征图谱(或矩阵),该矩阵具有可分解性质,传输数据为分解
后的两个向量.如图 21 所示,边缘云通过对接收到的向量进行运算以恢复原始特征图.此外,考虑是否可以采用
传统方法对特征图进行处理,或采用其他数学方式进行近似,以避免添加的网络模型对本地节点产生计算压力.
对于不搭载图形处理单元的终端设备,神经网络模型的计算压力成为整体计算任务的主要瓶颈.对于搭载
轻量级 GPU 或 NPU 的移动终端设备,将神经网络模型继续拆分,将部分计算任务本地计算,从而避开当前网络
高延迟时段,仍是值得考虑的部署策略.针对网络传输延迟,对神经网络模型进行优化设计,或根据模型具体结
构,从神经网络输出数据量较小的位置进行拆分,如将神经网络模型在升维前后进行拆分等,可能获得更优的处