分享自:

卷积神经网络的软硬件协同加速技术

期刊:航空兵器DOI:10.12132/issn.1673-5048.2020.0011

面向智能航空电子系统的卷积神经网络软硬件协同加速技术研究报告

本文旨在向研究人员介绍一项发表于《航空兵器》2021年第3期,题为《卷积神经网络的软硬件协同加速技术》的研究工作。该研究由来自航空工业西安航空计算技术研究所及机载、弹载计算机航空科技重点实验室的李欣瑶*、刘飞阳、文鹏程、李鹏等人完成。

一、 研究背景与目标

本研究的核心科学领域聚焦于嵌入式人工智能,具体为深度学习模型,尤其是卷积神经网络在资源受限环境下的部署与加速技术。随着人工智能在智慧医疗、自动驾驶等领域的成功应用,航空领域也呈现出向智能化发展的趋势,例如有人机/无人机在空战中实现目标识别、辅助决策、自主规划等复杂任务。然而,将这些强大的神经网络模型部署到机载嵌入式环境中面临严峻挑战:一方面,神经网络通常参数量庞大(可达数百兆),与嵌入式平台有限的存储资源(如片上内存)存在直接冲突;另一方面,神经网络推理涉及大量浮点乘加等复杂运算,对计算资源需求极高,而嵌入式处理器(如ARM核)或专用硬件(如FPGA中的DSP单元)的计算能力往往有限。此外,机载环境对功耗和实时性有严格约束。

因此,本研究的目标是设计并实现一套面向CNN的软硬件协同加速方法,旨在解决“大模型与小存储”以及“复杂运算与有限算力”这两大核心矛盾,最终将CNN高效部署于以FPGA为代表的嵌入式硬件平台,以满足智能化航空电子系统对实时、低功耗智能计算的需求。

二、 详细研究流程与方法

本研究遵循了从问题分析、方法设计、具体实现到实验验证的完整流程,主要包含以下几个关键步骤:

  1. 问题定义与方案设计: 研究首先分析了在FPGA上加速CNN推理面临的两大瓶颈:计算量(源于浮点运算)和数据传输(源于中间层数据的反复存取)。针对这两个瓶颈,提出了软硬件协同的总体方案。软件层面,通过模型结构优化和参数量化来压缩模型规模,减少数据量和访存需求。硬件层面,为计算最密集的卷积和池化运算设计专用加速算子(加速器IP核),采用并行和流水线技术提升计算效率。

  2. 数据集构建与模型选择: 为了在航空应用背景下验证方法有效性,研究团队自主构建了一个“空对地小目标数据集”。该数据集包含雷达、舰船、坦克、汽车、建筑五类目标,从30°和90°两种视角,以及彩色、红外、黑白三种视图场景采集影像,最终生成5000余张1024×768像素的高分辨率图片,并按PASCAL VOC标准进行标注。考虑到数据集以小目标(占图比例0.5%以内)为主且分布集中,以及嵌入式环境对实时性的要求,研究选用了在速度和精度上表现均衡的YOLOv3及其轻量版YOLOv3-tiny作为目标检测网络进行加速实验。

  3. 软件优化技术实施:

    • 模型结构优化: 基于Caffe框架搭建YOLOv3系列网络。针对原网络中每个卷积层(Convolutional layer, Conv)后接批量归一化层(Batch Normalization, BN)会引入额外计算和存储访问的问题,提出将BN层融合到卷积层中。通过数学推导(如文中公式4-7所示),将BN层的尺度变换(γ)和偏移(β)参数与卷积层的权重(W)和偏置(b)进行合并,得到新的卷积层参数W‘和b’。这样在推理时无需单独运行BN层,减少了计算量和层间数据传输。研究在Caffe框架中实现了这一“Conv+BN”融合层。
    • 模型量化处理: 为解决存储资源瓶颈,采用量化算法将网络权重从训练时使用的32位浮点数(Float 32, FP32)转换为8位整数(Int 8, INT8)。具体方法(如公式8-11所示)是找出卷积核权重的最大值,然后以INT8最大值127为基准计算缩放系数,对所有权重进行线性映射。偏置值因其数量少且对精度影响大,保持原精度存储。实验表明,量化后YOLOv3模型从246.4MB压缩至62.6MB,YOLOv3-tiny从34.7MB压缩至8.8MB,压缩比约为3/4,同时精度损失非常小(平均精度均值mAP下降均小于1%)。
  4. 硬件加速技术设计与实现:

    • 设计语言与策略选择: 研究放弃了高级综合(High-Level Synthesis, HLS)方法,因其可能产生并行度受限、代码不可控和不可读的问题。转而使用更底层的硬件描述语言Verilog HDL进行设计,以实现更高灵活性和效率。
    • 加速算子开发: 针对YOLOv3网络中占比最高的卷积层和池化层,分别设计了专用加速算子。
      • 卷积加速算子: 实现3×3卷积运算。采用“全并行+流水线”架构,单时钟周期内同时启动9个乘法器进行9组数据的并行乘法,然后通过2级流水线完成加法求和。文中图2展示了其时序:输入特征图数据流经FIFO缓存实现行对齐,当三行数据就绪时,与滤波器权重并行乘加,输出结果。在Xilinx ZCU102 FPGA上的综合报告显示,该算子仅占用9个DSP单元(占总资源0.36%)和少量逻辑资源,实现了高效能计算。
      • 池化加速算子: 实现步长为2的2×2最大池化(Max Pooling)。同样采用并行比较策略。当时序(图3所示)上偶数行数据输入时,与从FIFO中读出的上一行(奇数行)对应数据进行比较,输出最大值。资源占用极低(如表3所示)。
    • 系统集成: 将设计好的卷积和池化加速算子封装为IP核,部署在FPGA的可编程逻辑(Programmable Logic, PL)部分。网络的其他层(如全连接层、上采样层等)则在以ARM为核心的处理系统(Processing System, PS)端软件实现。PL与PS之间通过直接内存访问(Direct Memory Access, DMA)进行高速数据通信。
  5. 测试验证与性能评估: 将优化和加速后的YOLOv3和YOLOv3-tiny网络部署到Xilinx ZCU102评估板上进行验证。评估指标包括功耗、平均精度均值(mAP)和推理速度(帧每秒,FPS)。作为对比,也在CPU(Intel Xeon E5-2620)和GPU(NVIDIA Quadro K6000)平台上使用量化后的相同权重进行了测试。

三、 主要研究结果

本研究在每个关键步骤都取得了具体、可量化的结果:

  1. 软件优化结果: 模型量化技术效果显著。如表1所示,YOLOv3参数量压缩至原来的约1/4,mAP仅从63.9%降至63.2%;YOLOv3-tiny参数量也压缩至约1/4,mAP从58.4%降至57.2%。这证明了所用量化算法在大幅压缩模型、缓解存储压力的同时,能很好地保持模型在特定数据集上的识别精度,为嵌入式部署扫清了第一道障碍。

  2. 硬件加速结果: 自主设计的Verilog HDL加速算子被成功实现并集成。仿真波形(图4,图5)验证了卷积和池化算子逻辑功能的正确性,其时序行为符合设计预期。资源占用报告(表2,表3)证明这两个算子以极低的硬件资源消耗(尤其是宝贵的DSP资源)实现了高度并行化的计算,解决了计算资源紧缺的核心矛盾。

  3. 系统级性能结果: 软硬件协同加速的整体效果在最终对比实验中得到全面体现(表4)。

    • 精度保持: 在CPU、GPU和FPGA三种平台上使用同一量化权重,检测精度(mAP)基本一致,说明硬件加速过程没有引入额外精度损失。
    • 速度大幅提升: 与原始模型在CPU上的运行速度相比,部署在ZCU102上的加速版YOLOv3推理速度提升了近65倍(从0.092 FPS提升至6 FPS),YOLOv3-tiny提升了约23倍(从0.98 FPS提升至23 FPS)。这直接证明了软硬件协同加速方案的有效性。
    • 功耗显著降低: 在取得可观加速比的同时,FPGA方案的功耗极具优势。YOLOv3在FPGA上功耗为15.83W,不到同任务下GPU功耗(172.6W)的十分之一;YOLOv3-tiny在FPGA上功耗仅10.73W,远低于GPU的149.5W。这完全满足了机载嵌入式环境对低功耗的严苛要求。
    • 与GPU的权衡: 尽管FPGA的绝对速度仍低于高性能GPU(例如YOLOv3-tiny在GPU上可达107.76 FPS),但其在功耗、实时性(低确定性延迟)和自主可控方面的优势,使其在特定嵌入式应用场景中成为更合适的选择。图6展示了加速后网络在空对地小目标数据集上的实际检测效果图,证明了系统的实用性。

