无监督机器学习异常检测技术在智能监控领域的应用展望

发表时间:2021/4/26   来源:《中国电业》2021年第3期   作者:张龙
[导读] 智能化运维建设强调通过机器学习算法自动地从海量运维数据中不断地学习并自主提炼总结规则,从而减少人工干预成本,提高运维效率。
        张龙
        哈尔滨岛田大鹏工业股份有限公司  150000
        摘要:智能化运维建设强调通过机器学习算法自动地从海量运维数据中不断地学习并自主提炼总结规则,从而减少人工干预成本,提高运维效率。实践中,应用系统性能指标的异常检测是智能化运维的一项底层核心技术,包括应用容量预测、故障根因分析等在内的一系列智能运维分析技术,都依赖于应用性能异常检测的结果。为此,本文重点介绍了针对应用系统性能指标数据进行离线智能分析的方法,以及如何将离线训练得到的异常检测机器学习模型作为智能监控系统中的重要环节,以提升应用监控告警的准确率,降低传统人工配置告警处置规则的人力成本,从而使运维工作应用告警响应得更加及时、高效。
关键词:异常检测;孤立森林;深度神经网络;流处理智能告警系统
引言
        智能视频监控系统一般是指在没有人为干预的情况下,利用计算机视觉技术对图像序列进行自动分析和理解,对监控场景中的变化进行检测、定位和跟踪,并在此基础上分析和判断目标的行为,从而有效地协助相关人员处理问题。传统的视频监控以嵌入式系统为核心,通过网络将摄像头采集到的视频序列传输给计算机,从而实现实时监控。但这些系统并不具备图像处理和智能分析的能力。
1应用性能指标异常检测任务概述
        一般情况下,运维人员是通过监控多样的应用关键性能指标(KPI)来判断系统是否正常运行,监控的内容包含交易量、平均响应时间、网页访问量等服务型KPI,或CPU使用率、内存使用率等反应服务器健康状态的KPI等。在此模式下,当KPI呈现出不符合历史数据规律的突增、突降、抖动等异常时,往往意味着与其相关的应用发生了一些潜在故障,比如网络故障、数据库异常、配置错误、缺陷版本上线、服务器过载、外部攻击等。目前,采用传统的人工告警阈值配置方法对持续稳定型性能数据有一定的成效,但告警阈值手工配置不仅开发项目组工作量大,且针对周期性及不规则型应用性能数据,人工规则配置方式告警效果较弱。针对这一问题,结合机器学习方法高效、准确地进行应用性能异常检测,自动预测KPI告警阈值,将可有效提高运维水平,保障系统持续提供稳定、可靠的服务。
2异常检测技术分类及原理简析
        2.1基于机器学习的方法
        机器学习技术在各个方面都发挥着越来越重要的作用,基于机器学习的方法可以充分利用异常数据与正常数据之间的差异,算法检测的准确率会随着数据量的增加稳步提高,因此对大规模高维度的数据集进行异常检测时通常采用此种算法。机器学习方法大致分为分类、聚类两种。基于分类的方法将数据分为正常数据和异常数据两类。该方式有训练和检测两个阶段,训练阶段要构建一个分类器;检测阶段则通过上一阶段的分类器对目标数据进行分类。
        2.2半监督异常检测
        半监督异常检测所用的训练集只会为正常数据样本打上标签,即半监督异常检测会根据正常数据建立一个“正常”模型,并将数据样本与“正常”模型的偏差定义为异常度。如果异常度超出了某个阈值,则产生报警信号;否则,判定为正常。但是,半监督异常检测面临着与全监督异常检测同样的难题,即难以获得打好标签的高质量训练数据集,因此在工程实践中往往也较难得到应用。
        2.3基于统计的方法
        用数据融合的方法将网络中的动态数据聚合为变宽直方图,从而进一步检测出异常数据。由标准统计学原理,应用统计的方法时,当传感器数据集的变化规律符合构建的数学模型时,能高效地检测出其中的异常数据。但是大多数情况下数据分布规律不明确,且难以完全符合某一种理想状态的数学模型,因此这种方法存在局限性,尤其难以处理多维数据集。


