A New Deep Transfer Learning-based Online Detection Method of Rolling Bearing Early Fault
-
摘要: 近年来, 深度学习技术已在滚动轴承故障检测和诊断领域取得了成功应用, 但面对不停机情况下的早期故障在线检测问题, 仍存在着早期故障特征表示不充分、误报警率高等不足. 为解决上述问题, 本文从时序异常检测的角度出发, 提出了一种基于深度迁移学习的早期故障在线检测方法. 首先, 提出一种面向多域迁移的深度自编码网络, 通过构建具有改进的最大均值差异正则项和Laplace正则项的损失函数, 在自适应提取不同域数据的公共特征表示同时, 提高正常状态和早期故障状态之间特征的差异性; 基于该特征表示, 提出一种基于时序异常模式的在线检测模型, 利用离线轴承正常状态的排列熵值构建报警阈值, 实现在线数据中异常序列的快速匹配, 同时提高在线检测结果的可靠性. 在XJTU-SY数据集上的实验结果表明, 与现有代表性早期故障检测方法相比, 本文方法具有更好的检测实时性和更低的误报警数.Abstract: In recent years, deep learning techniques have been successfully applied to fault detection and diagnosis for rolling bearings. However, for online detection of incipient fault without system halt, these techniques still have some shortcomings such as insufficient feature representation of incipient fault and high false alarm rate. To solve such problems, this paper presents a new deep transfer learning-based online detection approach on the perspective of temporal anomaly detection. First, a new deep auto-encoder network with multi-domain transferring is proposed by constructing a new loss function with the maximum mean discrepancy regularizer and Laplace regularizer. This model can adaptively extract the common feature representation among the data of different domains, and effectively improve the feature difference between normal state and early fault state as well. Second, with the obtained feature representation, a new online detection model based on temporal anomaly pattern is proposed. By utilizing the permutation entropy of normal state of offline bearings to build an alarm threshold, this model can match quickly anomaly sequence of the online monitoring data, and then improve the detection reliability. The experimental results on the XJTU-SY bearings dataset demonstrates that the proposed approach obtains better real-time detection performance and lower false alarm rate compared to some state-of-the-art methods of incipient fault detection.
-
长时间运行的软件系统出现性能衰退、异常和错误增加甚至系统崩溃现象, 称为软件老化[1]. 软件老化是由于软件系统可分配资源匮乏、碎片化严重以及内部错误(如内存泄漏和未正确释放的线程)的长期积累造成的, 而这些错误在软件开发和测试阶段难以检测和消除[2]. 软件老化存在于安全关键软件系统中, 如航天器系统[3]、Android系统[4]和Web服务器[5]等. 云服务器系统的体系结构复杂, 系统内计算资源的申请和释放较频繁, 且云系统长期运行为用户提供服务, 因此云系统更易出现软件老化现象, 影响系统可用性并带来经济损失[6].
如图1所示, 云服务器中存在的软件老化现象主要表现为: 在系统负载整体保持不变的情况下, 云服务器内部资源消耗逐渐增加, 系统性能逐步下降. 当云服务器的资源消耗或性能衰退至系统不可接受状态, 即到达系统老化临界态, 设置老化阈值$ \delta $. 当云服务器系统的内部资源消耗超过阈值$ \delta $时, 系统随时可能发生故障, 需提前预测系统老化趋势, 并评估系统从任意时刻$ T_i $到达老化阈值前的剩余使用寿命(Remaining useful life, RUL), 从而可以及时采取系统预维护策略[7].
为避免软件老化, Huang等[8]提出了软件再生. 软件再生是一种主动预防性的容错技术, 通过清理系统运行环境, 重置系统内部状态, 以防止系统未来发生重大故障. 然而, 频繁的软件再生操作将会带来额外的系统开销, 因此需选择最佳时机进行软件再生.
为减少软件再生给系统带来的时间和资源消耗成本, 需要在系统到达老化阈值或发生重大故障前, 对软件老化趋势进行有效预测, 然后及时进行软件再生, 以降低运行风险与成本, 提高系统的可靠性和可用性. 现有的软件老化预测方法可分为基于状态模型的方法和基于数据度量的方法2类. 基于状态模型方法通常依据软件系统的运行状态, 采用Petri网[9]、马尔科夫(Markov)模型[10-14]、随机过程[15]和概率论[16]等数学工具建立系统状态转换模型, 然后计算最优的软件再生时间. 然而, 对实际软件系统很难建立精确的状态模型, 并且随着软件系统规模的增加, 该方法构建的状态空间模型亦呈指数级增长, 将导致状态空间爆炸[17].
目前, 基于数据度量的老化预测方法首先选取系统性能历史数据作为老化指标(如CPU使用率、空闲内存与交换区内存等), 然后设定系统老化阈值, 采取时间序列分析、机器学习等方法预测老化指标历史数据变化趋势, 在预测值到达老化阈值前采取软件再生. 时间序列分析法包括移动平均自回归模型(Auto-regressive integrated moving average, ARIMA)、滑动模型等预测方法, 如Yan等[18]提出通过整合移动平均自回归模型, 对Web服务器资源进行老化预测; Pereira等[19]提出指数平滑模型的软件老化预测方法. Cotroneo等[20]针对Linux系统, 提出基于线性回归和主成分分析的老化预测方法. Matos等[21]针对Eucalyptus云系统老化现象, 提出基于多阈值的时间序列预测方法, 该方法求解得到最优再生时机, 可减少停机时间. 郑鹏飞等[22]采用多元时间序列模型, 预测HelixServer VOD服务器系统老化. 但该类方法对数据量大且波动较大的数据, 难以提取数据特征, 因此预测精度较低. 机器学习方法包括神经网络、支持向量(Support vectors, SVs)机等, 如Islam等[23] 针对亚马逊EC2云系统, 采用神经网络和线性回归的方法, 预测系统资源的使用情况. Yan等[24]采用支持向量机对IIS服务器系统进行老化预测. Qiao等[25]针对安卓系统, 提出基于长短期记忆(Long short-term memory, LSTM)网络的老化预测方法. 然而该类算法在预测时间序列数据时, 需要经验给定模型中的超参数且计算复杂度高. 一些学者提出运用智能算法优化神经网络超参数来提高预测精度, 如Padhy等[26]在研究软件老化时, 采用进化算法优化系统性能参数阈值. Yan[27]基于萤火虫种群算法优化的神经网络模型进行老化预测. 但智能优化算法在网络训练过程中易陷入局部最优, 且收敛速度慢. 此外, Liu等[28]提出ARIMA与LSTM组合模型, 实现对Web服务器老化预测. 孟海宁等[29]提出ARI-MA和循环神经网络的组合模型, 对OpenStack云服务器进行老化预测, 解决了单一老化预测模型存在泛化能力弱、预测精度低的问题.
综上, 上述老化预测方法存在数据特征提取难、模型超参数选择难、计算复杂度高及收敛速度慢的问题. 本文面向云服务器系统, 提出基于支持向量和高斯函数拟合(Support vectors and Gaussian function fitting, SVs-GFF)的老化预测方法, 预测系统老化趋势, 评估系统的RUL, 以方便系统预运维人员在系统可用状态下计划再生时间, 从而优化系统运行效率, 并避免计划外重大故障的发生.
本文主要工作包括以下4点:
1)通过特征筛选与融合算法提取原始老化数据的统计特征指标, 捕获云服务器老化数据时间序列变化规律;
2)基于支持向量回归(Support vector regression, SVR)方法的稀疏性, 对云服务器老化特征指标进行数据拟合, 得到稀疏化后的SVs序列数据作为预测输入数据, 减少预测模型的计算复杂度;
3)考虑到稀疏化后SVs序列数据存在空间分布不均衡问题, 先对SVs序列数据进行基于密度的聚类, 依据聚类结果对SVs赋予不同权重信息, 再进行老化预测, 避免预测过程陷入局部最优, 提高预测收敛速度;
4)采用基于密度聚类的GFF方法拟合基于不同核函数的SVs序列, 得到对应多条老化曲线, 基于Fréchet距离优化算法选取最优老化曲线, 无需选择模型超参数, 避免人工干预.
1. 支持向量回归
支持向量回归是一种基于支持向量机的回归预测方法[30]. 设数据集$D= \{x_{i},y_{i}\}^{N}_{i=1}$, $x_{i}\in{\bf {R}}^{m}$, $y_{i}\;\in {\bf{R}},$ 其中$ m $为输入维度, $ N $为样本个数. 本文所研究的云服务器老化时间序列数据集, 对应地, $ x_{i} $为样本序号, $ y_{i} $表示老化数据值, 且$ m $=1. 采用SVR对数据集D中序列数据进行回归预测, 对应输入$ x_{i} $的预测值$ f(x_{i}) $可表示为:
$$ \begin{equation} f(x_i)=\langle{\boldsymbol{W}},x_i\rangle + b \end{equation} $$ (1) 式中, $\langle \cdot,\cdot \rangle$为内积函数, ${\boldsymbol{W}}$和$ b $为模型参数. $ {\boldsymbol{W}} $值可通过求解以下目标函数得到:
$$ \begin{split} &\min\dfrac{1}{2}\Vert {\boldsymbol{W}} \Vert^{2}+C\sum\limits_{i=1}^{N}(\xi_{i}+\hat{\xi_{i}})\\ & \rm{s.t.}\\ & y_{i}-f(x_{i})\leq \varepsilon'+\xi_{i}\\ & f(x_{i})-y_{i} \leq \varepsilon'+\hat{\xi_{i}}\\ & \xi_{i},\hat{\xi_{i}}\geq 0 \end{split} $$ (2) 式中, $ \Vert {\boldsymbol{W}}\Vert^{2} $=$\langle{\boldsymbol{W}},{\boldsymbol{W}}\rangle$, $ C $为正则化常数, $ \xi_{i} $和 $ \hat{\xi_{i}} $分别为上、下边界松弛变量, $\varepsilon'$为间隔边界, $ i=$1, 2$, \cdots , N$.
2. 高斯函数拟合
高斯函数拟合(Gaussian function fitting, GFF)是对序列数据进行函数逼近的非线性拟合方法, 其中高斯函数参数物理意义明确、计算复杂度低[31]. 对于数据集$D =\{x_{i},y_{i}\}^{N}_{i=1}$, 输入$ x_{i} $和预测值$ f(x_{i}) $间的关系为:
$$ \begin{equation} f(x_{i})=\alpha \times {\rm{exp}}\left\{{-\frac{(x_{i}-\beta)^2}{2\sigma^{2}}}\right\}+\gamma \end{equation} $$ (3) 式中, $ \alpha $、$ \beta $、$ \sigma $和$ \gamma $分别为高斯函数的峰值、峰值位置、半宽度信息和偏置.
对云服务器老化曲线进行拟合即需求最优的参数$ \alpha^{*} $、$ \beta^{*} $、$ \sigma^{*} $和$ \gamma^{*} $, 使函数$ f(x) $与老化曲线匹配.
3. SVs-GFF老化预测方法
本文提出的基于SVs-GFF的云服务器老化预测方法框图见图2. 首先, 提取云服务器老化数据的统计特征指标, 并对特征指标进行筛选并融合; 其次, 采用具有不同核函数的SVR对老化特征指标进行数据稀疏化, 获得多组支持向量SVs序列; 然后, 采用密度聚类的GFF方法对SVs进行拟合, 得到不同核函数下云服务器的老化曲线, 并基于Fréchet距离优化算法选取最优老化曲线; 最后, 通过老化阈值评估云服务器的RUL, 以判定云服务器何时老化.
3.1 数据特征处理
本文以云服务器系统性能参数时间序列作为原始老化数据集D, 为获取云服务器老化数据的变化特征, 首先提取D中样本的统计特征指标(包括均方根、峰度、偏斜度和峰值因子等)[32], 记为$\{{\boldsymbol{f}}^{i}\}^{M}_{i=1}$, 其中$ {\boldsymbol{f}}^{i} $=$ \{f^{i}_{1},f^{i}_{2}, $$\cdots ,$$ f^{i}_{n}\} $且$ n $=$ {N}/{l} $, $ M $为统计特征指标类别数, $ N $为D中样本个数, $ l $为提取统计特征指标时滑动窗口长度.
根据文献[33]相关研究, 当软件系统出现老化时, 系统性能参数数据序列呈显著单调性趋势(例如可用内存具有单调下降趋势). 本文首先基于单调性算法, 筛选与云服务器系统老化关联关系强(即单调性强)的统计特征指标, 剔除单调性较弱的统计特征指标; 然后, 对筛选后的指标进行融合. 具体过程见算法1.
算法1. 基于统计特征指标筛选与融合算法
输入. 统计特征指标数据集$ \{{\boldsymbol{f}}^{i}\} $.
输出. 筛选与融合后的统计特征指标集$ \overline{f} $.
1) 给出云服务器统计特征指标数据集$ \{{\boldsymbol{f}}^{i}\}^{M}_{i=1} $的差分序列数据集$ \{diff^{i}\}^{M}_{i=1} $;
2) 计算云服务器统计特征指标$ {\boldsymbol{f}}^{i} $的单调度: $\Delta_{i}= \lvert NumL^{i}-NumS^{i}\rvert\times N/l$, 其中$ NumL^{i} $为差分序列 $ diff^{i} $中大于零元素的个数, $ NumS^{i} $为$ diff^{i} $中小于零元素的个数; 并计算单调度阈值: $ \lambda $=$ \sum^{M}_{i=1}\Delta_{i}/{M} $+$\sigma'$, 其中$\sigma'$为单调度集合$ \{\Delta_{1},\Delta_{2},\cdots ,\Delta_{M}\} $的标准差;
3) 筛选统计特征指标, 若统计特征指标$ {\boldsymbol{f}}^{i} $的单调度$ \Delta_{i}<\lambda $, 则删除统计特征指标$ {\boldsymbol{f}}^{i} $, 剩余的统计特征指标为筛选后的统计特征指标集$ \{{\boldsymbol{f}}^{i}\}^{L}_{i=1} $, 其中$ L\le M $;
4) 融合统计特征指标, 先进行去数据中心化处理: $ {\boldsymbol{f}}^{i} $=${\boldsymbol{f}}^{i}-\sum_{j=1}^{n} f^{i}_{j} / n$, 其中$ n $为$ {\boldsymbol{f}}^{i} $的长度;
5) 计算统计特征指标集$ \{{\boldsymbol{f}}^{i}\}^{L}_{i=1} $的协方差矩阵$ {{\boldsymbol{XX}}^{\rm{T}}}/{L} $, 并进行特征值分解, 其中$ {\boldsymbol{X}} $=$ \{ {\boldsymbol{f}}^{i}\}_{i=1}^{L} $;
6) 选取协方差矩阵中特征值最大的特征向量所对应的单位向量$ \mathit{\boldsymbol{\omega}} $;
7)输出融合后的统计特征指标集: $\overline{\boldsymbol f}=\mathit{\boldsymbol{\omega}}\times{\boldsymbol{X}}$.
3.2 基于SVR的数据稀疏化处理
对于第3.1节筛选并融合后的统计特征指标序列$ \overline{f} $, 采用SVR进行拟合, 确定统计特征指标各数据点的重要性, 保留满足重要性要求的数据点, 得到支持向量SVs序列, 即统计特征指标数据的稀疏化处理结果.
具体方法是, 对SVR的目标函数式(2)优化时进行判断, 若特征指标$ x_{i} $满足$y_{i}-f(x_{i}) -\xi_{i} \geq \varepsilon'$或$f(x_{i}) - y_{i} -\hat{\xi_{i}}$$ \geq $$\varepsilon'$, 则$ x_{i} $为支持向量. 将得到的支持向量序列记作${ {\rm{SVS}}}$=$ \{(x_{i},y_{i})\}^{h}_{i=1} $, 其中$ h $$ \ll $$ n $. 显然, ${\rm{SVS}}$为统计特征指标数据集的子集, 且通过SVR对统计特征指标数据进行稀疏化处理, 得到的SVs为保留老化趋势特征的统计特征指标, 可表示老化趋势的主要变化特征. 因此, 本文后续通过支持向量序列预测数据变化趋势, 根据数据变化规律评估系统状态跃迁老化阈值的时间间隔.
3.3 基于密度聚类的GFF老化曲线拟合
第3.2节稀疏化后的统计特征指标数据序列即支持向量SVs序列, 其样本点在空间分布不均衡, 以云服务器系统响应时间数据序列为例, 如图3所示, 阴影区域的支持向量分布较为密集, 带黑色箭头支持向量位置较远, 可看作离群点.
鉴于SVs序列样本空间中存在离群支持向量点, 若直接对SVs序列进行预测, 则算法可能会陷入局部最优. 考虑到K-均值等聚类算法对离群点噪声敏感[34], 本文首先用DBSCAN (Density-based spatial clustering of applications with noise)算法(一种基于密度的空间聚类算法)对支持向量进行聚类. 根据SVs序列数据的分布密度情况, 对不同类中支持向量赋予相应权重, 支持向量越密集, 赋予权值越大; 反之, 支持向量越稀疏, 赋予权值越小. 其中离群支持向量赋予最小权值.
然后采用GFF方法对聚类后SVs序列进行拟合, 其误差函数使用Huber函数如下:
$$ \begin{equation} J_\delta\left(y_i,f\left(x_i\right)\right)=\begin{cases}\ \dfrac{1}{2}p_{i}(a_{i})^{2}, & \lvert a_{i} \rvert \le v \\ \ p_{i}v\lvert a_{i} \rvert - \dfrac{1}{2}v^{2}, & \lvert a_{i} \rvert > v \end{cases} \end{equation} $$ (4) 式中, $ y_{i} $和$ f(x_{i}) $分别为支持向量的真实值和预测值, $ a_{i} $为预测误差值且$ a_{i} $=$y_{i} - f(x_{i})$, $ v $为误差阈值. $ p_{i} $为SVs权重, 依据聚类结果, $ p_{i} $计算方法为:
$$ \begin{equation} p_{i}=\frac{\lvert C \rvert \lvert C_{i} \rvert}{\sum\limits_{j=1}^{\lvert C \rvert} \lvert C_{j} \rvert ^{2}} \end{equation} $$ (5) 式中, $ \lvert C \rvert $为类别数, $ \lvert C_{i} \rvert $为第$ i $类中样本的个数.
基于密度聚类的GFF算法进行老化曲线拟合的具体过程见算法2.
算法2. 基于密度聚类的GFF老化曲线拟合算法
输入. 支持向量序列${ {\rm{SVS}}}=\{(x_{i},y_{i})\}_{i=1}^{h}$.
输出. 老化曲线$ \hat{s} $.
1)从支持向量序列${\rm{SVS }}$中任意选取一个支持向量样本$ f_{i} $.
2) 统计支持向量样本$ f_i $的$\varepsilon\text{-}$邻域 $ N_{\varepsilon}(f_{i}) = \{f_{j} \in D|d(f_{i},$ $f_{j}) \leq \varepsilon\}$, $ d(\cdot,\cdot) $为欧氏距离函数, $ \varepsilon $为距离阈值.
3) 判断样本$ f_i $的$\varepsilon \text{-}$邻域包含的支持向量个数是否满足$ \lvert N_{\varepsilon}(f_{i})\rvert $$ \geq $$ MinPts $. 若满足条件, 则$ f_i $为核心样本. 其中MinPts为样本$ f_i $的$ \varepsilon\text{-} $邻域最小样本数.
4)建立以$ f_i $为核心样本的类$ C_i $.
5) 遍历$ N_{\varepsilon}(f_{i}) $中的支持向量, 若$ f_j $属于核心样本, 则令$ C_{i} $=$ C_{i}\cup N_{\varepsilon}(f_{j}) $.
6) 对所有的支持向量, 重复步骤1) ~ 5), 得到聚类结果$ C $=$\{C_{1},C_{2},\cdots ,C_{k}\}$.
7)基于$ C $和式(5), 计算支持向量$ f_i $的误差权重$ p_{i} $.
8)基于步骤7)和式(4), 计算误差$ J $函数值.
9) 得到式(3)中最优参数$ \alpha^{*} $、$ \beta^{*} $、$ \sigma^{*} $和$ \gamma^{*} $, 即得到基于密度聚类的GFF算法拟合的老化曲线.
3.4 基于Fréchet距离优化算法的老化曲线选取
基于不同核函数对统计特征指标序列进行数据稀疏化, 采用第3.3节基于密度聚类的GFF方法对稀疏化后数据进行拟合, 得到多条老化曲线, 本文基于Fréchet距离优化算法选取其中最优老化曲线.
Fréchet距离优化算法是一种路径空间相似性描述方法, 相较欧氏距离, 其考虑曲线点的位置和方向, 可度量曲线间相似度[35]. 计算任意两条数据曲线$ S $和$ \hat{S} $的Fréchet距离如下:
$$ \begin{equation} \delta(S,\hat{S})=\inf\limits_{\zeta,\psi}\max\limits_{x \in [0,1]}\{d(S(\zeta(x)),\hat{S}(\Psi(x)))\} \end{equation} $$ (6) 式中, $ \zeta(\cdot) $和$ \Psi(\cdot) $为非减实数函数, 且$\zeta(0)=\Psi(0)= 0$, $ \zeta(1)=\Psi(1)=1 $.
若两条数据曲线的Fréchet距离越小, 则表明曲线越相似. 因此, 本文选取Fréchet距离最小的老化曲线作为最优老化曲线, 用于预测云服务器的老化趋势.
3.5 云服务器老化预测方法及流程
设置云服务器老化阈值为$ \delta $, 当系统性能指标数据预测值超过阈值$ \delta $时, 则云服务器进入老化状态. 基于第3.4节得到的最优老化曲线, 计算云服务器到达老化阈值$ \delta $前的RUL, 即得到从当前时刻$ T_{k} $到云服务器发生老化的时间, 从而决定何时进行软件再生.
云服务器在时刻$ T_{k} $的RUL的计算方法为[36]:
$$ \begin{equation} L(T_{k})=\inf\{r: f(r+T_{k})\ge \delta\} \end{equation} $$ (7) 式中, ${\rm{inf}} {\{\cdot\}}$表示变量的下确界, 云服务器在时间点$ T_{k} $的剩余寿命RUL为$ r $, 即在时间点$ T_{k} $预估云服务器系统将在时间点$ r+T_{k} $时达到老化阈值$ \delta $. $f(r\;+ T_{k})$是最优老化曲线上对应时间点$ r+T_{k} $的指标数据预测值.
基于RUL的计算公式, 算法3给出云服务器老化预测流程.
算法3. 云服务器老化预测算法
输入. 云服务器原始老化数据集D.
输出. 云服务器的RUL.
1) 设置滑动窗口长度为$ l $, 计算老化数据集D的特征统计特征集$\{{\boldsymbol{f}}^{i}\}_{i=1}^{M}$, 其中$ M $为统计特征指标的数量;
2) 基于算法1对$\{{\boldsymbol{f}}^{i}\}_{i=1}^{M}$进行特征筛选与融合, 得到统计特征指标集$ \overline{f} $;
3) 采用$ p $种不同核函数SVR对统计特征指标集$ \overline f $进行数据稀疏化处理, 得到$ p $组特征向量 ${{{\rm{SVS}}}}$=$ \{SVs_{i}\}_{i=1}^{p} $;
4)通过算法2拟合${ {{\rm{SVS}}}}$, 得到$ p $条老化曲线$ {\hat{S}} $=$ \{\hat{S_{i}}\}_{i=1}^{p} $;
5) 基于式(6)计算$ \hat{S} $中与原始老化数据Fréchet距离最小的曲线, 即为最优老化曲线$ \hat{S}_{opt} $;
6) 基于$ \hat{S}_{opt} $和式(7)计算云服务器的RUL, 即为云服务器从当前时刻到发生老化的时间间隔.
4. 实验结果与分析
为探究基于OpenStack云服务器的软件老化现象, 本文基于如图4所示的实验平台, 制定了加速老化实验[37], 设计负载发生方案模拟云服务器的实际负载, 并收集云服务器的资源和性能数据, 作为研究软件老化的实验数据. 通过对云服务器的资源和性能数据进行老化预测, 估算剩余寿命, 为云服务器软件再生部署提供理论依据.
本文实验基于OpenStack框架和QEMU/KVM管理程序, 实验系统由云服务器、MySQL数据库服务器和1组模拟客户端组成, 如图4所示. 云服务器运行环境为Intel Core i5-4590 CPU, 4核8线程3.3 GHz, 内存8 GB, 操作系统为18.04.1-Ubuntu X86_64. 云服务器上部署基于Django框架在线购物网站, 包括用户登录、商品详情、商品查询、添加购物车和账单结算等功能. 客户端编写负载脚本, 通过多线程模拟多用户的购物网站访问场景, 同时监控并收集云服务器的性能参数和服务参数.
首先, 将云服务器的响应时间和页面传输速度作为系统老化数据, 如图5所示. 响应时间是用户向服务器发送请求至接收到系统响应的时间, 实验样本数据为
2471 个, 采样时间间隔为30 s. 页面传输速度指云服务器平均每分钟发出的页面数量, 实验样本数据为684个, 采样时间间隔为2 min. 由图5可知, 随着云服务器系统的持续运行, 云服务器的响应时间逐步增长, 页面传输速度逐步下降即系统服务性能逐渐下降, 则云服务器出现老化现象. 其次, 实验中基于RUL的老化预测方法, 评估云服务器何时发生老化.4.1 特征处理结果
首先, 提取云服务器原始数据的统计特征指标$\{{\boldsymbol{f}}^{i}\}_{i=1}^{10}$, 包括均值、标准差、偏斜度、峰度、双峰值、均方根、峰值因子、波形因子、脉冲因子和裕度因子共10项, 其中滑动窗口长度$ l $凭经验设置为30; 其次, 通过算法1对提取的统计特征指标进行筛选和融合, 得到云服务器响应时间和页面传输速度的统计特征指标, 如图6所示.
4.2 老化曲线拟合结果
首先, 基于线性、多项式和Sigmoid核函数的SVR对图6中的响应时间和页面传输速度统计特征指标序列数据进行稀疏化; 然后, 采用基于密度聚类的GFF算法, 对稀疏化后的统计特征指标进行老化曲线拟合, 并基于Fréchet距离优化算法选取老化曲线, 设置老化阈值$ \delta $分别为60 ms和38 (页/min), 可得到如图7的最优老化曲线.
同时, 本文将基于密度聚类的GFF最优老化曲线与SVR拟合曲线进行对比, 如图8所示. 在图8(a)中, 本文方法将响应时间统计特征指标序列中的SVs点聚为$ C_1 $、$ C_2 $和$ C_3 $三类. 在图8(b)中, 本文方法将页面传输速度统计特征指标序列中的SVs点聚为$ C_1 $、$ C_2 $、$ C_3 $和$ C_4 $四类. 由图8可知, 本文基于密度聚类的GFF最优老化曲线相较于SVR拟合曲线, 更接近于原始数据的统计特征指标曲线, 能更好地拟合统计特征指标序列数据的变化趋势.
此外, 本文采用均方根误差(Root mean square error, RMSE)[38]对比2种老化曲线拟合方法, 计算公式如下:
$$ \begin{equation} {\rm{RMSE}}=\sqrt{\frac{1}{h}\sum\limits_{i=1}^{h}(y_{pre}(i)-y_{true}(i))^{2}} \end{equation} $$ (8) 式中, $ h $为样本数量, $ y_{pre} $为拟合曲线序列数据, $ y_{true} $为统计特征指标序列数据.
表1给出了老化曲线拟合误差对比结果. 由表1可知, 本文基于密度聚类的GFF最优老化曲线与原数据序列误差更小, 其误差值相较于SVR拟合曲线, 在响应时间指标上降低了62.33%, 在页面传输速度指标上降低了58.75%. 可见本文方法对原始统计特征指标数据的拟合更加精确. 同时, 本文采用支持向量回归对统计特征指标进行稀疏化处理后, 基于稀疏化后的支持向量SVs序列数据及逆行老化曲线拟合, 能够保留原有数据序列的重要特征, 反映原有统计特征指标数据的变化规律.
表 1 老化曲线拟合RMSE对比 (%)Table 1 Comparison of aging curve fitting RMSE (%)拟合方法 响应时间集 页面传输速度集 基于密度聚类的GFF 21.598 47.129 SVR 57.334 114.239 4.3 老化预测结果
基于第4.2节的云服务器响应时间和页面传输速度的最优老化曲线, 依据本文提出的SVs-GFF预测方法, 可获得云服务器老化数据序列变化趋势, 得到图9的云服务器老化预测结果, 并能计算在时间点T时云服务器的RUL. 例如, 图9(a)中基于响应时间的老化曲线, 在时间点T =
60990 s时, 云服务器RUL为5400 s. 图9(b)中页面传输速度的老化曲线, 在时间点T = 920 min时, 云服务器RUL为7680 s.4.4 预测方法性能评价
首先, 本文以云服务器的RUL预测结果作为依据, 并与SVR[39]、GFF[40]、粒子滤波(Particle filtering, PF)模型[41]、人工神经网络(Artificial neural network, ANN)模型[42]、LSTM[43] 和Markov模型[44]进行比较, 评估本文提出的SVs-GFF预测方法性能. 各预测方法的参数设置如表2所示.
表 2 不同预测方法的参数设置Table 2 Parameter setting of different prediction methods预测方法 参数设置 SVs-GFF 高斯函数中$\alpha$、$\beta$、$\sigma$和$\gamma$的初始值: 0, 寻优方法: 最小二乘法, SVR中正则化参数: 1.0, 距离阈值$\varepsilon$: 0.5 SVR 正则化参数: 1, 核函数: RBF GFF 高斯函数中$\alpha$、$\beta$、$\sigma$和$\gamma$的初始值: 0, 寻优方法: 最小二乘法 PF 基于PF模型更新指数模型参数, 老化特征值$\alpha$: 1.979, 指数模型参数$b$: 0.00271 , $c$: −0.1697 , 白噪声标准差$d$: −0.06942 ANN 神经元数: [输入层: 30, 隐藏层1: 64, 隐藏层2: 64, 隐藏层3: 32, 输出层: 1 ], 激活函数: ReLU, 迭代次数: 100 LSTM 神经元数: [输入层: 10, 隐藏层1: 32, 隐藏层2: 32, 隐藏层3: 16, 输出层: 1 ], 激活函数: ReLU, 迭代次数: 100 Markov 基于Markov模型更新指数模型参数, 指数模型参数的初始值: 0 图10给出了云服务器响应时间(预测时间间隔500 ~
1250 (时间点/30 s))和页面传输速度(预测时间间隔523 ~ 673 (时间点/2 min)), 当老化阈值$ \delta $分别为60 ms和38 (页/min)时, 采用各预测方法对云服务器剩余寿命RUL的评估结果. 图11给出了各预测方法对RUL预测绝对误差(预测值与真实值之差的绝对值)对比结果. 由图10可知, 各预测方法在初始阶段对RUL预测值偏离实际值较大, 但随着时间点后移, 对RUL的预测偏差逐步缩小, 最终收敛至实际RUL. 相比较而言, 本文方法的预测曲线更接近真实RUL曲线, 并且由图11可知, 本文方法预测绝对误差相对较小, 表明本文方法预测效果更好.其次, 本文以累计相对精度(Cumulative relative accuracy, CRA)[45]和收敛速度$ C_{PE} $[46]作为评价指标, 评估预测方法的性能.
${\rm{CRA }}$评估预测方法的精度, 计算方法如下:
$$ \begin{equation} {{\rm{CRA}}}=\sum\limits_{k=1}^{H}\omega_{k}RA(T_k) \end{equation} $$ (9) $$ \begin{equation} {{{{{RA}}}}}(T_k)=1-\frac{\lvert L_{{{true}}}(T_k)-L(T_k)\rvert}{L_{{{true}}}(T_k)} \end{equation} $$ (10) 式中, $ \omega_{k} $=$ {k}/{\sum_{i=1}^{H}i} $为归一化权重, $ H $为预测RUL的实验次数(本文设置$ H $=16). ${{{{RA}}}}(T_k)$为$ T_k $时刻对RUL的相对预测精度, $L_{{{true}}}(T_k)$为$ T_k $时刻RUL的真实值, $ L(T_k) $为$ T_k $时刻对RUL的预估值. ${\rm{CRA}}$值越大, 表明方法的预测精度越高.
$C_{{{PE}}}$评估预测方法的收敛速度, 用预测误差曲线下方区域的原点和质心之间的欧氏距离来度量, 计算方法如下:
$$ \begin{equation} {C_{PE}}=\sqrt{(C_{x}-T_{1})^{2}+C_{y}^{2}} \end{equation} $$ (11) 式中, $ T_1 $为第1次预估RUL的时刻点, $ (C_x,C_y) $为预测误差曲线下方区域的质心, $ (T_1,0) $为预测误差曲线下方区域的原点. 预测云服务器的RUL时, $C_{PE}$值越小, 表明预测值逼近真实值的速度越快, 预测方法对RUL评估过程的收敛速度越快.
表3给出了${\rm{CRA}}$和$ C_{PE} $两种评价指标在云服务器响应时间和页面传输速度数据集上预测性能对比结果. 由表3可知, 在两个数据集上, 相较GFF、SVR、PF、ANN、LSTM和Markov六种预测方法, 本文SVs-GFF方法${\rm{ CRA }}$值最大, 且$ C_{PE} $值最小. 在响应时间数据集上, 相较于其他六种预测方法, 本文SVs-GFF方法的${\rm{CRA}}$值分别提高了13.66%、1.51%、7.04%、18.54%、0.38%和5.36%, $ C_{PE} $值分别降低了4.90%、5.72%、1.64%、17.63%、21.93%和1.65%. 在页面传输速度数据集上, 本文SVs-GFF方法的${\rm{CRA}}$值分别提高了20.6%、2.07%、9.74%、21.91%、10.86%和8.12%, $ C_{PE} $值分别降低了2.70%、2.94%、9.00%、15.65%、19.53%和7.80%. 这表明本文SVs-GFF方法的预测精度最高, 且收敛速度最快.
表 3 预测性能比较Table 3 Comparison of prediction performances数据集名称 评价指标 SVs-GFF GFF SVR PF ANN LSTM Markov 响应时间数据集 ${\rm{CRA}}$ 0.904 0.769 0.891 0.841 0.737 0.901 0.858 $C_{PE}$ 15.117 15.896 16.035 15.369 18.353 19.360 15.371 页面传输速度数据集 ${\rm{CRA}}$ 0.879 0.698 0.861 0.801 0.721 0.792 0.813 $C_{PE}$ 16.487 16.945 16.987 17.897 19.547 20.487 17.881 4.5 预测方法的普适性
为验证预测方法的普适性, 基于相同实验平台做了两组老化实验, 并提取了云服务器的性能参数数据. 选取I/O等待和可用内存作为老化指标, 其中I/O等待为CPU空闲且存在未完成I/O操作的等待时间占总时间的比例, 该值受到系统响应时间和CPU使用率的影响, 数值过高说明系统响应时间长, 整个系统的处理速度降低. I/O等待样本数据为770个, 采样时间间隔为1 min; 可用内存样本数据为
4460 个, 采样时间间隔为10 s. 老化阈值$ \delta $分别为90%和180 MB.图12给出了采取本文SVs-GFF方法得到的云服务器老化预测结果, 可获得老化数据序列变化趋势, 并能计算在任意时间点T时云服务器的RUL. 图12(a)给出基于I/O等待的老化预测曲线, 在时间点T = 621 min时, 云服务器的RUL为32 min. 图12(b)给出基于可用内存的老化预测曲线, 在时间点T =
35700 s时, 云服务器的RUL为4420 s. 图13和图14分别给出了基于I/O等待和可用内存的云服务器的RUL预测结果及预测绝对误差对比结果, 可知本文的SVs-GFF老化预测方法, 相较GFF、SVR、PF、ANN、LSTM和Markov六种预测方法, 仍保持较高的预测精度和收敛速度.综上所述, 本文筛选并融合老化数据的多个统计特征指标, 可捕获云服务器在复杂运行环境下老化数据变化规律, 提高预测精度. SVR将统计特征数据稀疏化, 降低老化预测方法计算量. 本文方法考虑稀疏化后的数据的空间分布不均衡特性, 基于聚类方法对数据分配不同权重信息, 避免预测过程陷入局部最优解. 另外, 高斯函数拟合过程计算复杂度低, 用其预测稀疏化后数据, 无需大规模训练过程, 可提高预测收敛速度. 本文提出的基于RUL的老化预测方法, 为运维人员提供软件再生时机, 保障系统可靠性[47-48].
5. 结束语
软件老化预测可以保障软件系统可靠运行, 降低系统风险与损失, 因此该研究问题一直以来受到学术界和工业界的关注. 针对收集到的OpenStack云服务器性能数据, 本文提出基于RUL和SVs-GFF的老化预测方法, 首先提取老化数据的统计特征指标, 采用具有不同核参数的SVR对统计特征指标数据进行稀疏化处理, 获取多组支持向量SVs. 然后使用基于密度聚类的GFF拟合各组支持向量SVs, 得到多条表征云服务器老化状态的老化曲线. 最后通过Fréchet距离优化算法选取最优老化曲线, 评估云服务器老化前的剩余寿命RUL. 实验结果表明, 本文所提老化预测方法, 不依赖于人工经验选取超参数, 提高了预测精度和收敛速度. 本文首次通过剩余使用寿命解决云服务器老化预测问题, 相较于现有基于数据度量的软件老化预测方法, 本文提出的基于RUL的老化预测方法, 可为软件运行维护人员提供软件再生时机, 从而保障系统可靠性.
下一步将研究预测方法对于数据变化情况下的敏感性问题. 使当数据出现急剧变化时, 仍能获得较为精确的预测结果.
-
图 14 本文方法与LOF算法的检测结果对比图 (其中, 本文方法横坐标为序列编号(即样本号除以100), 标签值大于0表示样本识别为正常样本, 小于0表示识别为异常样本)
Fig. 14 Comparative detection results between the proposed method and LOF algorithm (while x-coordinate of the proposed method denotes sequence number (equal to the sample number divided by 100), the label value greater than 0 means the corresponding sample is recognized as normal sample, else as anomaly)
表 1 本文所用符号与对应描述
Table 1 Symbols and corresponding descriptions used in this paper
符号 描述 符号 描述 ${\cal D}{^{ s}}$ 源域 ${\cal D}{^{ t}}$ 目标域 $W,b$ 自编码器的权重矩阵和偏置 $f,g$ 激活函数 ${s_c}$ 工况数量 $m$ 监测数据的组数 $X$ 数据矩阵 $Y$ 标签矩阵 ${\boldsymbol{x}}$ 单个样本 $y$ 单个样本的标签 $n$ 样本数量 $H$ 特征矩阵 $p$ 数据分布 $W'$ $W$的转置 表 2 XJTU-SY数据集中三种工况描述
Table 2 Description of three working conditions in XJTU-SY dataset
运行条件 径向力 (kN) 转速 (r/min) 轴承数据集 工况1 12 2100 Bearing 1_1 Bearing 1_2 Bearing 1_3 Bearing 1_4 Bearing 1_5 工况2 11 2250 Bearing 2_1 Bearing 2_2 Bearing 2_3 Bearing 2_4 Bearing 2_5 工况3 10 2400 Bearing 3_1 Bearing 3_2 Bearing 3_3 Bearing 3_4 Bearing 3_5 -
[1] Lei Y G, Li N P, Guo L,Li N B,Yan T,Lin J. Machinery health prognostics: A systematic review from data acquisition to RUL prediction. Mechanical Systems and Signal Processing, 2018, 104: 799-843. doi: 10.1016/j.ymssp.2017.11.016 [2] Liu R N, Yang B Y, Zhang X L,Wang S B, Chen X F. Time-frequency atoms-driven support vector machine method for bearings incipient fault diagnosis. Mechanical Systems and Signal Processing, 2016, 75: 345-370. doi: 10.1016/j.ymssp.2015.12.020 [3] 杨蕊, 李宏坤, 贺长波. 利用最优小波尺度循环谱的滚动轴承早期故障特征提取. 机械工程学报, 2017, 54(17): 209-217.Yang Rui, Li Hong-Kun, He Chang-Bo. Early fault feature extraction of rolling bearing by using optimal wavelet scale cyclic spectrum. Journal of Mechanical Engineering, 2017, 54(17): 209-217.(in Chinese) [4] 孙鲜明, 刘欢, 赵新光. 基于瞬时包络尺度谱熵的滚动轴承早期故障奇异点识别及特征提取. 机械工程学报, 2017, 53(3): 73-80. doi: 10.3901/JME.2017.03.073Sun Xian-Ming, Liu Huan, Zhao Xin-Guang. Identification and feature extraction of early fault singularity of rolling bearing based on instantaneous envelope scale spectrum entropy. Journal of Mechanical Engineering, 2017, 53(3): 73-80.(in Chinese) doi: 10.3901/JME.2017.03.073 [5] Dhamande L S, Chaudhari M B. Compound gear-bearing fault feature extraction using statistical features based on time-frequency method. Measurement, 2018, 125: 63-77. doi: 10.1016/j.measurement.2018.04.059 [6] Li F, Wang J X, Chyu M K, Tang B P. Weak fault diagnosis of rotating machinery based on feature reduction with Supervised Orthogonal Local Fisher Discriminant Analysis. Neurocomputing, 2015, 168: 505-519. doi: 10.1016/j.neucom.2015.05.076 [7] Amar M, Gondal I, Wilson C. Vibration spectrum imaging: A novel bearing fault classification approach. IEEE Transactions on Industrial Electronics, 2014, 62(1): 494-502. [8] Fernández-Francos D, Martínez-Rego D, Fontenla-Romero O, Alonso-Betanzos A. Automatic bearing fault diagnosis based on one-class v-SVM. Computers & Industrial Engineering, 2013, 64(1): 357-365. [9] 张柯, 姜斌. 基于故障诊断观测器的输出反馈容错控制设计. 自动化学报, 2010, 36(2): 274-281. doi: 10.3724/SP.J.1004.2010.00274Zhang Ke, Jiang Bin. Fault diagnosis observer-based output feedback fault tolerant control design. Acta Automatica Sinica, 2010, 36(2): 274-281.(in Chinese) doi: 10.3724/SP.J.1004.2010.00274 [10] Jia F, Lei Y G, Guo L. A neural network constructed by deep learning technique and its application to intelligent fault diagnosis of machines. Neurocomputing, 2018, 272: 619-628. doi: 10.1016/j.neucom.2017.07.032 [11] Shao H D, Jiang H K, Zhang X. Rolling bearing fault diagnosis using an optimization deep belief network. Measurement Science and Technology, 2015, 26(11): 115002. doi: 10.1088/0957-0233/26/11/115002 [12] 庄福振, 罗平, 何清, 史忠植. 迁移学习研究进展. 软件学报, 2015, 26(1): 26-39.Zhuang Fu-Zhen, Luo Ping, He Qing, Shi Zhong-Zhi. Research progress in transfer learning.Research progress in transfer learning. Journal of Software, 2015, 26(1): 26-39.(in Chinese) [13] 贺敏, 汤健, 郭旭琦,阎高伟. 基于流形正则化域适应随机权神经网络的湿式球磨机负荷参数软测量. 自动化学报, 2019, 45(2): 398-406. doi: 10.16383/j.aas.2018.c170289He Min, Tang Jian, Guo Xu-Qi,Yan Gao-Wei. Soft sensor for ball mill load using DAMRRWNN model. Acta Automatica Sinica, 2019, 45(2): 398-406.(in Chinese) doi: 10.16383/j.aas.2018.c170289 [14] 张雪松, 庄严, 闫飞, 王伟. 基于迁移学习的类别级物体识别与检测研究与进展. 自动化学报, 2019, 45(7): 1224-1243. doi: 10.16383/j.aas.c180093Zhang Xue-Song, Zhuang Yan, Yan Fei, Wang Wei. Status and development of transfer learning based category-level object recognition and detection. Acta Automatica Sinica, 2019, 45(7): 1224-1243.(in Chinese) doi: 10.16383/j.aas.c180093 [15] Shen S, Sadoughi M, Li M. Deep convolutional neural networks with ensemble learning and transfer learning for capacity estimation of lithium-ion batteries. Applied Energy, 2020, 260: 114296. doi: 10.1016/j.apenergy.2019.114296 [16] Din I U, Islam N, Rodrigues J. A novel deep learning based framework for the detection and classification of breast cancer using transfer learning. Pattern Recognition Letters, 2019, 125(1): 1-6. [17] 雷亚国, 杨彬, 杜兆钧, 吕娜. 大数据下机械装备故障的深度迁移诊断方法. 机械工程学报, 2018, 55(7): 1-8.Lei Ya-Guo, Yang Bin, Du Zhao-Jun, Lv Na. Deep transfer diagnostic method for mechanical equipment failure under big data. Journal of Mechanical Engineering, 2018, 55(7): 1-8.(in Chinese) [18] Lu W N, Liang B, Cheng Y, Meng D S,Yang J,Zhang T. Deep model based domain adaptation for fault diagnosis. IEEE Transactions on Industrial Electronics, 2017, 64(3): 2296-2305. doi: 10.1109/TIE.2016.2627020 [19] Wen L, Gao L, Li X. A new deep transfer learning based on sparse auto-encoder for fault diagnosis. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2019, 49(1): 136-144. doi: 10.1109/TSMC.2017.2754287 [20] Yang B, Lei Y, Jia F, Xing S. An intelligent fault diagnosis approach based on transfer learning from laboratory bearings to locomotive bearings. Mechanical Systems and Signal Processing, 2019, 122: 692-706. doi: 10.1016/j.ymssp.2018.12.051 [21] Cai D, He X F, Hu Y X, Han J W. Learning a spatially smooth subspace for face recognition. In: Proceedings of the 2007 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society, Minneapolis, USA, June 2007, pp. 1−7. [22] 冯辅周, 饶国强, 司爱威. 基于排列熵和神经网络的滚动轴承异常检测与诊断. 噪声与振动控制, 2013, 33(3): 212-217.Feng Fu-Zhou, Rao Guo-Qiang, Si Ai-Wei. Abnormality detection and diagnosis of rolling bearing based on permutation entropy and neural network. Noise and Vibration Control, 2013, 33(3): 212-217.(in Chinese) [23] Wang B, Lei Y G, Li N P, Li N B. A hybrid prognostics approach for estimating remaining useful life of rolling element bearings. IEEE Transactions on Reliability, 2020, 69(1): 401-412. doi: 10.1109/TR.2018.2882682 [24] Cho K, Courville A, Bengio Y. Describing multimedia content using attention-based encoder-decoder networks. IEEE Transactions on Multimedia, 2015, 17(11): 1875-1886. doi: 10.1109/TMM.2015.2477044 [25] Li Y B, Xu M Q , Liang X H, Huang W H. Application of bandwidth EMD and adaptive multi-scale morphology analysis for incipient fault diagnosis of rolling bearings. IEEE Transactions on Industrial Electronics, 2017, 64(8): 6506-6517. doi: 10.1109/TIE.2017.2650873 [26] Ma H H, Hu Y, Shi H B. Fault detection and identification based on the neighborhood standardized local outlier factor method. Industrial Engineering Chemistry Research, 2013, 52(6): 2389-2402. doi: 10.1021/ie302042c [27] Domingues R, Filippone M, Michiardi P. A comparative evaluation of outlier detection algorithms: Experiments and analyses. Pattern Recognition, 2018, 74: 406-421. doi: 10.1016/j.patcog.2017.09.037 [28] Mao W, Chen J, Liang X. A New Online Detection Approach for Rolling Bearing Incipient Fault via Self-Adaptive Deep Feature Matching. IEEE Transactions on Instrumentation and Measurement, 2020, 69(2): 443-456. doi: 10.1109/TIM.2019.2903699 [29] 郭小萍, 刘诗洋, 李元. 基于稀疏残差距离的多工况过程故障检测方法研究. 自动化学报, 2019, 45(3): 617-625.Guo Xiao-Ping, Liu Shi-Yang, Li Yuan. Fault detection of multi-mode processes employing sparse residual distance. Acta Automatica Sinica, 2019, 45(3): 617-625.(in Chinese) -