A Unifying Review of Deep and Shallow Anomaly Detection

异常检测中的浅层模型与深度学习模型综述
摘要:随着众多异常检测方法(基于生成模型,单分类,重构等)的出现,需要将该领域的方法归纳总结。在这篇综述中,作者旨在确定常见的原则和各种异常检测方法隐含的假设条件,并展示了异常检测经典的“浅层”算法和新颖的“深度”算法之间的联系,然后对现有方法进行了实证评估,最后讨论了异常检测领域存在的挑战和研究方向。
参考博文:

  1. 异常检测综述:A Unifying Review of Deep and Shallow Anomaly Detection
    链接:https://zhuanlan.zhihu.com/p/419163607
  2. [论文阅读]用统一视角看待异常检测中的shallow model与deep learning model
    链接:https://zhuanlan.zhihu.com/p/457976793

1. 背景

(1)会议/刊物级别

Ruff L, Kauffmann J R, Vandermeulen R A, et al. A unifying review of deep and shallow anomaly detection[J]. Proceedings of the IEEE, 2021, 109(5): 756-795.
CCF A

(2)作者团队

柏林工业大学的 Lukas Ruff 博士 et al.


2. Introduction

2.1 什么是异常?(定义)

异常是一种与某种正态性概念有很大偏差的观测。也被称为异常值或新颖性,根据情况,这种观察可能被称为异常、不规则、非典型、不一致、意外、罕见、错误、错误、欺诈、恶意、不自然或奇怪。

2.2 常见异常检测算法

AD(或离群点检测或新颖性检测)是研究通过基于数据的方法、模型和算法检测此类异常观测的研究领域。AD的经典方法包括PCA【1】–【5】、OC-SVM【6】、SVDD【7】、最近邻算法【8】–【10】和KDE【11】、【12】。
上述方法的共同点是,它们都是无监督的,这构成了AD的主要方法。这是因为,在标准AD集合中,标记的异常数据通常不存在。如果可用,通常不足以充分描述所有异常概念。这通常会使超级修正方法无效。
相反,AD的一个中心思想是以无监督的方式从正常数据中学习正态性模型,以便通过与模型的偏差来检测异常。

2.3 研究历史

AD的研究历史悠久,跨越多个学科,包括工程学、机器学习、数据挖掘和统计学。虽然所谓“不一致观察”的第一个正式定义可追溯到19世纪[13],但AD问题可能更早就被非正式研究过,因为异常现象是在医学和自然科学等不同学科中自然发生的现象。异常数据可能是无用的,例如,当由测量误差引起时,或者可能是信息量极大的数据,并掌握着新见解的关键,例如存活时间很长的癌症患者。

2.4异常检测应用领域

如今,AD在各个领域都有大量的应用程序。例如:

  1. 网络安全领域的入侵检测【15】–【20】
  2. 金融、保险、医疗和电信领域的欺诈检测【21】–【27】
  3. 工业故障和损害检测【28】–【36】
  4. 基础设施监控【37】【38】
  5. 股市监控【39】、【40】
  6. 声学新奇性检测【41】–【45】
  7. 医疗诊断【46】–【60】
  8. 疾病爆发检测【61】、【62】
  9. 地球科学中的事件检测【63】–【68】
  10. 以及化学中的科学发现【69】–【70】
  11. 生物信息学【71】
  12. 遗传学【72】–【73】
  13. 物理学【74】–【75】
  14. 天文学【76】–【79】

这些领域中可用的数据规模不断增长。它还扩展到包括复杂的数据类型,如图像、视频、音频、文本、图形、多变量时间序列和生物序列等。要使应用程序在如此复杂的高维数据中取得成功,数据的有意义表示至关重要【80】。

2.5 异常检测中的深度学习方法

深度学习(Deep learning)[81]–[83]遵循通过训练灵活的多层(“Deep”)神经网络从数据本身学习有效表示的思想,极大地提高了许多涉及复杂数据类型的应用的技术水平。深度神经网络为计算机视觉[84]–[93]、语音识别[94]–[103]或自然语言处理[104]–[113]等领域的许多任务提供了最成功的解决方案,并对科学做出了贡献[114]–[123]。基于深度神经网络的方法能够通过多层分布式特征表示,利用数据固有的层次结构或潜在结构。
并行计算、SGD优化和自动差异化方面的进步使使用大型数据集大规模应用深度学习成为可能。
最近,人们对开发针对AD的深度学习方法产生了极大的兴趣。这是因为缺乏针对涉及复杂数据的AD任务的有效方法,例如,从组织病理学中的数十亿像素整张幻灯片图像中检测癌症【124】。与深度学习的其他应用一样,深度AD的目标是减轻手动特征工程的负担,并实现有效、可扩展的解决方案。
然而,与有监督的深度学习不同,深度AD的有用表征学习目标是什么还不太清楚,因为该问题的本质大多是无监督的。

