首页/文章/ 详情

知识笔记 | 贝叶斯神经网络入门概要

4小时前浏览2

在数据驱动的故障诊断研究中,深度学习方法已广泛应用于工业过程的智能故障诊断,并取得良好性能。然而,基于点估计的故障诊断可能会提供不可信的决策。越来越多的专家学者开始关注一个重要问题:模型推理的“不确定性”该如何理解和处理?近年来,贝叶斯推理通过使用深度学习模型量化决策的不确定性,被证明是一种很有前景的可信故障诊断方法。贝叶斯方法,作为处理和量化模型不确定性的经典工具,在这一领域发挥着越来越重要的作用。本文将用简洁易懂的语言,带大家走进贝叶斯公式的世界,并逐步引出贝叶斯神经网络的核心原理。非常适合对机器学习、不确定性建模以及故障诊断感兴趣的读者。

1 贝叶斯公式

我们先来看看贝叶斯公式的基本形式:

 

其中,     是样本空间      的一个完备事件群(组),     为      中的一个事件。同时,     也被称为证据,     也被称为假设。即在证据存在的情况下,该公式用于推测某一假设发生的可能性。

对这个公式的通俗理解:(将事件      视为果,事件      视为因)

等号右边分母:事件      在所有可能的原因      下发生了;

等号右边分子:事件      和      同时发生;

等号左边:事件      (果)发生的原因正好是事件      这一情况的可能性。

2 贝叶斯公式的密度函数形式

 

贝叶斯理论的魅力,在于它不仅适用于简单事件的推断,还适用于连续空间中的参数建模。在密度函数公式中,可以将      理解为是生成      的本质参数,事物的本质也就是这个事物发生的原因。

    为参数空间,对应贝叶斯公式中的完备事件群(组),即      的所有可能性。

    为先验分布,即在抽取样本      之前对      的认识。

    表示在      存在的情况下,     被生成的可能性。

    为后验分布,代表一旦获取样本后,人们对      的认识发生变化和调整。贝叶斯学派的观点看,获取后验分布      后,一切统计推断都必须从      出发。

    为边缘分布,也是计算贝叶斯公式的难点,因为现实中多数情况下难以获取到所有      。换句话说,边缘化整个参数空间,通常是不可能的。(备注:边缘化是指累加一个变量的可能值)

贝叶斯推理通常采用的近似推理技术有蒙特卡罗法、变分推理等。(备注:蒙特卡洛指建立一个概率模型或随机过程,使它的参数或数字特征等于问题的解,然后通过对模型或过程的观察或抽样试验来计算这些参数或数字特征,这样就可以获得参数的近似值)

3 贝叶斯与建模

我们通过机器学习方式在已有数据上构建的模型,为的是寻找一个模型,这个模型在拟合或生成该数据集方面有多好。

 

    表示单一模型拟合数据的可能性,可能性越大,代表这个模型越好。

    表示所有可能参数设置下的模型对数据的拟合效果,即模型的整体效果,也等于数据的可能性。

我们假设通过某种方式已经求出了     ,很明显就可以知道在拟合数据      上,哪一个模型更好用。这种操作即最大后验估计,但也只得到一个点估计,完全浪费了贝叶斯理论。

4 贝叶斯与模型集成

成熟的贝叶斯方法是完全预测分布:

 

即考虑了所有参数设置的模型,通过      和     ,直接求得     。      中的      为通过数据得到的某一具体参数的模型,      表示某一具体参数的模型下的权重。      为某一模型的预测标签概率。这样的操作称为贝叶斯模型平均。

实际中我们做不到完全预测分布,那可以做近似预测分布,称为预测分布的蒙特卡洛近似!只需要依据训练集      建模出权重分布      ,就可以依据蒙特卡洛方法,采样      个服从      分布的样本(这里的背景下,样本指模型),计算     。这与深度模型集成的理念完全一致。

5 贝叶斯神经网络

