论文阅读:Improving the Accuracy, Adaptability, and Interpretability of SSD Failure Prediction Models?

论文阅读:Improving the Accuracy, Adaptability, and Interpretability of SSD Failure Prediction Models?(SoCC ’20)

ABSTRACT

文章也是使用机器学习进行硬盘故障的错误预测,不同于其他的文章基本使用随机森林,这篇文章提出了使用1-级隔离森林(1-class isolation forest)和基于自动编码器的异常检测技术来进行高精度的SSD故障预测。文章的数据集来源于谷歌,时间跨度为6年。

1-CLASS FAILURE PREDICTION

Accurate Prediction of SSD Failures

从数据集来看,每一个固态硬盘观察值包含21个不同特征的值。并且数据集要解决两个最重要的问题:

(1)特征空间过大,机器学习的算法训练和推理时间会随着特征数量的增长而呈现出近似指数的增长趋势。文章对此开发了一种方法来有效地组合不同特征选择算法的排名,从而在训练时间和准确性方面获得最佳的模型性能。

(2)严重的类别不平衡。因为异常的SSD数量肯定远小于正常的数量。从数据集看健康SSD有4000多万个数据点,而有故障的SSD只有15000多个数据点。(并且某些修复后重新投入与使用又出现故障需要作为单独的故障看待,因此实际故障SSD会更少)

Predicting unseen failures

之前的研究检测硬盘故障的方法通常没有办法预测模型在训练期间没有经历过的看不见的故障类型,文章通过仅学习大多数类(健康SSD)来保证模型不会过度适应有限的已知或以前见过的故障类型。同时使用了自动编码器的设定。也就是说,首先训练模型,让模型能够学习健康的固态硬盘应该是怎么样的压缩表示,这样的话,健康SSD数据通过压缩表示(编码)进入模型之后会被识别为健康SSD,这样在进行解码时,输出就会相似。而输入和输出遭受大的重构误差,则样本被标记为异常(故障驱动器)。简单图示如下:

51QX__8L`PWJBBHWUB_04OQ.png

METHODOLOGY

数据集被分为MLC A、B、C、D四种。获得的数据集中包含每个正常驱动器的大约300个观察值,以及每个故障驱动器的4到140个观察值。下图为21中特征值。

AZI`9S04YXV@E__V__G10_D.png

Data Preprocessing

做了一个额外的数据集,由参数N标识。举个例子,N=3就表明这个数据集包含每个驱动器出现故障前3天的所有观察点。

Feature Selection

使用了三种不同的特征选择方法,Filter、Embedded 和Wrapper技术,并实现了八种不同的算法,包括Pearson排名、Spearman排名、卡方检验、方差分析(ANOV A) 、递归特征消除、额外树、Lasso正则化、弹性网和岭回归。下图为最终选用的特征。

~DTFAF____~_80SG2_J_8TU.png

RESULTS

最后的实验结果和一些常见机器学习算法进行了一些对比,这里没什么好说的。

M@GCP_OO_R_N_FY0C2NG6FU.png

7B_OQ0X`~Q_94_OWYQ16DPV.png

__H4_1_6`HFL27ZVJ__C_~4.png

然后就是文章提到的怎么去辨别是什么导致了判断出来的错误。因为文章使用的方式,是通过对健康SSD进行学习判断,进而反找出不符合健康SSD的故障SSD。但是这样会导致没有办法分辨是什么导致了故障,以及什么故障。文章的解决方案是对重构误差贡献大于每个特征的平均误差的特征被定义为一个重要原因。下图是所有重要原因在所有SSD编号中的一个分布图。

_~_ZCK_FV5WV6K_D1AC___K.png

0%