NVIDIA 深度学习学院( DLI )正在为如何构建异常检测的人工智能应用提供指导者、动手训练。
异常检测是识别数据集中异常偏离的数据的过程。与识别统计异常值的简单过程不同,异常检测旨在发现在其上下文中不应被视为正常的数据。
异常可以包括与捕获和标记的异常相似的数据、在不同上下文中可能正常但不在其出现的上下文中的数据,以及只能通过训练神经网络的洞察理解为异常的数据。
在许多商业和研究环境中,异常检测是一种强大而重要的工具。医疗保健专业人员使用异常检测更早更有效地识别人类疾病的迹象。 IT 和 DevOps 团队针对任何数量的业务应用异常检测来识别可能导致性能下降或服务丢失的事件。营销和财务团队利用异常检测来识别对其 KPI 有重大影响的特定事件。
简言之,任何团队都可以从与他们的目标相关的数据中识别特殊情况中获益,这可能会从异常检测的有效使用中获益。
异常检测方法
考虑到异常检测的各种重要应用,有许多方法可用于执行异常检测,这并不奇怪。确定哪种方法对给定场景最有效的一个有用因素是,是否已经存在指示哪些样本异常的标记数据。当可以定义异常并且存在足够的代表性数据时,可以使用监督学习方法。或者,在没有此类标记数据的情况下,可能需要无监督的方法,但仍然需要检测新的异常。
DLI workshop 人工智能在异常检测方面的应用包括监督和非监督情况。利用 KDD 网络入侵数据集,采用监督 XGBoost 模型检测异常网络流量。此外,该模型经过训练,不仅可以将尚未发现的异常数据分类为攻击的一部分,还可以识别攻击的种类。
对于无监督学习方法,考虑了两种方法,首先是训练深度自编码神经网络。接着介绍了一种双网络生成对抗网络( GAN ),其中分量鉴别器网络执行异常检测。下面是每种方法的更多细节。
XGBoost 详细信息
XGBoost 是一种优化的梯度增强算法,具有广泛的应用。除了广泛的实际使用案例外, XGBoost 还凭借其在 Kaggle 数据科学竞赛中广泛而有效的表现赢得了良好的声誉。鉴于存在用于训练的标记数据,异常检测问题被认为是一个分类问题,其中经过训练的 XGBoost 模型识别出保持测试数据中的异常。 NVIDIA GPU 通过并行化训练来加速 XGBoost ,首先作为二进制分类器,然后作为识别异常类型的多类分类器。
AE 详细信息
深度自动编码器由两个对称部分组成。第一部分称为编码器,将数据压缩或“编码”为低维潜在表示。第二部分,解码器,尝试从编码器产生的潜在向量重构原始输入。在训练期间,编码器和解码器都进行了优化,以创建输入数据的潜在表示,从而更好地捕获其基本方面。当用低异常率进行训练时,潜在向量比异常更能代表丰富的正常数据样本。因此,解码器的输出将比异常更可靠地重建正常数据。通过自动编码器传递正常数据将产生比异常更低的重建误差,通过设置该误差的阈值来完成分类。
GAN 细节
生成性对抗网络由两个相互竞争以提高整体性能的神经网络组成。其中一个网络,生成器,学习获取一个随机种子,并从与训练集数据相同的分布中生成一个人工数据样本。第二个网络,鉴别器,学习区分来自训练数据集的样本和生成器生成的样本。
当正确地训练时,生成器将学习提供逼真的人工数据样本,而鉴别器可以准确地识别训练集中出现的数据。当使用代表非正常数据的数据进行训练时,生成器能够创建类似正常数据的新样本,鉴别器能够将样本分类为正常样本。
最典型的是, GAN 的训练目标是使用生成器生成新的、逼真的数据样本,同时丢弃鉴别器。然而,对于异常检测,将生成器放在一边,利用鉴别器确定未知输入数据是正常的还是异常的。
了解更多
人工智能驱动的异常检测提供了丰富的,有时是跨广泛领域的基本功能。此外,适用于异常检测的技术也可以在其他人工智能领域发挥巨大作用。
如果对异常检测感兴趣,或通过专家指导的实践互动实践来扩展您的深度学习技能,请注册参加即将在 人工智能在异常检测中的应用 上举办的 NVIDIA DLI 研讨会。这种培训也可以作为组织的私人讲习班提供。