在FPGA加速贝叶斯卷积神经网络中优化卷积运算与数据流

《Electronics》:Optimizing Convolutional Operation and Dataflow in FPGA Acceleration of Bayesian Convolutional Neural Network

【字体: 大 中 小 】 时间:2026年06月13日 来源:Electronics 2.6

编辑推荐:

  贝叶斯卷积神经网络(BCNN)通过向权重或激活引入随机性来量化预测不确定性,这对于医疗诊断和自动驾驶等安全关键应用至关重要。然而,BCNN推理通常依赖于需要多次前向传递的蒙特卡洛(Monte Carlo)采样,导致计算量和能耗远超标准CNN硬件加速。FPGA凭

  
贝叶斯卷积神经网络(BCNN)通过向权重或激活引入随机性来量化预测不确定性,这对于医疗诊断和自动驾驶等安全关键应用至关重要。然而,BCNN推理通常依赖于需要多次前向传递的蒙特卡洛(Monte Carlo)采样,导致计算量和能耗远超标准CNN硬件加速。FPGA凭借其并行处理、可重构性和高能效,是专用BCNN加速器的理想平台。本文设计并实现了一种使用高层次综合(HLS)的BCNN FPGA加速方法。首先,分别优化卷积、池化和全连接模块。然后,采用均值/方差双路径并行扩展,结合混合精度量化与全局缩放补偿、局部重参数化采样、参数重排序和乒乓缓冲,在实现不确定性评估的同时,实现低资源占用和高能效。在Bayes VGG16上的实验结果显示,资源利用率为24,776个LUT、23,378个FF、115个BRAM和129个DSP,总功耗为2.049 W。与未优化的贝叶斯实现相比,所提设计将推理延迟降低至约三分之一,且其延迟仅比经典VGG16高17%。与基于PC的浮点模型相比,四种BCNN模型(在CIFAR-10上测试)的精度损失在1%以内。预测熵有效区分了正常样本、噪声样本和分布外(OOD)样本,验证了BCNN FPGA加速器的不确定性量化能力。
**论文解读:面向边缘部署的贝叶斯卷积神经网络FPGA加速器设计**

贝叶斯神经网络通过在网络权重上引入概率分布,能够量化预测不确定性,这在医疗诊断和自动驾驶等安全关键应用中至关重要,因为模型不仅需要准确预测,还需评估输出可靠性,以避免高置信度误分类。然而,贝叶斯推理依赖重复的蒙特卡洛(Monte Carlo)采样,需要多次前向传递,导致计算复杂度和能耗远超标准卷积神经网络(CNN),给资源与功耗受限的边缘设备部署带来巨大挑战。现场可编程门阵列(FPGA)凭借其并行处理能力、可重构性和高能效,成为加速不确定性感知贝叶斯神经网络(BNN)的理想平台。现有研究虽在随机采样优化和资源效率方面取得进展,但针对贝叶斯卷积神经网络(BCNN)中卷积权重分布参数规模大、采样与内存访问压力密集的问题,仍缺乏高效的低功耗加速方案。

针对上述问题,研究人员设计并实现了一种BCNN-FPGA加速器,旨在提升边缘环境下不确定性感知推理的效率。该加速器采用均值/方差双路径并行架构、基于局部重参数化的输出端采样、参数重排序、乒乓缓冲、全局缩放补偿及混合精度量化等优化策略。实验结果表明,该加速器在Xilinx XC7Z020器件(制造商:AMD Xilinx;地点:美国加利福尼亚州圣何塞)上总功耗仅为2.049 W,推理延迟降至未优化版本的约三分之一,与经典VGG16相比仅增加17%的延迟,且与PC端浮点模型相比,四种BCNN网络在CIFAR-10数据集上的精度损失均控制在1%以内。基于预测熵的异常检测实验验证了系统能有效区分正常样本、噪声样本和分布外(OOD)样本。该论文发表在《Electronics》上。

为开展研究,研究人员使用了以下关键技术方法:首先,采用高层次综合(HLS)工具进行硬件设计,利用Line Buffer和Window Buffer实现特征图局部数据重用;其次,在贝叶斯卷积和全连接模块中实施均值/方差双路径并行计算,并通过局部重参数化将高斯随机采样从权重域转移至输出端;再次,对参数进行重排序以支持连续地址读取,并引入乒乓缓冲机制使数据加载与计算重叠执行;最后,采用混合精度量化(均值路径使用低比特格式,方差及采样路径使用高比特格式)并结合全局缩放补偿机制,以抑制定点量化误差。实验所使用的数据集为公开的CIFAR-10(内分布)和SVHN(外分布)。

**4.1 实验环境**:硬件平台为XC7Z020器件,使用Vivado HLS实现设计并在Vivado环境中完成综合与功耗评估。软件平台配置为Intel Core i7-14700K CPU、NVIDIA GeForce RTX 2080 Ti GPU、64 GB内存、Ubuntu 20.04.6 LTS操作系统,以及Python 3.9.18、PyTorch 2.8.0和CUDA 12.8。测试网络包括Bayes LeNet、Bayes AlexNet、Bayes VGG16和Bayes ResNet,覆盖浅层、深层、大规模全连接及残差结构。

**4.2 结果与分析**:在CPU、GPU和FPGA平台上对Bayes VGG16进行推理测试,结果显示FPGA能效为11.47 GOPS/W,是CPU(0.248 GOPS/W)的约46倍、GPU(0.176 GOPS/W)的约65倍;每张图像能耗FPGA为115.8 mJ,远低于CPU(5362.8 mJ)和GPU(7548.0 mJ)。FPGA每张图像所需总时钟周期仅为5.65M,是CPU的25.8倍、GPU的7.2倍,验证了加速器的高推理效率。PC与FPGA推理精度对比表明,四种BCNN模型(Bayes LeNet/AlexNet/VGG16/ResNet)在CIFAR-10测试集上的Top-1精度损失均控制在1%以内,且10次独立运行的标准差低于0.3%,证实优化策略有效保持精度。与现有BNN FPGA加速器(VIBNN、BYNQNet、HP-BNN)对比,本文设计在吞吐量(57.6 GOPS)和能效(55.38 GOPS/W)上表现优越,资源消耗和功耗更低。推理延迟对比显示,经优化后的Bayes VGG16和Bayes ResNet总延迟约为未优化贝叶斯实现的1/3,主要归功于双路径并行、输出端采样及参数重排序等策略。预测熵分布实验:从CIFAR-10测试集、噪声扰动CIFAR-10以及分布外SVHN数据集中各选取1500个样本,正常样本平均预测熵为0.142,噪声样本为1.359,OOD样本为2.214,表明预测熵能反映不确定性差异,可用于边缘端异常检测。

**4.3 不确定性质量量化评估**:使用期望校准误差(ECE)和受试者工作特征曲线下面积(AUROC)两个标准指标。将CIFAR-10测试集作为内分布数据集,SVHN测试集作为外分布数据集,对每个输入执行t=10次蒙特卡洛采样。FPGA实现的ECE为0.076,仅比PC模型高0.011;AUROC为0.892,仅降低0.009。微小差异表明量化与硬件优化几乎不损失BCNN的原始不确定性估计质量。

**4.4 可扩展性分析**:基于Bayes VGG16在XC7Z020上的资源实测值(LUT: 24776, DSP: 129, BRAM: 115, 功耗: 2.049 W),建立资源缩放模型。DSP数量约正比于输入通道数Cin与卷积核大小K,并因双路径设计引入因子2。BRAM消耗与输出通道数Cout和特征图大小近似线性。对于最大通道数512的Bayes ResNet152,总资源需求估计为当前设计的1.5至2倍,当前平台可容纳最多256通道。内存带宽方面,32位DDR3-533接口峰值带宽2.1 GB/s,通过乒乓缓冲和参数重排序后实际需求远低于峰值。对于超大规模模型,可考虑片外参数按需加载或多FPGA模型并行策略。

**总结讨论与结论翻译**:本文解决了贝叶斯卷积神经网络在边缘部署中面临的分布参数估计计算量大、随机采样开销高及内存访问压力密集等挑战。通过采用均值/方差双路径并行计算、基于局部重参数化的输出端采样、参数重排序、乒乓缓冲及全局缩放补偿等优化方法,有效降低了BCNN推理过程中的采样开销、内存访问成本及量化误差。实验结果表明,加速器系统总功耗仅为2.049 W;与未优化的贝叶斯推理实现相比,推理延迟降低至约三分之一;与PC端浮点模型相比,四种BCNN模型在FPGA上的推理精度损失控制在1%以内。此外,基于预测熵的异常检测实验证明,系统能有效区分正常样本、噪声样本和分布外样本,验证了所提方法在边缘端进行不确定性感知推理与异常样本检测的可行性。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号