深度异常检测方法包括:deep AE variants,deep one-class classification,基于DGMs的如:GANs。
传统AD方法中,特征表示是先验固定的(例如,通过内核特征映射),而深度方法可以学习数据的特征映射。


然而,在AD研究的整体背景下,深度学习方法的综合处理,尤其是其基于内核的学习部分【6】、【7】、【183】——仍然缺失。

在这篇综述文章中,作者的目的是通过提出一个统一的观点来填补这一空白,该观点将传统的浅层学习方法与新颖的深度学习方法联系起来。

3. An introduction to anomaly detection

3.1 异常检测的重要性

(1)异常检测是我们日常生活的一部分,如信用卡支付、账户登录、公司内部网络的异常检测。异常检测算法对今天的很多应用和服务都很重要,甚至是一点点提升都可能导致巨大的经济效益。

(2)异常检测的能力对确保基于深度学习的系统的安全性和鲁棒性有着重要的作用,如医药系统和自动驾驶系统。

3.2异常检测的挑战

1)正常样本的方差可能很大,这会导致将正常样本识别为异常(type I error),或者识别不了异常样本 (type II error)。为了减少方差,预处理、标准化、特征选择是必不可少的步骤。

(2)异常点通常很少,这导致了训练数据的不平衡。甚至大部分情况下,数据是没有标签的。

(3)异常点可能种类非常多,想通过一个模型去识别它们很困难。所以,模型一般是学习正常样本的分布,将不同于正常样本的样本判断为异常。然而,如果正常样本的分布不断改变,这思路会失效。

异常检测能够发现数据中新的,未知的模式,从而提供了新的 insights 和 hypotheses。

3.3 Formal Definition of Anomaly Detection

这节从概率角度定义异常点,描述异常点的类型,区分三个概念的细微差别:an anomaly, an outlier, a novelty 等。
提出异常检测的基本原理:集中度假设,给出数学公式。

(1)what is an anomaly?

定义:异常是一种严重偏离正态性概念的观察结果
定义的概率形式:

(2)types of anomalies

  1. 点异常
  2. 条件/上下文异常
  3. 集体异常

异常类型链接:https://editor.csdn.net/md/?articleId=124472597

(3)Anomaly(异常点), Outlier(离群点), or Novelty(新奇点)?

(4)Concentration Assumption(集中度假设)

(5)Density Level Set Estimation(密度水平估计)



(6)Density Estimation for Level Set Estimation

Density Level Set Estimation(密度水平估计)的一个常用方法:密度估计
该方法的核心思想:使用给定密度估计方法(参数化,非参数化方法),选定阿尔法分位点进行分类。

(7)Threshold Versus Score

(8)Selecting a Level α

α 的选择取决于具体的场景。当 α 值变大时,异常检测器更加关注分布 α 的中最有可能出现的区域,从而更多的样本被识别为异常,这在医学诊断和诈骗检测中是有用的,因为错过一个异常就会付出巨大的代价。另一方面,更大的 α 会导致更大的假阳率,在某些场景下是不可接受的,如 monitoring tasks,因为有大量的数据不断产生。α 的选择也取决于分布 α的潜在假设,将在其他章节讨论。

3.4 数据集设定和数据集属性

The data set settings 指的是无监督、半监督、弱监督模式。data properties 指的是数据类型或维度。在不同的现实场景中,它们大不相同。本节我们介绍的内容为:(1)异常样本的分布;(2)无监督;(3)半监督;(3)监督;(5)数据性质。

(1)Distribution of Anomalies

(2)Unsupervised Setting

(3)Semisupervised Setting

(4)Supervised Setting

(5)Further Data Properties

https://zhuanlan.zhihu.com/p/419163607

3.5 Challenges in Anomaly Detection

这节主要是提出异常检测中值得关注的一些挑战。

(1)大部分异常检测都属于无监督,因而这部分异常检测工作跟无监督共享同样的挑战。

(2)如何在具体的任务中设计一个 anomaly score 或 threshold。

(3)参数 [公式] 如何在 false alarms 和 miss anomalies 中取得平衡。

(4)要考虑到数据生成过程中的 noise 和 contamination 对模型鲁棒性的影响。

(5)数据本身的性质对建模的影响。

(6)数据生成的过程是否是静态的?数据的分布是否在测试阶段发生了变化?

(7)对于高维度数据,如何解决维度灾难问题?如何选择跟任务有关的特征?

(8)深度异常检测面临的挑战有:超参数的增多,框架的选择,优化参数的设置。

(9)当数据或模型越来越复杂时,模型的可解释性就成为一个重要的问题。

4. Density Estimation and Probabilistic Models(密度估计和概率模型)

作者介绍的第一类方法通过估计正态数据概率分布来预测异常。
因此,现有概率模型的丰富性是AD任务的一个明显候选。这包括经典的密度估计方法[252]和深度统计模型。下面,我们将介绍这些技术对AD的适应性。

4.1 Classic Density Estimation

Laurikkala et.al 用测试样本到训练样本均值的马氏距离来衡量异常,这是最基本的方法之一。Jain et.al 用训练数据去拟合多元高斯分布,根据模型来评估测试样本的似然值,该方法能捕获维度之间的相互作用。若要处理更为复杂的分布,要用到非参数密度估计模型,如核密度估计 KDE,直方图估计,混合高斯分布 GMMs。比起直方图估计,KDE 在理论上有优势。比起 GMMs,KDE 在参数选择和拟合方面有优势,KDE 是最为流行的非参数模型。这类经典的非参数模型在低维度数据中表现相当好,但却无法处理高维度数据。而深度统计模型则可以克服这一局限。

4.2 Energy-Based Models

4.3 Neural Generative Models (VAEs and GANs)

4.4 Normalizing Flows(规范化流)

5. One-Class Classification(一分类)

One-class classification,也叫 single-class classification,它们旨在直接学习一个决策边界,与正常样本的分布 P+的 density level set 相对应,从而最小化误差。

5.1 一分类的目标

该类方法的目标旨在学习一个决策边界,降低两个比率:(1) false alarm rate: 把正常样本识别为异常样本。(2)miss rate: 把异常样本识别为正常样本。要达到第一个目标很简单,只需要学习一个将所有样本包围起来的边界即可。但这样的话,正常样本和异常样本都在一起了,无法区分。所以,这个边界要尽可能将异常样本排除在边界外。一般来说,会先设定一个先验的 false alarm rate,再去优 miss rate。

5.2 One-Class Classification in Input Space

5.3 Kernel-Based One-Class Classification

5.4 Deep One-Class Classification

5.5 Negative Example

One-class 分类器能够利用上有标注的负样本。这些负样本能够加速对 miss rate 的实证估计。我们总结了已有工作所提出的三种 negative examples,分别是 artificial, auxiliary, true 负样本。

(1)Artificial

通过人工合成数据去解决无监督问题的想法已经有一段时间了。如果我们假设能从异常分布 [公式] 中产生数据,那么我们可以简单地训练一个二分类模型来区分正常样本和人工合成的异常样本。如果 [公式] 服从均匀分布,那效果还可以。但这种均匀分布的抽样方法在高维空间中变得无效。因此,已有工作提出了很多其他抽样方法,如重抽样计划、流形抽样、基于局部密度估计的抽样,积极学习策略等

(2)Auxiliary

最近,有的工作利用一些公开可获得的数据作为 auxiliary 的负样本,比如计算机视觉任务中利用来自图片分享网站的图片,NLP 任务中利用来自 English Wikipedia 的语料。这些 auxiliary 样本提供更多的领域知识。这种方法叫做 Outlier Exposure,它能在某些任务上显著地提升异常检测的表现。

(3)True

具备最多信息的标签肯定是真正的异常样本,比如由领域专家所标记的异常样本。有些工作表明,即使只有少量的标签,也能显著地提升模型的性能。也有一些工作提出 active learning 算法,通过用户的主观反馈来学习具有特定用户信息的异常点。

6. Reconstruction Models

在异常检测领域,最早出现的神经网络类方法是以重构为目标的方法。基于重构的方法旨在学习一个模型,能很好地重构正常样本,同时将不能准确重构的样本判断为异常样本。这类方法大都有 purely geometric motivation,比如 PCA、deterministic AEs。

这节旨在定义该类方法的学习目标,潜在的假设,异常分数的设计。

6.1 重构目标



Reconstruction Anomaly Score(重构异常评分)

6.2 Principal Component Analysis

6.3 Autoencoders(自编码器)

6.4 Prototypical Clustering(原型聚类)

带有 prototype assumption 的聚类方法是基于重构的异常检测的一种。该方法中,重构误差就是样本点到它的 prototype 的距离。该类方法中常用的是 VQ 算法,k-means,k-medians,和 k-medoids。它们在度量空间(一般是输入空间)中定义了 Voronoi partitioning。也有异常检测工作研究 k-means 的核方法类的变种,混合高斯分布。

7. Unifying View of Anomaly Detection

这节主要对众多的异常检测方法提出一个统一的框架,促进现有的异常检测方法之间的算法思想迁移,从而发现更多的研究方向。

7.1 Modeling Dimensions of the AD Problem

我们将异常检测模型拆分为五个维度:

  1. Loss
    半监督和监督方法的损失函数包含标签。而无监督的损失函数不包含标签。

  2. Model
    模型将一个样本映射到一个实值,该实值参与损失的评估。因为异常检测和密度估计有着紧密的联系,所以许多方法有等价的似然模型。

  3. Feature Map
    它是模型的一部分,负责将原始数据空间投射到一个新的特征空间。在核方法中,Feature Map就是核,在深度模型中,它就是神经网络。

  4. Regularization
    正则项有多种形式,比如正则项 [公式] ,[公式] 包含了模型的参数,feature map 的参数。

  5. Inference Mode
    如果异常检测模型跟贝叶斯推断有关的,则有此阶段。

学习目标
基于以上五个维度,我们可以总结出异常检测模型的普遍性的学习目标,如下:

7.2 比较和讨论

方法比较
(1)很多 probabilistic methods 依赖于负对数似然的目标。在这个目标下,模型能对样本进行排序。

(2)Reconstruction methods 下的样本也能进行排序。它特别适合于流形数据和 prototypical structure。

(3)one-class classification methods 不能对样本进行排序。显然,它能提供的信息相对较少,但它更有效率和更鲁棒。在该方法中,我们也将从点到决策界面的距离当成排序的指标,但它不一定能反映数据的模式。

Ideas 迁移
在大一统框架下,我们也能发现,浅层和深层异常检测模型的一些 ideas 能相互迁移。有以下例子说明:

(1)kernel SVDD 和 Deep SVDD 都用到了一个超球面模型。

(2)deep AEs 通常在原始的数据空间中定义重构误差,而 kPCA 在核特征空间中定义重构误差。那么,是否在神经网络特征空间中定义误差对模型 AEs 也有益呢?最近的一些工作就在 AE 的隐藏层中定义重构误差。

(3)是否在 deep AE 中嵌入 prototype assumption 会更有用呢?该如何嵌入?VQ-VAE 模型就通过在编码器和解码器之间引入离散的 codebook,从而嵌入 prototype assumption,是个值得参考的例子。

7.3 Distance-Based Anomaly Detection

我们为学习目标是基于损失的异常检测方法提供了一个统一的框架。但除了基于损失的异常检测模型,还有一类异常检测模型是基于距离的,在 data mining community 中也有很多已有工作。这类方法很多都采取惰性学习策略,即不会预先训练好模型,只有当新的测试样本出现时,才进行评估。这一类方法包括最近邻居法,比如 LOF,划分树法,比如孤立森林。这类方法很少跟深度学习相结合。

8. Evaluation and Explanation(评估和解释)

在实践中,异常检测面临第一个问题就是基准数据集 benchmarks,第二个问题是如何评估的效果,而近些年来,模型的可解释性也备受关注。本节将深入探讨这三个问题。

8.1 Building Anomaly Detection Benchmarks


如上图所示,已有的 benchmarks 大致可划分为三类。

(1) k-classes-out: 从已有的二分类或多分类数据集中,将一类或多个类设为正常样本,其余设为异常样本。由于所有异常样本都属于同一类,这种 benchmarks 不能很好地模拟真实异常点的特质。

(2) Synthetic: 从有监督或无监督的数据集中人工合成异常点。从统计学角度来说,人工合成能将误差控制在一定范围内,能更全面掌控异常点。但真正的异常点可能是未知的或难以人为合成的。

(3) Real-world: 这是最理想的 benchmarks,异常点是由人类专家标记的。专家还可以指出样本的哪个特征跟异常有关。

值得注意的是,跟以上三类 benchmarks 相比,真实数据集中的异常点更为多样。

8.2 Evaluating Anomaly Detectors

8.3 Explaining Anomalies

对模型的预测进行解释在有监督领域已经比较常见,该研究方向叫做 XAI (Explainable Artificial Intelligence),比较流行的方法有 LIME,Grad-CAM,integrated gradients,layerwise relevance propagation (LRP)。

XAI 已经被引入无监督学习和异常检测中。有监督场景的主流模型是深度学习模型,对它们用一个统一个框架进行解释比较容易。但无监督场景的方法比较多,有基于核的,基于概率的,基于神经网络的,异质性强,因此不容易设计一个统一的解释框架。为了达到一致性解释,以下两个方向比较 promising:

(1) 模型无关 (model-agnostic) 解释技术。该技术不依赖与模型本身,而是依赖于其他要素,如抽样技术。

(2) neuralization,即指将非神经网络模型转换到等价的神经网络

9. Conclusion and Outlook(结论与展望)

9.1 Unexplored Combinations of Modeling Dimensions

已经有很多工作从不同的维度去研究异常检测。这篇综述已经从概念层面回顾了异常检测中的核方法和深度学习方法的相似性。在这两个类别下的新方法的设计思路很不同。我们认为,这两类方法的思路可以相互借鉴。以下是我们认为可以探索的方向:

(1)在模型对噪音、样本污染、信噪比的鲁棒性问题下,已经开发了很多 shallow methods,然而有关的深度方法却很少。

(2)贝叶斯推断属于 shallow method,近期贝叶斯近似和贝叶斯神经网络用不确定性估计作为异常分数的补充。

(3)在半监督异常检测领域,核方法的想法已经迁移到 deep one-class classification。然而能够利用有标签的异常样本的概率方法和重构方法却得到相对较少的关注。另外,对于时间序列的异常检测,如果能利用上有标记的样本,则能大大提高模型的性能。来自 density ratio estimation, noise contrast estimation, or coding theory 的概念也能引致该领域的创新。

(4)异常检测的积极学习策略已经引入了浅层的检测器,它可以扩展到深度学习方法中。

9.2 Bridging Related Lines of Research on Robustness

9.3 Interpretability and Trustworthiness

部分的异常检测研究都专注于提高模型的检测精度。但模型的可解释性和可靠性同样重要。可解释性能加强模型的透明度,它促进可靠性决策,解释模型的失败,理解模型的缺陷。

异常检测的解释工作已有如下:(1)找到异常判别性特征的子空间;(2) deducing sequential feature explanations;(3) 使用特征层面的重构误差;(4) 使用全卷积架构;(5)通过积分梯度或 LRP 解释异常性。

尽管有以上工作,目前在可解释性和可靠性方面的论文还是相当少。这其中存在的挑战有:(1)异常点很可能是异构的,产生机制各不相同;(2)异常点的出现可能是由异常模式产生的,也可能是由缺乏正常模式的对比而产生。前者的解释可集中于异常特征,而后者尚无对策。(3)当任务和数据变得越来越复杂的时候,解释会变得越来越困难。

9.4 Need for Challenging and Open Data Sets

明确的模型评估指标和公开的数据集对推动研究领域发展非常重要。比如计算机视觉领域的成功无疑得益于其公开的 ImageNet database 和一些竞赛。现有的关于深度异常检测,OOD 检测,开集分类问题的工作仍然是大量地修改分类数据,将一些数据类别视为异常,其余视为正常;或者考虑 in-distribution 和 out of distribution 的组合。虽然这些人为合成的数据具有一定的价值,但它们是否能真正反映异常的本质是值得商榷的。

值得警醒的是,只有少数的方法在大部分数据集上取得绝对的优势。也就是我们在评价新方法的时候可能出现了偏差。我们经常只注重分析新方法的优势,却不去分析它的劣势和局限。我们认为在判断模型什么时候或多大程度上会出错是很重要的,应该获得更多关注。而这时就需要有多样化的数据去支撑模型评估。

最近的数据集和竞赛,如 MVTec-AD 和 Medical Out-of-Distribution Analysis Challenge,是拓展该领域研究的好例子。同时,我们需要更多的数据集和竞赛。

