NVIDIA DLI教授如何构建异常检测的人工智能应用

描述

  NVIDIA 深度学习学院( DLI )正在为如何构建异常检测的人工智能应用提供指导者、动手训练。

  异常检测是识别数据集中异常偏离的数据的过程。与识别统计异常值的简单过程不同,异常检测旨在发现在其上下文中不应被视为正常的数据。

  异常可以包括与捕获和标记的异常相似的数据、在不同上下文中可能正常但不在其出现的上下文中的数据,以及只能通过训练神经网络的洞察理解为异常的数据。

  在许多商业和研究环境中,异常检测是一种强大而重要的工具。医疗保健专业人员使用异常检测更早更有效地识别人类疾病的迹象。 IT 和 DevOps 团队针对任何数量的业务应用异常检测来识别可能导致性能下降或服务丢失的事件。营销和财务团队利用异常检测来识别对其 KPI 有重大影响的特定事件。

  简言之,任何团队都可以从与他们的目标相关的数据中识别特殊情况中获益,这可能会从异常检测的有效使用中获益。

  异常检测方法

  考虑到异常检测的各种重要应用,有许多方法可用于执行异常检测,这并不奇怪。确定哪种方法对给定场景最有效的一个有用因素是,是否已经存在指示哪些样本异常的标记数据。当可以定义异常并且存在足够的代表性数据时,可以使用监督学习方法。或者,在没有此类标记数据的情况下,可能需要无监督的方法,但仍然需要检测新的异常。

  DLI workshop 人工智能在异常检测方面的应用包括监督和非监督情况。利用 KDD 网络入侵数据集,采用监督 XGBoost 模型检测异常网络流量。此外,该模型经过训练,不仅可以将尚未发现的异常数据分类为攻击的一部分,还可以识别攻击的种类。

  对于无监督学习方法,考虑了两种方法,首先是训练深度自编码神经网络。接着介绍了一种双网络生成对抗网络( GAN ),其中分量鉴别器网络执行异常检测。下面是每种方法的更多细节。

  XGBoost 详细信息

  XGBoost 是一种优化的梯度增强算法,具有广泛的应用。除了广泛的实际使用案例外, XGBoost 还凭借其在 Kaggle 数据科学竞赛中广泛而有效的表现赢得了良好的声誉。鉴于存在用于训练的标记数据,异常检测问题被认为是一个分类问题,其中经过训练的 XGBoost 模型识别出保持测试数据中的异常。 NVIDIA GPU 通过并行化训练来加速 XGBoost ,首先作为二进制分类器,然后作为识别异常类型的多类分类器。

  AE 详细信息

  深度自动编码器由两个对称部分组成。第一部分称为编码器,将数据压缩或“编码”为低维潜在表示。第二部分,解码器,尝试从编码器产生的潜在向量重构原始输入。在训练期间,编码器和解码器都进行了优化,以创建输入数据的潜在表示,从而更好地捕获其基本方面。当用低异常率进行训练时,潜在向量比异常更能代表丰富的正常数据样本。因此,解码器的输出将比异常更可靠地重建正常数据。通过自动编码器传递正常数据将产生比异常更低的重建误差,通过设置该误差的阈值来完成分类。

  GAN 细节

  生成性对抗网络由两个相互竞争以提高整体性能的神经网络组成。其中一个网络,生成器,学习获取一个随机种子,并从与训练集数据相同的分布中生成一个人工数据样本。第二个网络,鉴别器,学习区分来自训练数据集的样本和生成器生成的样本。

  当正确地训练时,生成器将学习提供逼真的人工数据样本,而鉴别器可以准确地识别训练集中出现的数据。当使用代表非正常数据的数据进行训练时,生成器能够创建类似正常数据的新样本,鉴别器能够将样本分类为正常样本。

  最典型的是, GAN 的训练目标是使用生成器生成新的、逼真的数据样本,同时丢弃鉴别器。然而,对于异常检测,将生成器放在一边,利用鉴别器确定未知输入数据是正常的还是异常的。

  了解更多

  人工智能驱动的异常检测提供了丰富的,有时是跨广泛领域的基本功能。此外,适用于异常检测的技术也可以在其他人工智能领域发挥巨大作用。

  关于作者

  Josh Wyatt 是一位经验丰富的软件工程师、讲师和课程开发人员,为NVIDIA 深度学习学院开发内容。 Josh 帮助培训了全世界数千名开发人员、研究人员和数据科学家,在加速计算、数据科学和深度学习领域构建 GPU 加速应用程序。乔希拥有加州圣玛丽学院哲学学士学位。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分