四、 研究结论与价值

本研究成功设计并实现了一套完整的、面向卷积神经网络的软硬件协同加速技术。结论表明:通过软件层面的模型结构优化(BN融合)和参数量化,可以有效压缩模型规模3/4,解决存储瓶颈;通过硬件层面基于Verilog HDL设计的高并行度卷积/池化加速算子,能够以极低的资源开销实现数十倍的计算加速。二者协同,最终使得像YOLOv3这样相对复杂的CNN模型能够以较低的功耗和满足实时性需求的速度,部署在资源受限的嵌入式FPGA平台上。

该研究的价值体现在: * 科学价值: 为深度学习模型在边缘计算/嵌入式设备的部署提供了一个具体可行的软硬件协同设计范例,详细展示了从算法优化、硬件架构设计到系统集成的全链路方法,对相关领域研究具有参考意义。 * 应用价值: 直接面向智能化航空电子系统的国家重大需求,研究成果有助于提升有人机/无人机的智能化作战水平,如自主目标识别、实时态势感知等。所提出的优化方法和加速算子具备一定的通用性,可扩展应用于其他CNN网络模型。 * 技术价值: 证明了在特定约束(功耗、实时性、自主可控)下,FPGA是比GPU更适宜的AI推理加速平台选择。采用的量化方法和硬件设计思路对推动国产化、自主可控的机载智能计算装备发展具有积极意义。

五、 研究亮点与特色

  1. 问题导向的协同设计: 研究并非单纯进行硬件加速,而是从嵌入式部署的核心矛盾(存储与计算)出发,创新性地将软件算法优化(压缩数据量)与硬件架构设计(提升计算效率)紧密结合,形成完整的解决方案。
  2. 针对性的优化与创新: 在Caffe框架中实现“Conv+BN”层融合,减少了推理时的计算图复杂度和数据搬运;采用INT8量化并妥善处理偏置,在精度和压缩比间取得良好平衡。
  3. 高效的硬件实现: 放弃通用的HLS,采用Verilog HDL进行精细化、低层次的硬件设计,实现了高度并行化和资源可控的卷积、池化加速器,资源利用效率高。
  4. 完整的验证闭环: 从构建具有航空背景特色的专用数据集开始,到选择合适模型、进行软硬件优化、最终在真实FPGA开发板上进行系统级性能(速度、精度、功耗)对比测试,形成了严谨的研究闭环,结论可信。
  5. 明确的工程应用背景: 研究始终围绕机载嵌入式环境的实际约束展开,最终的性能指标(如低功耗、实时性)直接回应了应用需求,体现了产学研紧密结合的特色。

六、 其他有价值内容

研究在最后展望了未来工作方向,包括构建更丰富的加速算子库以支持更复杂的网络模型,以及设计数据重用算法来进一步提高存储带宽利用率和整体性能。这些方向为进一步提升嵌入式AI系统的能力和效率指明了路径。文中所引用的参考文献也为读者深入了解模型轻量化、硬件加速架构等前沿领域提供了有价值的线索。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com