【文章学习系列之模型】DAGMM

本章内容

  • 文章概况
  • 模型结构
  • 损失函数
  • 实验结果
  • 实验分析
  • 总结

文章概况

《Deep Autoencoding Gaussian Mixture Model for Unsupervised Anomaly Detection》是2018年发表于ICLR的一篇论文,该论文提出一种端到端的无监督异常检测方法DAGMM,取得了不错的效果。

文章链接
代码链接

模型结构

在这里插入图片描述
深度自编码高斯混合模型(DAGMM)主要由压缩网络和评估网络两大部分组成。

上图左侧橙框,压缩网络通过自编码器对输入样本进行降维,从降维空间和重构误差特征中提取低维表示,并将表示提供给后续的评估网络

上图右侧红框,评估网络获取压缩网络提供的数据,并在高斯混合模型 (GMM) 框架中预测它们的可能性/能量。

压缩网络的特征提包含两个部分:由深度自动编码器学习到的低维特征 Z c Z_c Zc和重构误差得到的低维特征 Z r Z_r Zr,随后 Z c Z_c Zc Z r Z_r Zr组成 Z Z Z,提供给后续的评估网络,并经过多层全连接最终得到模型的输出值 π ^ \hat{π} π^,其中包含了经过 s o f t m a x softmax softmax后的类别概率 γ ^ \hat{γ} γ^

在这里插入图片描述
获得模型的输出结果后,根据上图所示的多元高斯概率密度相关公式和评估能量公式,可以得到当前样本的能量,并通过预先选择的阈值预测高能量样本为异常。

损失函数

在这里插入图片描述
损失函数包含三个部分。

第一个是重构误差。若重构误差较小,则表明低维数据能够保存原始数据的关键信息并进行高效重构。

第二个是样本能量。通过最小化样本能量寻找压缩网络和评估网络的最佳组合。

第三个是正则项。协方差矩阵的每个元素都需要计算期望值,而期望值的计算需要大量的数据,当混合模型的点数不足时,协方差矩阵计算容易出现偏差,出现奇异性问题,因此添加一项正则项,一定程度上减弱奇异性带来的影响。

此外 λ \lambda λ为超参数,用于平衡损失函数的三个部分。

实验结果

作者没有使用预训练的方式对模型进行训练,而是采用端到端的方式训练整个网络,因为预先训练好的压缩网络性能有限,不利于后续评估任务的训练,相反,压缩网络和评估网络的端到端训练可以相互提高性能。
在这里插入图片描述
作者使用多种模型和变体在多种数据集中进行对比,实验表明本文所提方法取得不错的检测效果。

实验分析

在这里插入图片描述
为了测试模型抗污染能力,作者先选取50%的随机样本,再在剩下的样本中选择所有的正常样本和c%的异常样本。正如所料,随着异常样本占比增加,所有方法的检测性能均产生了显著的下降,在5%时,本文所提方法的各项指标依旧保持在0.85左右,远远优于其他方法的所有试验结果。这表明通过端到端训练学习到的DAGMM在公共基准数据集上达到了最先进的精度,并为无监督异常检测提供了一种很有前途的替代方法。

在这里插入图片描述
上图可视化展示了DAGMM更好地将红蓝点进行划分,而其他三种表现类似,蓝红错杂程度更高。

总结

这篇论文的模型结构和训练方式对后来的研究者有着深远的影响,不少异常检测的无监督研究依旧是沿用这一套路线继续探索,并取得了不错的效果。从以下三个方面解决了无监督异常检测方面的挑战。
1.DAGMM在低维空间中保留了输入样本的关键信息,包括降维特征和重构误差特征。
2.DAGMM利用学习到的低维空间上的高斯混合模型(GMM)来处理具有复杂结构的输入数据的密度估计任务。
3.利用端到端的训练方式,DAGMM的估计网络引入的正则化极大地帮助压缩网络中的自动编码器避免陷入局部最优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/144577.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Sentinel底层原理(下)

1、概述 Sentinel的核心原理,也就是前面提到暗流涌动的SphU.entry(…)这行代码背后的逻辑。 Sentinel会为每个资源创建一个处理链条,就是一个责任链,第一次访问这个资源的时候创建,之后就一直复用,所以这个处理链条每…

C#几种截取字符串的方法

在C#编程中,经常需要对字符串进行截取操作,即从一个长字符串中获取所需的部分信息。本文将介绍几种常用的C#字符串截取方法,并提供相应的示例代码。 目录 1. 使用Substring方法2. 使用Split方法3. 使用Substring和IndexOf方法4. 使用Regex类…

【PTQ】Cross-Layer Equalization跨层均衡-证明和实践详细解读

Cross-Layer Equalization跨层均衡 aimet解读 符合规则的模型结构 统一要求:单数据流,中间激活不流向其他地方概念说明: Conv: gruoups1的普通卷积,包括TransposedConv和ConvDepthwiseConv: 深度可分离卷积,groupsi…

青少年编程学习 等级考试 信奥赛NOI/蓝桥杯/NOC/GESP等比赛资料合集

