Revisiting Reverse Distillation for Anomaly Detection

重新审视反向蒸馏在异常检测中的应用

 文章链接:点这里

源码链接:点这里

前言

此篇文章是在 Anomaly detection via reverse distillation from one-class embedding 这篇的基础上改进创新的。重新审视了反向蒸馏(KD)这一想法,通过检查特征紧密性和异常信号抑制来确定RD方法的局限性。认为仅仅依靠蒸馏任务和OCBE模块不足以为学生提供紧凑的表示。此外,没有观察到像作者声称的那样使用OCBE块来丢弃异常模式的显式机制。为了解决这些问题,将RD与多任务学习结合起来,提出了RD++

RD++解决两个任务:

特征紧凑性任务:通过提出一种自监督的最优运输方法。
异常信号抑制任务:通过模拟带有单纯形噪声的伪异常样本,使重建损失最小化。

 研究方法

在每个中间教师块之后直接集成一个投影层,为学生网络提供一个紧凑的、无异常的表示。对于特征紧致性任务,提出了两个损失函数:自监督最优传输损失(L_{SSOT})用于将正态特征空间投影到紧致表示、对比损失(L_{Con})通过将投影的正常特征与异常特征分开来支持投影层学习紧凑嵌入。对于异常信号抑制任务,首先设计了伪异常机制,在训练过程中模拟伪异常样本,后提出重建损失(L_{Recon}),指导投影层知道如何从伪异常特征中重建正常特征空间。

伪异常机制

采用单纯形噪声,将扰动项随机添加到正常图像中。单纯形噪声在模拟基于幂律的异常分布方面优于高斯噪声。 

①首先定义一个离散随机分布 U[a,b],用于生成噪声的高度h_{noise}和宽度w_{noise},以及噪声的起始位置x_{start}y_{start};                                         

②通过一个外层循环遍历训练的所有epoch。每个 epoch 表示对整个训练集的一次完整遍历;   

③每个 epoch 中,算法遍历正常训练集X中的每个正常样本X_{i};                                         

④对于每个正常样本X_{i},算法从离散随机分布U[a,b]中随机生成噪声的高度h_{noise}和宽度w_{noise}

⑤算法从离散随机分布U[a−h_{noise},b−w_{noise}]中随机生成噪声的起始位置x_{start}y_{start}。这样可以确保噪声区域不会超出图像的边界;       

⑥使用单纯形噪声(Simplex Noise)生成一个噪声块 ϵ;       

⑦算法创建一个与正常样本X_{i}形状相同的全零矩阵ξ;       

⑧算法将生成的单纯形噪声 ϵ 添加到矩阵 ξ 的特定区域 [x_{start}x_{end},y_{start}y_{end}],其中 x_{end}=x_{start} + h_{noise}和 y_{end}=y_{start} + w_{noise}​;   

⑨算法将噪声矩阵 ξ 乘以一个噪声强度系数 λ,然后将其添加到正常样本X_{i}中,生成伪异常样本X_{i}=X_{i} + λ ∗ ξ;         

⑩生成的伪异常样本X_{i}将用于训练模型,帮助模型学习如何区分正常和异常样本。

​反蒸馏进行异常检测

原始反蒸馏(RD)包含三个模块:一个固定的预训练教师作为编码器、一个可训练的单类嵌入(OCBE)模块、一个学生作为解码器。异构编码器和解码器的反向策略导致了异常的差异表示。OCBE模块采用Resnet的最后一个块进行特征提取,通过将模式压缩到低维空间并消除异常信号来增强反正态性的差异。T-S模型将余弦相似度损失作为知识转移的蒸馏损失:

 多尺度投影层

投影层接收各自教师块的特征作为输入,并在馈送到OCBE模块之前将其投影到紧凑的特征表示中。通过顺序堆叠L个convblock (Convolution,InstanceNorm,LeakyReLU)来设计投影层。在实验设置中设置L = 4。

整体流程

4:使用 Adam 优化器来更新投影层P_{1,2,3}、OCBE 模块O和学生解码器D的参数;

5:算法加载一个小批量的正常样本和伪异常样本。伪异常样本是通过在正常样本上添加噪声生成的;

8:通过教师编码器 E 提取正常样本 χ 在三个块的特征 f_{1},f_{2},f_{3}

9:通过教师编码器 E 提取伪异常样本 ξ(χ) 在三个块的特征\widetilde{f}_{1},\widetilde{f}_{2},\widetilde{f}_{3}

