本周文件交换选择

我们最好的用户反馈

工业机械异常检测

Rachel是MathWorks预测性维护的产品经理。

瑞秋这周的选择是使用自动编码器的工业机械异常检测她答应了!今天的选择是在使用深度学习的预测性维护在MATLAB EXPO 2021上的演讲。

你怎么知道一台机器是否运转正常?这就是本周的选择旨在回答的问题,通过使用深度学习来检测工业机器正常振动数据中的异常。异常检测有很多用途,但在以下方面特别有用预见性维护

这个例子以双向lstm自编码器的形式使用深度学习。这有点拗口,但它只是训练一个网络来重建“正常”的操作数据。这样,当我们给算法提供一些看起来不同的数据时,重构错误将表明存在问题——也许机器需要维护。自动编码器是一个很好的方法,尝试当你所有的肯定是“正常”的数据。

数据集由两部分组成:右侧数据之前维护时,数据从右而来维护。我们可以从逻辑上假设维护后的数据是“正常的”(也就是说,如果我们有一个称职的维护团队!)我们对之前的数据不太确定。

下面是数据集的两个样本成员,它们相互叠加在一起。

它不是在原始信号上进行训练,而是通常有助于提取能够更好地区分前后数据的特征。使用诊断特性设计器应用程序自动提取和排名功能,从所有的数据一次。然后,应用程序可以自动创建一个函数generateFeatures以编程的方式重做所有的工作。整洁!

trainFeatures = generateFeatures(trainData);

这是biLSTM自动编码器。

featureDimension = 1;%定义biLSTM网络层layers = [sequenceInputLayer(featureDimension,“名字”“在”) bilstmLayer (16“名字”“bilstm1”) reluLayer (“名字”“relu1”) bilstmLayer (32,“名字”“bilstm2”) reluLayer (“名字”“relu2”) bilstmLayer (16“名字”“bilstm3”) reluLayer (“名字”“relu3”) fullyConnectedLayer (featureDimension“名字”“俱乐部”) regressionLayer (“名字”“出”));

自动编码器的工作原理是这样的:在正常数据上训练网络。如果你把正常数据传递给它,它就能很好地重建它。如果你传递给它一些看起来不正常的东西,它将无法重建它,你将能够在重建误差中看到这一点。

训练网络从每个通道中排名前四的特征-仅从正常(维护后)数据。

通过选择合适的重建误差阈值,该算法可以非常准确地识别异常。在这种情况下,我们有一些我们知道是异常的测试数据,所以我们可以明确地测试算法的准确性。很好!

在您自己的数据上尝试这种方法,看看您的想法在评论中



发布与MATLAB®R2021b

|
  • 打印
  • 发送电子邮件

댓글

댓글을남기려면링크를클릭하여MathWorks계정에로그하거나계정을새로만드십시오。