一、博主愚见 在当今信息技术高速发展的时代,编程已经成为了一种必备的技能。随着社会对于科技人才的需求不断增加,青少年编程学习正逐渐成为一种趋势。为了更好地帮助青少年学习编程,提升他们的技能和素质,博主结合自身多年从事青…

C++:map和set的封装原理

文章目录 红黑树的封装map和set的封装红黑树迭代器的实现operator 和 -- 的实现的实现过程 迭代器的其他模块 整体实现 本篇写于红黑树模拟实现后,对map和set进行封装,模拟实现map和set内部的原理 首先,map和set的底层逻辑是红黑树&#xf…

idea生成代码(一):实现java语言的增删改查功能(基于EasyCode插件)支持自定义模板【非常简单】

idea生成代码(一):实现java语言的增删改查功能(基于EasyCode插件)支持自定义模板【非常简单】 idea生成代码(二):实现java语言的增删改查功能(基于mybatis-plus代码生成器…

centralwidget 不能布局

必须要在QT ui中添加一个任意的子控件(比如添加了一个pushButton),然后在centralwidget 才能右键设置布局,成功去掉centralwidget 右下角的红色的标记。

视频直播点播平台EasyDSS无法删除分组,如何解决?

EasyDSS视频推拉流平台可支持用户自行上传视频文件,也可将上传的点播文件作为虚拟直播进行播放。平台能支持多屏播放,可兼容Windows、Android、iOS、Mac等操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性。 有用户反馈&…

Facebook账号运营技巧

Facebook作为全球知名的社交媒体平台之一,坐拥着庞大的用户群体,吸引大量的跨境电商加入,那么肯定就会有少部分的卖家对于Facebook账号运营不是很了解,下面小编将讲一下Facebook账号运营的一些小技巧。 1、明确目标受众 首先需要明…

STM32F103C8 PC13端口无输出原因

如果开启了RTC功能,就要注意PC13端口的设置。要把RTC OUT 由“Disable”改成“No RTC Output”,才行。

创新旗舰X100:手机周期大考下,vivo的“满分答案”

对于智能手机行业来说,今年是触底反弹,逆转上扬的一年。 利好在于,科技与经济双周期拐点已经到来。在当前消费结构升级的关键阶段,随着经济持续恢复向好,国内总的消费趋势正稳步向上。 一直以来,智能手机…

IP-guard flexpaper远程命令执行漏洞复现 [附POC]

文章目录 IP-guard flexpaper RCE漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 IP-guard flexpaper RCE漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测…

Center Smoothing Certified Robustness for Networks with Structured Outputs

文章目录 Center Smoothing: Certified Robustness for Networks with Structured OutputsSummaryResearch ObjectiveProblem StatementMethodsEvaluationConclusionNotesGaussian Smoothing常用希腊字母霍夫丁不等式(Hoeffdings inequality)1.简述2.霍夫…

关于dinput8.dll丢失的问题,提供六种解决办法

不知dinput8.dll文件大家是否有所了解,或者你的电脑中是否出现过关于dinput8.dll文件丢失问题。如果你的电脑中出现了关于dinput8.dll丢失的问题,那么这篇文章给大家提供六种解决dinput8.dll丢失的办法。希望能够帮助大家解决dinput8.dll丢失。 一.dinpu…

今日最新版早安问候大全,创意好看的早上好祝福图片带字温馨

1、阳光照,鸟欢叫,小懒猪,起床了,伸懒腰,笑一笑,深呼吸,精神好,开心到,欢乐抱,幸福随,乐淘淘,好运伴,祝福来,每…

STM32H750之FreeRTOS学习--------(六)FreeRTOS的列表和列表项

六、FreeRTOS的列表和列表项 文章目录 六、FreeRTOS的列表和列表项列表相关结构体列表项相关结构体迷你列表项列表相关API函数介绍初始化列表vListInitialise()函数vListInitialiseItem()函数vListInsert()函数 vListInsertEnd()函数 uxListRemove() 列表就是一个双向链表&…

C++——内存管理(new/delete使用详解)

C内存管理 本章思维导图: 注:本章思维导图对应的xmind文件和.png文件已同步导入至资源 1. C/C内存区域的划分 在C/C中,内存区域主要划分为:内核区域、栈区、内存映射段、堆区、数据段、代码段等区域,如图&#xff1…

Linux系统软件安装方式

Linux系统软件安装方式 1. 绿色安装2. yum安装3. rpm安装3.1 rpm常用命令 4. 源码安装4.1 安装依赖包4.2 执行configure脚本4.3 编译、安装4.4 安装4.5 操作nginx4.6 创建服务器 1. 绿色安装 Compressed Archive压缩文档包,如Java软件的压缩文档包,只需…

面试?看完这篇就够了-深入分析从点击应用图标到应用界面展示

作者:GeeJoe 从点击桌面图标到应用界面展示 从桌面点击图标到应用界面第一帧绘制出来,整个流程涉及的过程复杂,为了便于理解,这里将整个流程分为四个阶段:应用进程启动阶段、应用进程初始化阶段、Activity 启动阶段、…