9.5 Weak Supervision and Self-Supervised Learning

大量的异常检测聚焦于无监督学习。最近的进展表明,弱监督和自监督学习能解决更为复杂的检测任务。

弱监督
弱监督从少量的或者不完美的有标注数据中学习。以下三个弱监督方向的研究尚未被充分探索,值得关注:

(1)最近的 SSAD 模型表明即使只有少量被标记的异常样本也能够在复杂数据上明显地提升模型性能。它的模式是将半监督学习和积极学习相结合,更好地识别对预测有用的样本。具体来说,让模型与专家交互,抛出未标注数据让专家确定标签,如此反复,以期让模型用较少的标记数据获得更好的性能。

(2)使用大量的公开的某些领域的数据作为辅助的 negative samples,在某种程度上也属于弱监督。虽然这些 negative samples 不一定能反映真实异常样本的特质,但这对学习正常样本的表征具有加强作用。

(3)将迁移学习应用于异常检测,让更多的领域知识蒸馏到模型中。

涉及高维数据富含语义的异常检测场景中,弱监督和引入领域先验知识都是解决问题的有效方法。
自监督
自监督通过学习辅助性任务来学习样本的表征。这些辅助性任务是不需要样本的标签,因而自监督任务适合于大量无标记的样本场景,对异常检测非常有吸引力。

自监督的方法被引入可视化异常检测多分类模型中,图像(样本)的伪标签源自于图像的几何转换。模型最后一层的输出经过softmax后产生一个预测分布,该预测分布越接近均匀分布则意味着越高的预测不确定性,意味着异常点的存在。这些方法在 k-classes-out 的图像数据集上取得了显著的效果。Bergman et.al 最近提出将这些方法泛化到非图像数据中,对它们进行仿射变换,该类方法称为 GOAD。

自监督方法和对比学习结合起来,也是一个有前景的研究方向。

广义来说,关于自监督的有趣研究问题是:自监督在多大程度上学习到异常检测任务的语义表征?这个研究问题值得探索。

9.6 Foundation and Theory

异常检测近来的进展中出现了更多的 fundamental questions,包括 (1) 各种方法的泛化能力,(2)异常点在高维空间中的定义,(3)对预测结果的理论解释。

Nalisnick et.al 观察到深度生成模型,如标准化流,VAEs,自回归模型,通常赋予异常点更高的似然值。很多后续的工作都有这种现象。但这种现象是反直觉的,这表明我们严重缺乏对这些模型的理论解释。有充分的证据表明,这种反直觉现象的原因之一是生成模型很大程度上偏向于 low-level 的统计背景,即简单的数据点容易获得更高的似然值。另一种解释是,对于高维度空间的数据,高密度区域不一定是高概率质量,高概率质量的点更容易出现。这种现象质疑了标准理论密度建模和基于似然的异常检测模型,因此值得探索。

基于重构的模型能很好地重构在凸包数据内的简单 OOD 点。比如,一个在 MNIST 数字集上训练的 AE 能很好地重建一张异常的全黑图像。这种效果很明显不是异常检测想要的达到的。因此,我们应该寻求在理论上了解这种 OOD 的特质。

深度学习也为从不同理论角度去解释和分析 AD 问题提除了新的可能。比如,AE 可以从信息论的角度去理解,根据信息最大化原则,它隐式地最大化输入和隐表示的互信息。相似地,从信息论角度看 VAEs,它们旨在在压缩空间和重构的精度两个方面取得平衡。最近,这种观点将 VAEs 和 Deep SVDD 联系起来。Deep SVDD 可以看成是一个特殊的案例,它只最求最大化压缩空间。 总的来说,从信息论角度研究异常检测的工作还不多,我们觉得这是个不错的研究方向。