11:通过投影层 P1,P2,P3​ 将正常样本的特征f_{1},f_{2},f_{3}​ 投影到紧凑的特征表示\varnothing _{1},\varnothing _{2},\varnothing _{3}

13:通过投影层 P1,P2,P3​ 将伪异常样本的特征​ \widetilde{f}_{1},\widetilde{f}_{2},\widetilde{f}_{3} 投影到紧凑的特征表示\widetilde{\varnothing} _{1},\widetilde{\varnothing} _{2},\widetilde{\varnothing} _{3}

15:通过学生解码器 D 从 OCBE 模块的输出O(\varnothing _{1},\varnothing _{2},\varnothing _{3}) 中恢复特征g_{1},g_{2},g_{3}

总体损失

总体损失 L 由四个部分组成:

  • 蒸馏损失 L_{KD}:用于最小化教师模型和学生模型特征之间的差异;

  • 自监督最优传输损失 L_{SSOT}:用于确保正常样本的投影特征尽可能接近;

  • 重建损失 L_{Recon}:用于指导投影层从伪异常特征中重建正常特征;

  • 对比损失 L_{Con}:用于将正常样本的投影特征与伪异常样本的特征分开。

推理阶段

给定图像,推理过程如上图所示。这个过程几乎类似于RD,唯一的区别是,在被转发到OCBE模块之前,教师的块输出嵌入被传递到对应的投影层。由于投影层是轻量级的,推断时间几乎与基线RD相同。 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows CMD 命令大全(Complete List of Windows CMD Commands)

Windows CMD 命令大全: Windows CMD 是 Windows 系统内置的命令行工具,用于执行各种命令和管理任务。 称为Command Prompt。它提供了一个通过键入命令来与计算机系统进行交互的方式,类似于早期的DOS操作系统。以下是 CMD 的基础知识和常用命…

hot100-二叉树

