论文题目BearingPGA-Net: A Lightweight and Deployable Bearing Fault Diagnosis Network via Decoupled Knowledge Distillation and FPGA AccelerationBearingPGA-Net基于解耦知识蒸馏与 FPGA 加速的轻量可部署轴承故障诊断网络期刊IEEE Transactions on Instrumentation and Measurement2024DOI10.1109/TIM.2023.3346517源码GitHub - asdvfghg/BearingPGA-Net · GitHub摘要深度学习在轴承故障诊断中表现出色但模型越来越大很难直接部署到要求低功耗、高实时性和强可移植性的工业端侧设备。本文提出 BearingPGA-Net先利用 Decoupled Knowledge DistillationDKD把大型 Teacher 的知识迁移到只有一层卷积的轻量 Student再将网络从 PyTorch 的 32-bit 浮点实现转换成 16-bit 定点形式并使用 Verilog 在 Kintex-7 FPGA 上逐层实现 FFT、卷积、ReLU/Max-Pooling 和全连接运算。BearingPGA-Net 只有 2.83K 参数在 CWRU、HIT 和 PU 三个轴承数据集上保持较强的噪声鲁棒性16-bit FPGA 相比 32-bit PyTorch 在 HIT 数据集上的 F1、Recall 和 Precision 损失均低于 0.4%在线 100 次真实轴承测试的 Macro-F1 达到 96.98%。一、研究背景轻量模型不等于“真的能部署”轴承故障通常会在振动信号中形成异常冲击因此最常见的监测方式是把加速度传感器安装在机械表面再通过信号处理和诊断模型识别 Healthy、Inner Race、Outer Race、Ball Fault 等状态。深度 CNN 可以取得很高的诊断性能但工业现场的问题并不只是 Accuracy如果每台旋转设备都需要配一台高性能计算机成本、空间、布线和功耗都会迅速增加。FPGA 具备并行计算和低功耗优势但它的 LUT、BRAM、DSP 等资源又十分有限。因此本文关注两个必须同时解决的问题第一怎样把故障诊断网络压缩到 FPGA 能放得下第二怎样把这个网络真正翻译成硬件逻辑并高速运行。作者指出以往不少“轻量轴承诊断网络”只在 CPU/GPU 上验证并没有真正部署到嵌入式硬件。BearingPGA-Net 的重点正是把“轻量算法”和“FPGA 端侧实现”连起来。二、整体框架FFT DKD 单层 1D-CNN论文 Figure 1BearingPGA-Net 从训练到 FPGA 在线诊断的完整流程论文采用两阶段方案离线阶段Teacher → DKD → BearingPGA-Net Student在线阶段加速度信号 → Signal Conditioner → AD Converter → FIFO → FFT → BearingPGA-Net → LED 诊断结果Teacher 使用 WDCNN由 6 个 CNN Block 和全连接层组成Student 则极度精简只保留论文 Table IBearingPGA-Net 的网络结构这个网络总参数只有2.83K。为了弥补单层 CNN 特征提取能力不足作者并不是直接把原始时域信号送进去而是先对 2048 点振动片段进行 FFT再把频域特征作为网络输入。也就是说BearingPGA-Net 本质上采用了传统信号处理增强特征表达 极浅神经网络降低硬件成本。三、DKD为什么一层 CNN 还能保持较好的诊断能力普通 Knowledge Distillation 使用 Teacher 的 Soft Label 指导 Student但传统 KL Loss 会把目标类别和非目标类别的知识耦合在一起。DKD 将蒸馏知识拆成两部分TCKDTarget Class KD关注目标类别NCKDNon-Target Class KD描述其他类别之间的关系。最终 Loss 为在轴承任务中作者发现应当提高目标类别知识的权重即通常采用 ()。论文 Table XTeacher 与 Student 的规模和计算量比较Teacher 有50.09K 参数、0.83M FLOPsBearingPGA-Net 只有2.83K 参数、78.34K FLOPs。因此参数量减少约17×FLOPs 减少约10.6×1000 个样本的离线推理时间由 1.5703 s 降至 0.6431 s。论文 Table XI–XIII、Figure 10DKD 增益、消融实验及超参数敏感性DKD 的意义尤其体现在噪声场景。例如 CWRU-2HP 在 −6 dB 下DKD 相比不使用蒸馏提高约8.23% F1HIT 在 0 dB 下提高约8.46%。消融实验也表明 TCKD 是主要贡献项而完整 DKD 效果最好。所以这里的“轻量化”不是直接把网络删到一层而是先让大型 Teacher 学会复杂判别边界再把这部分知识迁移到极小 Student。四、FPGA 部署不是把 PyTorch 文件直接丢进开发板论文 Figure 2–3逐层定点量化以及 FPGA 上的完整数据流。Fig2.BearingPGA-Net每层整数和小数的位宽示例其中(SXY)分别表示符号位数、整数位数和十进制位数。Fig3.BearingPGA-Net部署到现场可编程门阵列的总体框图。Python 网络原本使用 32-bit Float。作者将参数转换成16-bit Fixed Point并根据每一层数据的最大值、最小值动态分配整数位和小数位以兼顾量化范围与分辨率。这与简单的“全网络统一 INT16”不同不同层可以采用不同的整数/小数位配置从而降低 Overflow 和 Quantization Error。部署使用ALINX 7325B开发板核心芯片为Kintex-7 XC7K325T运行频率100 MHz。作者没有使用 PYNQ 自动转换而是在 Vivado 2018.3 中直接通过 Verilog 设计硬件模块。论文 Figure 4–6MAC、卷积层和全连接层的硬件实现卷积是主要计算瓶颈。输入经过 RF Selector 后形成 128 个长度为 64 的片段作者实例化128 个并行 MAC 单元。每个 MAC 在 64 Cycle 内完成一次长度 64 的乘加因此一个卷积 Kernel 可以在 64 Cycle 内完成全部窗口计算4 个 Kernel 总计约 256 Cycle相比普通串行方式形成约128× 的卷积级并行加速。ReLU 与 Max-Pooling 也被融合为同一个比较模块。因为二者都依赖最大值判断作者通过符号位先过滤负数约节省2/3 的 LUT 资源。全连接层则采用“模块复用”不是同时放置全部乘法器而是用 10 个 MAC 单元循环 256 Cycle在资源和速度之间折中。这正是 FPGA 部署与 MCU 部署最大的差别MCU 主要优化软件执行而 FPGA 是把神经网络算子直接重新组织成并行数字电路。五、实验结果从模型精度一直测到 FPGA Power论文使用三个数据源CWRU10 类12 kHz 驱动端振动信号并测试不同负载和 −62 dB 噪声HIT 自采数据HC7003 轴承Healthy Ball/OR/IR 三种位置、三种严重程度共 10 类12 kHzPU 数据集真实损伤数据3 类并跨不同转速、载荷和径向力测试。论文 Table V、VII–IX轻量模型规模及 CWRU/HIT/PU 分类结果BearingPGA-Net 仅2.83K 参数明显小于 WDCNN、LEFE-Net 等网络。在 CWRU 的 −6 dB 强噪声下仍能维持超过 95% 的 F1在 HIT 噪声实验中平均 F1 为80.54%高于 CLFormer 的 76.37% 和 KDSCNN 的 74.98%。5.1 32-bit PyTorch → 16-bit FPGA 会损失多少论文 Table XIV、Figure 11量化前后的指标与混淆矩阵HIT 测试集中PyTorchF197.39%、Recall97.40%、Precision97.57%FPGAF197.12%、Recall97.34%、Precision97.12%因此三项指标下降均低于0.4%。2500 个测试样本中FPGA 相对原模型只额外产生 24 个错误。5.2 FPGA 资源用了多少论文 Table XV、Figure 12Kintex-7 的资源占用整个网络占用LUT74.40%BRAM58.20%FF44.19%DSP22.02%其中卷积模块约占 LUT 的50%FFT 模块约占23%。这也说明为什么作者把 Student 限制为单卷积层即使只有一层 Conv已经消耗了大约一半 LUT。5.3 推理时间和功耗论文 Table XVICPU 与 FPGA 单样本 Inference Time / Power Consumption实测数据为Intel i5-1135G7 2.40 GHz3001.9 μs28 WKintex-7 XC7K325T 100 MHz60.3 μs0.67 W按 Table XVI 直接计算FPGA 的单样本推理时间约为 CPU 的1/50功率约为1/42。这也是正文对 Table XVI 的明确表述。需要注意一个论文内部的口径差异摘要和结论写的是“over 200× faster diagnosis speed compared with CPU”但 Table XVI 的 3001.9 μs / 60.3 μs 实际约为 49.8×。论文没有在表格附近进一步解释“200×”采用了什么不同的速度定义。因此如果后续引用端侧 Latency建议直接采用 Table XVI 的原始实测值并单独说明这一差异。六、在线测试与启示真正把振动信号送进 FPGA论文 Figure 13真实在线轴承诊断平台最后的实验不是把保存好的测试数据离线送入 FPGA而是在真实轴承台架上安装加速度计振动信号经过 Signal Conditioner 和 AD Converter 后实时进入 FPGA诊断类别由 4 个 LED 以二进制形式显示。每个轴承重复测试 10 次共进行100 次在线诊断。论文 Figure 14Online Test Confusion Matrix最终 Macro-F1 为96.98%Precision 为97.27%Recall 为97.00%。主要错误集中在 Ball Fault两个轻微滚动体故障被判为中等一个中等故障被判为严重。作者认为这与滚动体故障存在随机滑移、周期特征不稳定有关。如果把这篇论文压缩成一句话先用 FFT 把振动信号变成浅层网络更容易处理的频域特征再用 DKD 把深模型的判别能力压进单层 CNN最后通过 16-bit 定点量化、并行 MAC、算子融合和模块复用把整个诊断网络变成 Kintex-7 上可实时运行的数字逻辑。对于“信号处理 端侧部署”的研究这篇文章最值得借鉴的是完整证据链Raw vibration → FFT → Lightweight Model → Knowledge Distillation → Quantization → FPGA RTL → Resource Utilization → Latency → Power → Online Test同时论文也给出了清晰的限制单层 CNN 的跨设备泛化能力有限如果为了 Domain Adaptation、Transfer Learning 增加网络分支和 Loss就会重新增加 FPGA 资源压力。因此 BearingPGA-Net 的核心并不是“网络越小越好”而是在诊断性能、可部署性、并行度、硬件资源和功耗之间做系统级折中。
企业数字化 ERP 产品动态
相关推荐
华为eNSP安装避坑指南:Win10/Win11系统兼容与虚拟化配置全解析 1. 这不是普通软件安装,而是网络工程师的“第一块砖”你搜“华为 eNSP 模拟器安装教程”,点开一堆页面,十有八九开头就是“本文将详细介绍……”“随着网络技术发展……”,然后贴几张模糊截图、复制粘贴几行命令,最后戛… · 2026/9/25 18:41:17
飞牛OS密码重置实战:Linux底层认证干预指南 1. 飞牛OS密码重置:这不是系统崩溃,而是运维基本功飞牛OS——这个在私有云、边缘计算和NAS场景里越来越常见的国产轻量级操作系统,最近半年在中小IT团队和极客用户中热度明显上升。它基于Linux内核,界面清爽、资源占用低、对老旧硬… · 2026/9/25 18:41:17
基于MATLAB的MIMO系统FLMS频域自适应均衡仿真与排坑指南 做MIMO仿真经常会遇到一种很尴尬的情况:理论推导写了一大黑板,信道模型也照着论文搭了,结果均衡器在仿真里就是不收敛,MSE曲线要么一动不动,要么直接飞到天上去。最近我把基于MATLAB的MIMO系统FLMS算法仿真重新完整跑了… · 2026/9/25 18:41:17
小白程序员快速入门大模型:从生成内容到边界内高效工作(附完整技术栈) 本文深入解析了构建生产级AI系统的六个核心概念:大模型、Agent、Skill、MCP、Plugin和Harness,并阐述了它们各自的功能与层级。文章强调大模型虽负责“想”和“说”,但需Agent、Skill等协同以实现“做”。MCP作为连接工具与数据的协议&#x… · 2026/9/25 19:12:36
MSIX安装包详解:PowerShell命令行安装指南 1. MSIX安装包到底是什么?别再把它当成普通EXE来折腾了你是不是也遇到过这样的场景:从微软官方商店、GitHub项目页或者某家软件官网下载了一个后缀名是.msix或.msixbundle的文件,双击——没反应;右键“打开方式”——列表里压根没… · 2026/9/25 19:12:36
网络仿真:给网络AI一个可实践、可验证的安全沙盘 为什么我们要做网络仿真:给网络 AI 一个可实践、可验证的环境大约两年前,我在一次内部技术评审会上被问到这样一个问题:我们的 AI 模型在实验室里跑得好好的,为什么迟迟不敢放到现网?当时我的回答是:因为没… · 2026/9/25 19:12:30
Oracle汉字转拼音PL/SQL包:UTF8字符集支持与编译调用实战 简介:这是一款面向Oracle数据库开发与运维人员的汉字转拼音PL/SQL工具包,专门解决在UTF8编码环境下将汉字转换为拼音、首字母的文本处理需求,适用于数据分析、拼音索引构建及多语言文本检索等场景。压缩包内仅含1个SQL脚本文件,即… · 2026/9/25 19:12:30
【老计带你懂AI算法】05:SVM与KNN,一个死磕最优分界线一个干脆看邻居 【老计带你懂AI算法】05:SVM与KNN,一个死磕最优分界线一个干脆看邻居开头:两个画风清奇的分类器
前面几篇讲的线性回归、树模型,思路各有各的主流。这一篇的两位主角,思路都挺有个性,也都是机器学习课本里的… · 2026/9/25 19:12:24
Chunked Prefill 深度调优:平衡首字延迟与生成吞吐的黄金切片步长 Chunked Prefill 深度调优:平衡首字延迟与生成吞吐的黄金切片步长在大促长文本多轮对话、智能客服知识库检索(RAG)以及代码辅助等复杂业务场景中,推理集群经常面临一种极端的“负载撕裂”:一方面,大量在线交… · 2026/9/25 19:12:18
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37