本周文件交换精选

我们最好的用户提交

工业机械异常检测

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帐户或创建一个新帐户。