二叉树 二叉树递归 相当于这个的顺序来回调换 class Solution {private List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {if(root null)return res;inorderTraversal(root.left);res.add(root.val);inorde…

【JavaWeb13】了解ES6的核心特性,对于提高JavaScript编程效率有哪些潜在影响?

文章目录 &#x1f30d;一. ES6 新特性❄️1. ES6 基本介绍❄️2. 基本使用2.1 let 声明变量2.2 const 声明常量/只读变量2.3 解构赋值2.4 模板字符串2.5 对象拓展运算符2.6 箭头函数 &#x1f30d;二. Promise❄️1. 基本使用❄️2. 如何解决回调地狱问题2.1回调地狱问题2.2 使…

ROS的action通信——实现阶乘运算(三)

在ROS中除了常见的话题(topic&#xff09;通信、服务(server)通信等方式&#xff0c;还有action通信这一方式&#xff0c;由于可以实时反馈任务完成情况&#xff0c;该通信方式被广泛运用于机器人导航等任务中。本文将通过三个小节的分享&#xff0c;实现基于action通信的阶乘运…

centos系统MBR格式转换成gpt格式 (华为云)

在华为云上的centos7.9系统MBR格式转换成GPT格式的步骤 华为云上关于转换的步骤 这个链接里面 gdisk -g /dev/vda 是不对的&#xff0c;-g参数是新创建一个分区&#xff0c;慎用 自己步骤如下&#xff1a;&#xff08;已经试验过&#xff09; 1、gdisk /dev/sda (这里是盘 不…

【Microsoft PowerPoint for Mac】2分钟配置-MAC一键删除PPT中的所有备注

MAC一键删除PPT中的所有备注 1.搜索自动操作2.点击快速操作3.搜索并运行AppleScript4.输入代码&#xff0c;并选择只应用于Microsoft PowerPoint for Mac【右上角】5. CRTLS保存为“清除当前文稿中的所有备注”&#xff0c;PPT中应用。 MAC没自带&#xff0c;需要自己配置 1.搜…

uni-app 开发 App 、 H5 横屏签名(基于lime-signature)

所用插件&#xff1a;lime-signature 使用到 CSS 特性 绝对定位transform 旋转transform-origin transform 原点 复习一下定位元素&#xff08;相对定位、绝对定位、粘性定位&#xff09; 代码# <template><view class"signature-page"><view clas…

【Linux探索学习】第三十一弹——线程互斥与同步(下):深入理解确保线程安全的机制

线程互斥与同步&#xff08;上&#xff09;&#xff1a;【Linux探索学习】第三十弹——线程互斥与同步&#xff08;上&#xff09;&#xff1a;深入理解线程保证安全的机制-CSDN博客 Linux探索学习&#xff1a; https://blog.csdn.net/2301_80220607/category_12805278.html?…

《Effective Objective-C》阅读笔记(中)

目录 接口与API设计 用前缀避免命名空间冲突 提供“全能初始化方法” 实现description方法 尽量使用不可变对象 使用清晰而协调的命名方式 方法命名 ​编辑类与协议命名 为私有方法名加前缀 理解OC错误模型 理解NSCopying协议 协议与分类 通过委托与数据源协议进行…

python-leetcode-每日温度

739. 每日温度 - 力扣&#xff08;LeetCode&#xff09; class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n len(temperatures)answer [0] * nstack [] # 存储索引for i, temp in enumerate(temperatures):while stack and temperat…

山东大学软件学院nosql实验三

实验题目&#xff1a; 用Java做简单查询(2学时) 实验内容 用API方式&#xff0c;做简单查询。 实验要求 在以下要求中选择至少2个&#xff0c;使用Java语言实现数据查询&#xff0c;最终把数据输出到前端界面。 &#xff08;1&#xff09;找出年龄小于20岁的所有学生 &…

【Linux】初探信号的奥秘

目录 一、引入信号&#xff1a; 1、什么是信号&#xff1a; 二、前后台进程&#xff1a; 三、信号的处理方式&#xff1a; 四、键盘数据与信号&#xff1a; 前言&#xff1a; 在Linux系统编程中&#xff0c;信号&#xff08;Signal&#xff09;是一种至关重要的进程间通信…

Bugku CTF CRYPTO

Bugku CTF CRYPTO 文章目录 Bugku CTF CRYPTO聪明的小羊ok[-<>]散乱的密文.!? 聪明的小羊 描 述: 一只小羊翻过了2个栅栏 fa{fe13f590lg6d46d0d0} 分 析&#xff1a;栅栏密码&#xff0c;分2栏&#xff0c;一个栏里有11个 ①手动解密 f a { f e 1 3 f 5 9 0 l g 6 d 4 …

数据库的基本操作

目录 一、查看所有的数据库&#xff1a; 二、创建数据库&#xff1a; if not exists : 字符编码集&#xff1a; 排序规则&#xff1a; 三、查看创建的库&#xff1a; 四、修改数据库&#xff1a; 五、删除数据库&#xff1a; if exists&#xff1a; 前言&#xff1a; 在…

IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题

文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek&#xff08;Ollama方式&#xff09;2.2 通过第三方服务商提供的API进行配置 三、效果测试 引言 许多开发者尝试通过安装Proxy AI等插件将AI能力…

Java+SpringBoot+Vue+数据可视化的音乐推荐与可视化平台(程序+论文+讲解+安装+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统介绍 在互联网技术以日新月异之势迅猛发展的浪潮下&#xff0c;5G 通信技术的普及、云计算能力…

【时时三省】(C语言基础)常量和变量

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 在计算机高级语言中&#xff0c;数据有两种表现形式&#xff1a;常量和变量。 常量 在程序运行过程中&#xff0c;其值不能被改变的量称为常量。数值常量就是数学中的常数。 常用的常量有以…

zabbix故障案例 WEB页面Database error Connection refused

目录 1.思路 2.问题解决 3.其他数据库问题思路 1.思路 当我们遇到 Database error Connection refused的问题的时候一般想到的都是数据库的问题 那我们这时候就顺着这条线索排查 2.问题解决 我们首先先进入数据库 mysql -uzabbix -p123 发现了如下报错 应该是数…

MaxKB+Ollama+DeepSeek1.5B部署知识库

环境信息 练习测试用&#xff0c;所以资源很低&#xff0c;8G显卡。大模型部署在Windows台式机上&#xff0c;MaxKB部署在CentOS虚拟机上。 台式机&#xff1a; 硬件&#xff1a;i7 13900 NV GeForce RTX 3060 Ti 8G显存 32G内存 软件&#xff1a;Windows 11操作系统&…

猿大师播放器:智慧交通Web网页低延迟播放监控RTSP H.265视频解决方案

在智慧城市建设加速推进的今天&#xff0c;智慧交通作为城市"神经系统"正面临前所未有的发展机遇。据统计&#xff0c;2023年全国交通视频监控设备保有量已突破4500万台&#xff0c;日均产生的视频数据量超50PB。但在这些庞大数字背后&#xff0c;行业却普遍面临着&q…