异常检测论文解读—Memorizing Normality to Detect Anomaly

论文链接
code暂时未开源

这是一篇异常检测方向的paper;ICCV2019已收录。
在这里插入图片描述

论文背景

目前视觉中基于无监督学习的异常检测主要为编码器-解码器结构,仅训练正常样本,希望测试阶段的正常样本有较低的reconstruction error,而输入的异常样本reconstruction error超过一定阈值。但是这样的假设实际工作中常常不work,因为AE(autoencoder)可能效果太好(sometimes the AE can “generalize” so well that it can also reconstruct the abnormal inputs well)导致输入异常样本后仍然能够很好地重建出异常样本,也就是说reconstruction error不会异常,即无法检测异常。

架构简介

简单地说,一个输入图像并不会直接经过encoder-decoder,而是利用encoder得到的潜在空间检索memory中最相关的项,这些项随后被整合并进入decoder。
在这里插入图片描述
MemAE总体思想原理呈现在上图中。图中encoder与decoder不是本文的讨论范围,根据实际情况自行选取。
在只对正常样本的数据集进行训练后,MemAE中的内存记录了典型的正常模式。给定异常输入,MemAE检索内存中最相关的正常模式进行重建,结果输出与异常输入显著不同。为了简化可视化,我们假设这里只处理一个内存项。

上述的处理过程实际上是使用了基于注意力机制的记忆处理(attention based memory addressing)。同时作者还提出了一种可微的难压缩操作(hard shrinkage operator) ,使得记忆处理权重有一定的稀疏性,从而记忆项接近特征空间中的query。

训练阶段:更新编解码器以及memory的内容,由于采用稀疏寻址策略,MemAE模型被鼓励以最优和有效的方式使用有限的内存槽,使得内存能够记录正常训练数据中的原型正常模式(prototypical normal patterns),从而获得较低的平均重建误差reconstruction error。

测试阶段:所学习的记忆内容是固定的,通过使用少量的正常记忆项(normal memory items)来进行重建,这些正常记忆项被选择为输入编码的邻域。由于重建是在内存中获得的正常模式,所以它往往接近于正常数据。

综上所述,本文模型总体pipeline为:

  1. encoder:由输入 x x x得到 z z z
  2. attention based memory addressing: z z z稀疏寻址得到 w w w
  3. hard shrinkage operator: w w w离散为 w ^ \hat{w} w^
  4. w ^ \hat{w} w^ 通过memory矩阵 M M M映射为与 z z z相同维度的 z ^ \hat{z} z^
  5. decoder

配上示意图:
在这里插入图片描述
下文就是解读中间这两部分。

Attention-based memory addressing

分为两部分:

  1. memory module:记录了有限个数的编码记忆原型
  2. Attention-based memory addressing:如何将encoder的结果映射到memory中

首先,memory存储在矩阵 M M M中, M的维度[N,C]。
m i m_{i} mi代表 M M M的每一行,即每一个memory item。

要寻址,即将encoder的结果 Z Z Z映射到memory,变为 w w w,方法为:
在这里插入图片描述
d d d表示余弦距离:
在这里插入图片描述

hard shrinkage operator

作者发现,一些异常可能仍然有机会通过memory items的复杂组合(也就是稠密的 w w w)很好地重建。为了缓解这个问题,作者采用了hard shrinkage operator来提高 w w w的稀疏性。进行了类似Relu的Hard Shrinkage约束,其实就是超过阈值才保留,不超过阈值就是0。
在这里插入图片描述
为了能够计算梯度,结合Relu做了一点调整。
在这里插入图片描述
最后还要还原到与潜在空间(latent representation) z z z维度相同的 z ^ \hat{z} z^
其中 z ^ = w ^ M \hat{z}=\hat{w}M z^=w^M

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值