机器都会有故障和失灵。确定设备的状况或维护计划何时应该执行,是影响成本和生产力的极其战略性的决定。
机器学习方法已经成为一种很有前途的工具,在预测维修应用,以防止故障在生产线。然而,这些解决方案的性能取决于适当的数据分析和选择正确的分析方法。
在这篇文章中,我们面临着与之前其他相关文章一样的预测维护任务:使用CNN进行预测维护,使用CRNN进行预测维护。这里的特殊性在于,我们只使用一个单一的高频信号源来产生我们的最终预测。基于Mel-Frequency Cepstral Coefficients (MFCCs)的特殊变换是提取信号特征的基础。这一步使我们可以采用残差卷积神经网络结构,它学习我们数据的正确隐藏结构。
数据
我们的任务是研究压力条件下的液压管道。数据由UCI存储库收集(https://archive.ics.uci.edu/ml/datasets/Condition+monitoring+of+hydraulic+systems)。在液压系统的状态监测中,跟踪系统各部件的活动状态。
该数据集是在液压试验台上实验获得的。该试验台由主工作回路和二次冷却过滤回路通过油箱连接而成。当四个液压元件(冷却器、阀门、泵和蓄能器)的状态发生定量变化时,系统循环重复恒定的负载循环(持续60秒)并测量过程值,如压力、体积流量和温度。
更准确地说,我们关注于监控整个系统的状态(通过稳定标志标识为稳定或不稳定),分析电机功率。这个KPI由一个以100hz的采样率登记信号的单个传感器监控。
我们试图对时间序列切片进行分类,其形状类似于下图。
使用一阶差分对原始信号进行标准化,并对原始信号进行剪切以限制异常值。通过这种方式,标准化信号被用于生成MFCCs。
MFCCs通常衍生如下:
- 对原始信号进行傅里叶变换;
- 将上述光谱的幂次映射到mel-scale上;
- 对mel-log幂进行离散余弦变换;
- MFCCs是产生的光谱的振幅。
在音频分析中看到它们的应用很常见,但我们在这里利用它们处理高频数据的能力。
模型
如前所述,我们使用基于卷积的网络来预测液压管道的系统状态。我们在卷积块中加入一些使用剩余跳跃连接的捷径。
更深层次的网络更难优化。在网络中增加额外的层次,我们增加了训练过程的难度。对于我们的优化算法来说,使损失最小化变得更加困难。剩余结构试图通过添加跳过连接来解决此问题。跳过连接添加从网络中的一个初始点到转发点的映射。如果网络不能学习更多的东西,网络的权值将保持不变,否则,如果进行了改进(在损失或度量优化中),网络权值将随之改变。
下面是一个残差块的例子,我们可以很容易地在我们的网络架构中使用。此外,根据问题的需要,层的数量、激活函数或内核大小可能会有不同的变化。在使用这种块时,唯一必须不变的是它内部的维度。在我们的示例中,我们小心地在卷积操作中操作padding,并使初始维数等于操作最终连接的最新卷积层。
def residual_block(init, hidden_dim): init = Conv1D(hidden_dim, 3, activation=’relu’, padding=”same”)(init) x = Conv1D(hidden_dim, 3, activation=’relu’, padding=”same”)(init) x = Conv1D(hidden_dim, 3, activation=’relu’, padding=”same”)(x) x = Conv1D(hidden_dim, 3, activation=’relu’, padding=”same”)(x) skip = Add()([x, init]) return skip
我们将我们的方法与一个假基线进行比较,假基线包含我们的测试样本总是属于测试数据中的大多数类(稳定条件)。我们的网络在不可见测试数据上达到87%的精度。这是一个很好的结果,与我们的基准相比有了很大的改进,基准的精确度为66%。
总结
在这篇文章中,我们执行了一项预测性维护任务。更详细地预测了仅考虑发动机功率的液压试验台的一般情况。考虑的信号具有高频特征,这就不可避免地要对我们的数据进行一些初步的处理。通过基于MFCC的特征提取过程,生成有价值的信息。产生的新信号被用于提供一个基于剩余连接的深度学习模型,从而产生最终的预测。
本文完整代码:https://github.com/cerlymarco/MEDIUM_NoteBook/tree/master/Predictive_Maintenance_ResNet