【李宏毅2020 ML/DL】P73 More about Anomaly Detection

我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本节内容综述

  1. 本节课由助教林政豪讲解,日期为5月21日。
  2. 首先复习了经典的做法,用一个 Classifier 分类,并且得到信心分数 Confidence score ;接着复习了 Gaussian Mixture Model 与 Auto-Encoder 。
  3. 介绍了 PCA 的去异方法。
  4. 简单介绍了 孤立森林 。孤立森林的使用我很熟悉,这是我两年前(大三上学期转大三下学期)第一次实战机器学习的由头,也是我抛弃 matlab 正式使用 python 的原因。这对我意义非凡。
  5. 进入图片部分,助教首先带我们复习了三种典型的 GANs :Typical GAN、Conditional GAN、Unsupervised Conditional GAN 。介绍了 Typical GANs 的异常检测方法。
  6. 简单提到了 BiGAN 。
  7. 介绍了 AnoGAN 。但是 AnoGAN 存在每次检测都需要优化 z ,这让其运行成本大。因此,有人提出 EGBAD 。
  8. 此外,还有更进一步的方法,GANomaly。
  9. 介绍了 Evaluation Metric ,TPR、FPR等。
  10. 最后,介绍了用于语音的 Gaussian Mixture GAN (GMGAN)。

小细节

Outline

What is Anomaly Detection

Classic Method

  • With Classifier
  • GMM (Gaussian Mixture Model)
  • Auto-Encoder
  • PCA
  • Isolation Forest
  • Summary

Anomaly Detection on image

  • AnoGAN
  • EGBAD
  • GANomaly
  • Summary

Anomaly Detection on Audio

  • GMGAN

PCA

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,使用 PCA将数据降维。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,使用 sklearn 的方法对信用卡数据降维。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,将其降为 2 维后,效果并不好,异常点与正常点分的并不开。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,进行一些处理。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,使用 27 维比 30 维异常检测效果更好。

Isolation Forest

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,使用孤立森林,“一步一步地”将各个点分开。层数越深,越正常(处于密度越大地地区)。

Typical GANs

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
Typical GAN 是由向量生成图片的 GANs 。

Conditional GAN 可以根据不同的“条件”生成图片。

Unsupervised Conditional GAN 可以自动完成类似“风格迁移”的工作。

BiGAN

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,基于 Typical GANs 的结构,有一种 BiGAN 的结构。下面将进行讨论。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,可以用于机场安检。

AnoGAN

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,只需要正常的样本来训练 AnoGAN 。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,让 G(z) 生成的 x’ ,让 D() 觉得 x’ 接近于 x,如果不能接近 x ,则说明是异常点。

Efficient GAN-Based Anomaly Detection, EGBAD

【李宏毅2020 ML/DL】P73 More about Anomaly Detection

如上,与其 AnoGAN 每次都优化 z ,不如:看真数据与其产生的 z’ 以及 z 及其产生的假数据 输入到判别器里,看其产生的 Loss 。

GANomaly

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,GANomaly 又多加了一层 Encoder ,这样,直接将编码后的两者在辨别器中进行比较。

Evaluation Metric

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,可以由 FPR 、TPR 绘制 ROC 曲线。

Gaussian Mixture GAN (GMGAN)

【李宏毅2020 ML/DL】P73 More about Anomaly Detection
上图左边是常用的 Loss ,然而这个 GMGAN 使用的 Loss 如下。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,首先计算 α^k\hat{\alpha}_ku^k\hat{u}_kΣ^k\hat{\Sigma}_k,当成高斯中的统计参数。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
接着,进行类似高斯分布的极大似然拟合。
【李宏毅2020 ML/DL】P73 More about Anomaly Detection
如上,中间插入一段异常声音,通过时间滑窗获取数据,输入 GAN 会将其识别。