异常检测中的浅层模型与深度学习模型综述(A Unifying Review of Deep and Shallow Anomaly Detection)相关推荐

  1. 人脸检测实战:使用opencv加载深度学习模型实现人脸检测

    使用 OpenCV 和深度学习进行人脸检测 今天的博文分为三个部分. 在第一部分中,我们将讨论更准确的 OpenCV 人脸检测器的起源以及它们在 OpenCV 库中的位置. 然后我将演示如何使用 Op ...

  2. 【NLP-NER】命名实体识别中最常用的两种深度学习模型

    命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务.NER是信息提取.问答系统.句法分析.机器翻译等众多NLP任务的重要基础工具. 上一期我们介绍了N ...

  3. python网格搜索法_Python中基于网格搜索算法优化的深度学习模型分析糖尿病数据...

    介绍 在本教程中,我们将讨论一种非常强大的优化(或自动化)算法,即网格搜索算法.它最常用于机器学习模型中的超参数调整.我们将学习如何使用Python来实现它,以及如何将其应用到实际应用程序中,以了解它 ...

  4. 血细胞智能检测与计数软件(Python+YOLOv5深度学习模型+清新界面版)

    摘要:血细胞智能检测与计数软件应用深度学习技术智能检测血细胞图像中红细胞.镰状细胞等不同形态细胞并可视化计数,以辅助医学细胞检测.本文详细介绍血细胞智能检测与计数软件,在介绍算法原理的同时,给出Pyt ...

  5. 【视频课】先搞懂你用的模型,深度学习模型分析课程来了!

    前言 欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用. 第2层 ...

  6. 深度学习模型实战-深度学习模型在各大公司实际生产环境的应用讲解文章

    仓库地址:https://github.com/DA-southampton/Tech_Aarticle/edit/master/README.md 建这个仓库的是因为工作之后发现生产环境中应用的模型 ...

  7. 深度学习baseline模型_深度学习模型在序列标注任务中的应用

    作者 丨e成科技NLP部门自然语言理解小组 王奕磊 背景 序列标注任务是中文自然语言处理(NLP)领域在句子层面中的主要任务,在给定的文本序列上预测序列中需要作出标注的标签.常见的子任务有命名实体识别 ...

  8. 用于阿尔茨海默症分期早期检测的多模态深度学习模型

    目前大多数阿尔茨海默症(AD)和轻度认知障碍(MCI)研究使用单一数据模式来预测,例如AD的分期.多种数据模式的融合可以提供AD分期分析的整体视图.因此,我们使用深度学习对成像(磁共振成像(MRI)) ...

  9. AI Earth 深度学习模型替换数值天气预报模型中的参数化方案-大气辐射传输方案

    1.背景 太阳辐射和热辐射是大气和海洋运动的最根本的驱动力.大气辐射传输过程实际上已经可以通过一种叫做LBLRTM的辐射模型精确计算,但是LBLRTM模型同时也最为耗时.因此,有各种各样的辐射传输参数 ...

最新文章

  1. c的开始,求最大数。
  2. project-population
  3. [LeetCode] 547. Friend Circles Java
  4. lucene,lucene.net学习教程
  5. 在PHP中利用wsdl创建标准webservice
  6. 51单片机4位数乘法C语言,51单片机实现4位数以内的加减法
  7. python连接服务器informix_Python 用odbc连接Informix数据库 64位
  8. 《东周列国志》第六十七回 卢蒲癸计逐庆封 楚灵王大合诸侯
  9. 【SpringBoot】1、创建第一个SpringBoot项目
  10. 已发送邮件如何撤回?
  11. 德硕ABeam三位顾问获得SAP认证,企业数字转型有保障
  12. 读《计算机科学概论》
  13. JavaOne美国之行–Session篇
  14. 说说 Redis pipeline
  15. mysql数据库查询余额_MySQL 数据库(三):查
  16. linux7 seinfo,SELinux+
  17. 谷歌浏览器代理服务器有问题
  18. CAD圆命令的高阶练习、CAD高阶绘图练习
  19. 软件测试,随机bug开发敷衍不修改?我.......差点又背锅了
  20. NOIP2018提高组Day1 解题报告

热门文章

  1. win10弹出计算机内存不足,主编解答win10系统提示“计算机内存不足”的解决方案...
  2. 算法学习(2)----丢番图方程
  3. C++Error2208:...尝试引用已删除的函数
  4. C语言——有一个已经排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中。
  5. win7计算机摄像头怎么打开,Win7笔记本摄像头怎么打开?Win7笔记本打开摄像头的方法...
  6. ubuntu上使用certbot安装ssl证书到nginx
  7. HTML5制作坦克大战游戏+Canvas绘制基础图形——学习笔记一
  8. CTFHub-时间盲注-wp #(自制脚本做法)
  9. 线性代数 --- 用内积重新定义矩阵的转置(个人学习笔记)
  10. tensor如何实现转置_转置()TensorFlow中的函数