工业机械异常检测
Rachel是MathWorks预测性维护的产品经理。
瑞秋这周选的是使用自动编码器的工业机械异常检测她提交了!今天的精选是在使用深度学习的预测性维护在MATLAB EXPO 2021上发表演讲。
你怎么知道机器是否运转正常?这是本周的选择旨在回答的问题,通过使用深度学习来检测工业机器正常振动数据中的异常。异常检测有很多用途,但它在预见性维护.
本例以基于lstm的双向自动编码器的形式使用深度学习。这有点拗口,但它只是训练一个网络来重建“正常”的运行数据。这样,当我们向算法输入一些看起来不同的数据时,重构错误将表明存在问题——可能机器需要维护。当你确信所有的数据都是“正常”数据时,自动编码器是一个很好的方法。
数据集有两部分:右侧的数据之前维护,数据从右后维护。我们可以在逻辑上假设维护后的数据是“正常的”(也就是说,如果我们有一个称职的维护团队!)我们对之前的数据不是很确定。
这里有两个数据集的样本成员相互叠加。
与对原始信号进行训练相比,它通常有助于提取能够更好地区分前后数据的特征。使用诊断功能设计应用程序自动提取和排名功能,从所有数据一次。然后,应用程序可以自动创建一个功能generateFeatures以编程方式重做这些工作。整洁!
trainFeatures = generateFeatures (trainData);
这是那个biLSTM自动编码器。
featureDimension = 1;%定义biLSTM网络层[sequenceInputLayer(featureDimension,“名字”,“在”) bilstmLayer (16“名字”,“bilstm1”) reluLayer (“名字”,“relu1”) bilstmLayer (32,“名字”,“bilstm2”) reluLayer (“名字”,“relu2”) bilstmLayer (16“名字”,“bilstm3”) reluLayer (“名字”,“relu3”) fullyConnectedLayer (featureDimension“名字”,“俱乐部”) regressionLayer (“名字”,“出”));
自动编码器的工作原理是这样的:用普通数据训练网络。如果你把正常数据传递给它,它就能很好地重建它。如果你传递给它一些看起来不正常的东西,它将无法重建它,你将能够在重建错误中看到。
从每个通道训练网络的前四位特征-仅从正常(维护后)数据。
通过选取合适的重构误差阈值,该算法能很好地识别异常。在这种情况下,我们有一些我们知道是异常的测试数据,所以我们可以明确地测试算法的准确性。很好!
在你自己的数据上试试这个方法,看看你是怎么想的在评论里.
发布与MATLAB®R2021b
- 类别:
- 选择
评论
要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。