贝叶斯神经网络(Bayesian Neural Network, BNN)是什么?(1)一种后验推理;(2)应用于神经网络架构。BNN 用一个概率分布来表示网络中的每一个权重参数,而不是确定的数值。

贝叶斯神经网络在求解后验的问题上,采取方式是用分布      逼近     

那么此时的      就是高斯分布参数(这里对应贝叶斯神经网络的一个假设)

具体操作是最小化两个分布的KL散度:

 

将神经网络的权重参数设定为高斯分布参数,且权重相互独立。最终优化目标转化为      在贝叶斯神经网络下的损失函数:(推导过程可参考https://blog.csdn.net/dhaiuda/article/details/106383465)

 


6 故障诊断研究案例

案例研究贝叶斯深度学习框架下的可信故障诊断方案。该案例通过贝叶斯深度学习框架的优势量化样本的不确定性,并引入模型学习过程,提高故障诊断精度。原案例文章可通过点击最左下角的阅读原文进行在线阅读及下载。在工业故障诊断中,多种因素导致了深度学习模型的不确定性,包括数据固有噪声、数据收集不足、故障类别重叠以及训练集和测试集之间的差异。深度学习提供的不确定性可以指示诊断结果是否值得信赖,并提醒专家做出谨慎的决策。因此,量化不确定性并提高诊断结果的可信度是可取的。近年来,贝叶斯神经网络的研究已应用于健康监测,以评估诊断输出的可信度并识别未见故障。然而,贝叶斯神经网络的通用训练过程会平等对待每个样本,无论不确定样本是否经过良好学习。不确定样本对于深度模型来说也是难以学习的样本,这会损害诊断结果的可靠性并增加维护决策的难度。

文章提出了一种具有不确定性反馈机制的贝叶斯层次图神经网络 (Bayesian Hierarchical Graph Neural Networks,BHGNN),用于工业过程的可信故障诊断。具体而言,将变分丢弃法引入 BHGNN 模型,以量化认知不确定性和随机不确定性。然后,将不确定性作为反馈,调整时间一致性 (Temporal Consistency, TC) 损失函数和故障监督损失函数的权重值,使不确定性较高的样本的特征表示与时间序列中相邻样本的平均特征相似。

图1 BHGNN框架

BHGNN 模型是通过 dropout 变分推理进行学习的,案例中,BHGNN 模型遵循异方差噪声假设,即观测噪声可以随输入数据而变化,而不是整个数据集的观测噪声为恒定值。异方差模型可以判断数据的哪部分可能具有更高的噪声。为了捕捉异方差不确定性,假设观测噪声与数据相关,并且可以作为数据的函数进行学习。因此,BHGNN 同时包含均值和方差输出:


其中,    取自 BHGNN 模型的变分分布    。在 BDL 框架下,当给定一个图      评估      时,对 BHGNN 模型进行      次随机前向传递,用于训练和测试过程。模型均值输出通过 softmax 函数压缩以进行分类,    ;在方差输出层应用 softplus 激活函数,以保证正域中方差的有效值     。因此,样本预测不确定性可以实现为:

 


将计算的不确定性作为样本不确定性,以此为基础,加入到神经网络训练loss中,学习难学习的样本。

 



编辑:任超

校核:李正平、陈凯歌、赵栓栓、赵学功、白亮、曹希铭、冯珽婷、陈宇航、陈莹洁、王金、赵诚、肖鑫鑫

来源:故障诊断与python学习
旋转机械通用python理论数字孪生试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-05-05
最近编辑:4小时前
故障诊断与python学习
硕士 签名征集中
获赞 77粉丝 106文章 190课程 0
点赞
收藏
作者推荐

DeepSeek PHM实战:3个案例告诉你,如何用AI一键生成维修指南!

💡 各位读者们注意啦!上期的《DeepSeek学习资料分享》大家都get到了吗?还没看的速速上车👉戳DeepSeek学习资料分享 | 第2期直达。 🌟 本期干货预警!DeepSeek在工业领域的故障预测与健康管理(PHM)技术实战案例分享!目录1 案例一 1.1 故障现象(机床电机故障)1.2 案例来源1.3 DeepSeek分析1.4 人为检查故障结论1.5 结论对比2 案例二2.1 故障现象(泵叶轮磨损故障)2.2 案例来源2.3 DeepSeek分析2.4 人为检查故障结论2.5 结论对比3 案例三3.1 故障现象(船舶发电机故障)3.2 案例来源3.3 DeepSeek分析3.4 人为检查故障结论3.5 结论对比4 指令优化秘籍5 总结1 案例一1.1 故障现象(机床电机故障)CQ6230轻型车床,运行中出现电机过热,主轴转动无力,伴随较大的振动和噪声。1.2 案例来源 https://baijiahao.baidu.com/s?id=1768598558332145715&wfr=spider&for=pc 1.3 DeepSeek分析 输入指令故障现象:CQ6230轻型车床,运行中出现电机过热,主轴转动无力,伴随较大的振动和噪声。分析结果1.4 人为检查故障结论初步检查三相电源电压正常,按照先机损后电路原则,拆下主轴电机传动皮带,手动转动电机,发现在转到某一特殊角度时有明显擦刮现象。打开电机,发现电机一端轴承严重损坏,导致转子偏心和定子铁芯相擦。更换轴承,并对定子铁芯修刮后重新浸漆,故障修复。 1.5 结论对比 DeepSeek在故障原因分析的第一部分提到了电机轴承损坏的可能性,可能导致电流异常和机械摩擦。同时在排查步骤中也提到了检查轴承状态,手动旋转是否有卡顿或异响,以及更换轴承的建议。 人工的实际处理步骤是先检查电源,然后机械部分,拆下皮带后测试电机,发现轴承问题。DeepSeek建议里也提到了断开电源检查电机轴是否卡滞,测量绝缘电阻,运行中检测电流等,这些步骤和人工的操作是一致的。 总体来说,DeepSeek的分析在故障原因和排查步骤上基本正确,覆盖了轴承问题,但可能在具体部件的区分(电机轴承与主轴轴承)以及定子修复方面不够详细。人工的实际操作验证了轴承损坏是主要原因,DeepSeek的建议虽然提供了正确的排查路径,帮助人工定位问题,但无法更精准地区分不同部件的可能性,并补充定子修复的步骤。2 案例二2.1 故障现象(泵叶轮磨损故障)泵长期以来稳定运行,各方向振动幅值在3mm/s以下,12月3日后泵振动缓慢增加至6mm/s左右。泵驱动端及非驱动端速度频谱中主要振动频率均为叶片通过频率63Hz及其谐频成分。 2.2 案例来源https://baijiahao.baidu.com/s?id=1763677487937342080&wfr=spider&for=pc2.3 DeepSeek分析输入指令泵长期以来稳定运行,各方向振动幅值在3mm/s以下,12月3日后泵振动缓慢增加至6mm/s左右。泵驱动端及非驱动端速度频谱中主要振动频率均为叶片通过频率63Hz及其谐频成分。 分析结果2.4 人为检查故障结论振动速度是在长期运行中逐渐爬升起来的,这就可以排除管道流阻的设计问题。初步判断为叶轮流体问题导致,因此决定对泵进行解体检查,结果发现:泵叶轮等过流件磨损严重。更换过流件部件后,泵振动恢复正常,振动速度降至3mm/s以下。2.5 结论对比DeepSeek列出导致故障发生可能的原因,包括叶轮磨损、气蚀、流量偏离、管道共振、叶轮松动和轴承问题。人工检查后的实际故障是叶轮磨损,在DeepSeek的分析中被列为最可能的原因之一,特别是叶轮磨损或异物附着导致动态失衡,进而激发叶片通过频率的振动。这点与实际情况吻合。 人工检查中实际进行了解体检查,直接发现叶轮磨损,DeepSeek给出的建议包括检查运行参数、叶轮状态、频谱细化分析、管道支撑和轴承检测。最终的实际解决方法是更换过流部件,与DeepSeek给出的解决方案中清理叶轮或更换磨损叶片的建议符合。 总体来说,DeepSeek分析在主要故障原因和排查步骤上与实际情况一致。3 案例三3.1 故障现象(船舶发电机故障)船舶发电机故障:1号发电机故障,6月24号上午,船上值班轮机员发现1号发电机电压过低,故障原因不明。轮机长检查后发现原动机转速稳定,但电压不稳定,于是紧急起动2号发电机承载负荷,并将1号发电机解列后重启,但依然没有排除故障。3.2 案例来源https://www.thepaper.cn/newsDetail_forward_302142953.3 DeepSeek分析输入指令轮船1号发电机电压过低,故障原因不明,轮机长检查后发现原动机转速稳定,但电压不稳定,于是紧急起动2号发电机承载负荷,并将1号发电机解列后重启,但依然没有排除故障。请分析1号发电机故障发生的主要原因。 分析结果 3.4 人为检查故障结论 经海事执法人员和修理工程师现场初步检查,怀疑1号发电机AVR(电压调节器)故障。在拆卸发电与励磁控制箱并检测后发现AVR(电压调节器)工作正常,但是励磁线圈输出电压不稳定。随后打开1号发电机盖板检查,发现联轴器震动较大,于是决定继续拆卸发电机上端励磁组。检查励磁线圈后发现励磁线圈擦伤严重,经测量励磁线圈对地绝缘电阻为26欧姆,远低于正常值。进一步拆卸发现发电机轴承损坏。3.5 结论对比 DeepSeek的分析中明确将励磁线圈故障 (如绝缘下降、短路)和机械连接问题 (联轴器震动)列为可能原因,与人为检查的故障结论中“励磁线圈擦伤、绝缘电阻低”以及“联轴器震动”高度吻合,但deepseek的分析未明确将轴承损坏作为独立潜在原因列出。在该案例中,轴承损坏是引发联轴器震动、转子偏心及励磁线圈擦伤的根本原因。 4 指令优化秘籍想要DeepSeek秒变“老师傅”?输入指令记住这3个【黄金法则】 1️⃣ 现象具象化 ❌ 劣质输入:"设备震动大" ✅ 优质输入:"垂直方向振动值从2mm/s升至6mm/s,1250Hz频段能量占比超30%" 2️⃣ 状态全景描述 ❌ 劣质输入:"机器不工作了" ✅ 优质输入:"急停前负载率85%,变频器报Err05,油温68℃(正常范围<60℃)" 3️⃣ 数据对比锚点 ❌ 劣质输入:"温度有点高" ✅ 优质输入:"轴承座温度较同工况历史均值+22℃,且温升速率快3倍" 自动化模板推荐 [设备类型]:________(如离心泵/数控机床) [异常现象]:________(数值变化+感官描述) [关联参数]:________(振动/温度/电流等监测值) [对比基准]:________(历史数据/同类设备参照值) [特殊工况]:________(是否超负荷/环境突变等) 5 总结结合3个故障诊断实际案例,DeepSeek在输入大概的故障现象指令下,无需大量的先验知识,可以给出主要的故障原因及操作步骤,与实际故障结论对比存在较高的相似性,给出的维修的步骤与人为操作步骤一致,可以有效提高故障诊断与故障维修的效率。 DeepSeek受限于提示指令,指令越详细给出的故障原因越准确,如何总结合适的故障诊断指令,细化输入文本,基于现有PHM(故障预测与健康管理)监测技术,自动触发数据关联分析(如自动关联同期振动频谱、温度梯度曲线), 快速详细对故障进行反应总结,缩短故障维修反应时间,可使DeepSeek诊断准确率大幅提升 。编辑:肖鑫鑫校核:李正平、陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、海洋、Tina、陈宇航、陈莹洁、王金、赵诚该文案例资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除来源:故障诊断与python学习

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