工业机械异常检测
Rachel是MathWorks预测性维护的产品经理。
瑞秋这周选的是使用AutoEncoder的工业机械异常检测她提交了!今天的精选是在利用深度学习预测维护在MATLAB EXPO 2021上发表演讲。
你怎么知道机器是否运转正常?这是本周的选择旨在回答的问题,通过使用深度学习来检测工业机器正常振动数据中的异常。异常检测有很多用途,但它在预见性维护。
本例以基于lstm的双向自动编码器的形式使用深度学习。这有点拗口,但它只是训练一个网络来重建“正常”的运行数据。这样,当我们向算法输入一些看起来不同的数据时,重构错误将表明存在问题——可能机器需要维护。当你确信所有的数据都是“正常”数据时,自动编码器是一个很好的方法。
数据集有两个部分:来自右侧的数据之前维护,数据从右后维护。我们可以在维护后逻辑上假设数据是“正常”(即,如果我们有一个称职的维护团队!)我们并不是如此肯定的数据。
这是数据集的两个样本成员,彼此顶部覆盖。
它不是对原始信号进行培训,通常有助于提取能够更好地区分数据之间和之后的功能。使用诊断特征设计师应用程序立即自动从所有数据中提取和排名功能。然后,该应用程序可以自动创建功能生成食物重做以编程方式重做。整洁的!
训练费用=生成食物(TrainData);
这是bilstm autoencoder。
featureDimension = 1;%定义biLSTM网络层图层= [sequentInputLayer(特色主动脉,'姓名'那'在') bilstmLayer (16'姓名'那“bilstm1”)剥离('姓名'那“relu1”)BilstMlayer(32,'姓名'那“bilstm2”)剥离('姓名'那'relu2') bilstmLayer (16'姓名'那'bilstm3')剥离('姓名'那'relu3')全连接列(特色,'姓名'那“俱乐部”)回归层('姓名'那'出去')];
AutoEncoder工作如下:在正常数据上培训网络。如果你然后通过它的正常数据,它就能够重建它真的很好。如果您通过它的某些不正常的东西,它将无法重建它,并且您将能够在重建错误中看到它。
从每个频道的前四个排名特征列出网络 - 从正常(维护后)数据中。
通过挑选重建误差的正确阈值,算法识别具有相当高精度的异常。在这种情况下,我们有一些我们知道的测试数据是异常的,所以我们可以明确地测试算法精度。非常好!
在您自己的数据上尝试此方法,看看您的想法在评论中。
发布MATLAB®R2021B
- 类别:
- 挑选
评论
要发表评论,请点击在这里要登录您的MathWorks帐户或创建新的。