工业机械异常检测
Rachel是MathWorks预测维护的产品经理。
雷切尔本周的选择是使用自动编码器的工业机械异常检测她提交的哪个!今天的选择是出现的使用深度学习的预测性维护在Matlab Expo 2021谈话。
你如何知道机器是否正常运行?这是本周选择的问题旨在通过使用深度学习来验证来自工业机器的正常振动数据中的异常。异常检测有很多用途,但它特别有用预测维护.
此示例使用基于双向LSTM的AuteNiCoder的形式深入学习。这是一口,但它只是训练网络来重建“正常”的操作数据。这样,当我们向算法提供一些看起来不同的数据时,重建错误将指示存在问题 - 也许机器需要维护。AutoEncoders是一个很好的方法,以确定所有您确保的“正常”数据。
数据集有两部分:右侧的数据前维护,数据从右后维护。我们可以在逻辑上假设维护后的数据是“正常的”(也就是说,如果我们有一个称职的维护团队!)我们对之前的数据不是很确定。
这里有两个数据集的样本成员相互叠加。
与对原始信号进行训练相比,它通常有助于提取能够更好地区分前后数据的特征。使用诊断功能设计应用程序自动提取和排名功能,从所有数据一次。然后,应用程序可以自动创建一个功能generateFeatures以编程方式重做这些工作。整洁!
trainFeatures = generateFeatures (trainData);
这是那个biLSTM自动编码器。
FeatureMension = 1;%定义Bilstm网络层[sequenceInputLayer(featureDimension,“名字”,“在”)Bilstmlayer(16,“名字”,'bilstm1') reluLayer (“名字”,'relu1') bilstmLayer (32,“名字”,“bilstm2”) reluLayer (“名字”,“relu2”)Bilstmlayer(16,“名字”,“bilstm3”) reluLayer (“名字”,“relu3”) fullyConnectedLayer (featureDimension“名字”,'fc') regressionLayer (“名字”,“出”));
自动编码器的工作原理是这样的:用普通数据训练网络。如果你把正常数据传递给它,它就能很好地重建它。如果你传递给它一些看起来不正常的东西,它将无法重建它,你将能够在重建错误中看到。
从每个通道训练网络的前四位特征-仅从正常(维护后)数据。
通过选取合适的重构误差阈值,该算法能很好地识别异常。在这种情况下,我们有一些我们知道是异常的测试数据,所以我们可以明确地测试算法的准确性。很好!
在你自己的数据上试试这个方法,看看你是怎么想的在评论里.
发布与MATLAB®R2021b
- カテゴリ:
- 选择
コメント
コメントを残すには,ここをクリックしてmathworksアカウントにサインインするか新闻Mathworksアカウントを作品成します。