基于深度学习模型的异常检测方法在计算机视觉领域中扮演着重要的角色。这些方法旨在识别出测试数据中的Out of Distribution(OOD)样本,即与训练数据分布不匹配的样本。本文将介绍一些常用的基于深度模型的OOD检测方法,并提供相应的源代码。
- 最大后验概率(Maximum Likelihood Estimation, MLE)方法
最大后验概率方法是最简单的OOD检测方法之一。该方法通过计算测试样本的似然概率来判断其是否属于训练数据分布。具体而言,该方法使用已训练好的深度模型对测试样本进行前向推理,然后计算测试样本在模型输出空间中的似然概率。如果似然概率低于一个预定义的阈值,就将该样本标记为OOD样本。
import torch
import torch.nn.functional as F
def mle_ood_detection