3无监督机器学习异常检测技术在智能监控领域的应用
        3.1数据预处理
        鉴于实例中使用的数据包含了多个维度交易量指标的时间序列信息,存在正负样本不均等问题,因此为执行时间序列异常检测,研究人员分两步对时间序列数据进行了预处理操作。第一步是依据KPIID提取了5个维度60秒交易量指标的时间序列数据,即首先使用PythonNumpy库获取了性能指标时间序列,并通过KPIID获取了每个维度交易量性能指标的时间序列集合及对应标签集合。第二步是完成了时间序列数据标准化,即使用Scikit-learn库中提供的线性归一化函数对数据进行了标准化处理,使性能指标处于同一数量级,以便于进行综合对比。
        3.2异常数据的类型
        在传感器众多数据中,异常值有时会体现比正常数据值更多的信息。离群点来源各种各样,通常可分为以下三类[3]:噪声或误差、事件、恶意攻击。噪声和误差是指各种来源的噪声相关的测量或数据,如传感器故障等。事件指现实环境状态突然变化,如地震、天气变化、空气污染等。恶意攻击指人为地访问或控制传感器节点数据。由以上可以看出造成异常的原因通常有内部原因和外部原因两种,内部原因即指传感器本身的功能模块异常或故障,外部原因即环境变化或人为因素。在本研究当中我们仅考虑由于内部原因造成的异常值的处理,即噪声或误差造成的离群点。
        3.3遮挡处理
        在跟踪目标的过程中往往会出现不同程度的遮挡而导致跟踪失败的情况,如何在发生遮挡时保证跟踪的准确性是必须要考虑的问题,通过监测欧式距离的变化来判断遮挡。刚开始发生遮挡时,算法具有鲁棒性,欧式距离小于设定的阈值,则继续使用算法进行跟踪;当遮挡面积不断变大时,欧式距离会不断增大,这时采用卡尔曼滤波器预测结果维持跟踪;当目标被完全遮挡时,欧式距离已经增加到无穷大,此时算法将启动计数器进行计数,若遮挡时间没有超过算法设定的计数上限值,则继续使用卡尔曼滤波器预测结果进行跟踪,否则认为该目标已经完全消失。
        3.4时间序列数据特征提取
        在数据挖掘过程中,特征提取是极为重要且关键的一步,数据特征提取的好坏会影响机器学习模型异常检测的效果。为此,本文结合上述预处理结果,进一步进行了数据特征提取,以使可用于异常检测分类的信息更为丰富。实践中,基于数据SARIMA残差、简单指数平滑残差(Simple Exponential Smoothing)、二次指数平滑残差(Holt's Linear Trend Method)、三次指数平滑残差(Holt-Winters’Additive Method),以及滑动窗口均值、差值等统计方法,研究人员共选取了21个统计特征。同时,研究人员还使用过采样(Over Sample)的方法对数据池中的异常数据进行了多次抽样,生成了可最终用于模型的数据集合,以进一步提高异常检测性能。
结束语
        基于改进的自适应高斯混合模型提高了算法检测准确率,利用卡尔曼滤波和匈牙利算法解决了多目标跟踪问题和遮挡问题,改善了视频监控在复杂场景下的跟踪能力。经过实验测试,在光照变化、多目标运动和目标遮挡的情况下,算法都能准确检测和跟踪到运动目标,同时系统的实时性和抗干扰性良好。
参考文献
[1]倪亚萍,梅亚庆,孙丽,王淑婷,裴广坤.智能视频监控专利技术综述[J].中国发明与专利,2018,15(S2):91-97.
[2]刘李漫,张治国.基于目标序列分析的智能监控多目标自动检测跟踪[J].中南民族大学学报(自然科学版),2018,37(04):130-136.
[3]胡莉,张力伟.基于5G的智能视频监控系统设计[J].电信工程技术与标准化,2018,31(12):55-58.
[4]马国耀.温泉水温智能监控系统检测技术与自动化装置[J].电子技术与软件工程,2018(21):108.
[5]李鑫.智能监控中的行人检测与跟踪算法研究与实现[D].西华大学,2018.
       
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: