赞
踩
异常检测,是一种用于识别不符合预期行为的异常模式的技术,称为异常值。通常为无监督学习问题,其中先验未知异常样本,并且假定大多数训练数据集由 “ 正常 ” 数据组成。
通常,异常检测也称为 Novelty Detection 或 Outlier Detection,Forgery Detection 和 Out-of-distribution Detection,每个术语的含义略有不同。
当训练数据集中不存在异常的数据,此问题被特称为 One Class Classification 或 One Class Segmentation。
异常检测的应用目标数据基本可分为三种类型:Time-series data, Image data 和 Video data。对于目标数据而言,作为异常检测模型的输入数据可以大致分为连续的(如语音、文本、音乐、时间序列等)和非连续的(如图像等)。
在时间序列数据中,其目的为检测异常部分。在图像、视频数据中,旨在对异常图像或区域进行分类分割。
传统的异常检测广泛使用机器学习作为研究工具,而机器学习是现有很多种方法和模型的总称。近年来,随着计算机性能的提升和大数据技术的发展,神经网络成为了一种比较热的机器学习模型,在此基础上,深度神经网络作为层数比较多的神经网络,成为了深度学习的基础框架。
深度学习 是表示学习的一个子领域,它利用具有多个处理层的模型架构来学习具有多个抽象层次的数据表示。多级抽象允许以非常紧凑和分布式的形式表示丰富的特征空间。深度(多层)神经网络特别适合于学习本质上是分层的数据的表示,例如图像或文本。
我们将深度学习的AD方法分为“混合”或“完全深度”两类。在混合方法中,数据表示在前一步中被单独学习,然后这些数据表示被馈送到经典的(浅)AD方法,如OC-SVM。相反,全深度方法直接使用数据表征来检测异常。
几乎所有现有的深度AD方法都依赖于重建误差——要么是混合方法,仅用于学习表征,要么直接用于表征学习和检测。1. 深度自动编码器是用于深度AD的主要方法。自动编码器是一种神经网络,它试图学习身份函数,同时具有降维的中间表示(或一些稀疏正则化)作为一个瓶颈来诱导网络提取一些数据集的显著特征。通常,这些网络被训练成最小化重建误差。这些网络应该能够从正常样本中提取出共同的变化因子并进行精确的重构,而异常样本中不包含这些共同的变化因子,因此无法进行精确的重构。这允许在混合方法中使用自动编码器,通过将学习到的嵌入插入到经典AD方法中,2. 也可以在完全深度方法中,通过直接使用重建误差作为异常分数。用于AD的自动编码器的一些变体包括去噪自动编码器、稀疏自动编码器、变分自动编码器和深度卷积自动编码器,最后一个变体主要用于具有图像或视频数据的AD应用。
自动编码器有降维的目标,不直接针对AD。将自动编码器应用于AD的主要困难在于选择合适的压缩程度,即降维。如果没有压缩,自动编码器只会学习标识函数。在另一个极端的情况下,信息缩减为单一值,平均值将成为最优解。也就是说,数据表示的“紧凑性”是一个模型超参数,由于无监督性质以及数据的内在维度通常难以估计,因此很难选择正确的平衡。
除了自动编码器,2017年提出的基于生成性对抗网络(GANs)的新型深度AD方法,称为AnoGAN。在该方法中,首先训练GAN根据训练数据生成样本。给定一个测试样本,AnoGAN试图在生成器的潜在空间中找到生成最接近所考虑的测试输入的样本的点。直观地说,如果GAN捕捉到了训练数据的分布,那么正样本应该在潜在空间中有很好的表示,而异常样本则不会。为了找到潜在空间中的点,在潜在空间中执行梯度下降,保持生成器的学习权重不变。AnoGAN最后还通过重建误差定义了一个异常分数。与自动编码器类似,这种生成方法的一个主要困难是如何正则化生成器以获得“紧凑性”(对AD针对性降维)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。