【论文阅读】基于深度学习的时序异常检测——TransAD

系列文章链接
数据基础:多维时序数据集简介
论文一:2022 Anomaly Transformer:异常分数预测
论文二:2022 TransAD:异常分数预测

论文链接:TransAD.pdf
代码库链接:https://github.com/imperial-qore/TranAD

这篇文章是基于多变量数据的异常检测,也是基于transformer的一种深度学习方法,作者对前人的工作存在以下两点思考:

  • 在常用的基于深度学习的异常检测方案中,都是采用一定的固定窗口进行样本数据提取,如对于一个时间点位,会提取历史窗口长度为100的数据作为当前点位的数据,然后采用LSTM编码进行数据向量化表征,但是这种表征方式存在缺陷,就是忽略了数据的长期周期性、季节性等规律特性。但是如果要加入这些数据,时序原始数据表征长度就会过长,很难进行建模。
    在这里插入图片描述
  • 真实数据和重构的数据差异比较大时有两种情况:(1)原始数据的噪声;(2)异常事件引起数据异常;而模型需要关注的应该是这些时候的差异性;
    在这里插入图片描述针对上述思考,论文作者提出了两个创新模块:
  • 基于Transformer的时序数据建模;
  • 基于two-phase inference的数据重构;
    在这里插入图片描述
    在这里插入图片描述
    整体架构如上图所示,通过编解码的结构进行网络架构搭建,具体的模块细节包含下面几个:
  1. Phase1对应的粗略重建:如下图所示,其中 W W W表示时序数据邻近窗口点位的时序数据, C C C表示能够获取周期性、季节性特性的长时段时间序列,截至点为当前时间点, 0 ⃗ \vec 0 0 表示的是趋势序列输入的数据权重,在第一个阶段中是和完整序列 C C C大小相匹配的全0向量。在对窗口数据 W W W和完整序列 C C C采用多头注意力进行编码后,将完整序列的编码结果和窗口编码结果采用注意力机制进行计算,并进行解码,重构出两个输出结果 O 1 O_1 O1 O 2 O_2 O2。关于如何进行多头注意力机制的建模就不展开了,可以参考原文。
    在这里插入图片描述
  2. Phase2对应的引导重构:对于输出结果 O 1 O_1 O1 O 2 O_2 O2而言,构建重构损失 ∣ ∣ O 1 − W ∣ ∣ 2 ||O_1-W||_2 ∣∣O1W2 ∣ ∣ O 2 − W ∣ ∣ 2 ||O_2-W||_2 ∣∣O2W2用于反馈给网络, O 1 O_1 O1反馈用于更新网络的focus score。更新好focus score后,对于Decoder1而言,目标是使得重构结果和目标间的差距更小,对于Decoder2而言,目标是使得重构结果和目标间的差距更大,所以对于两个解码器的两个阶段而言,设计了以下损失构建方式: L 1 = ϵ − n ∣ ∣ O 1 − W ∣ ∣ 2 + ( 1 − ϵ − n ) ∣ ∣ O ^ 2 − W ∣ ∣ 2 L_1=\epsilon^{-n}||O_1-W||_2+(1-\epsilon^{-n})||\hat O_2-W||_2 L1=ϵn∣∣O1W2+(1ϵn)∣∣O^2W2 L 2 = ϵ − n ∣ ∣ O 2 − W ∣ ∣ 2 + ( 1 − ϵ − n ) ∣ ∣ O ^ 2 − W ∣ ∣ 2 L_2=\epsilon^{-n}||O_2-W||_2+(1-\epsilon^{-n})||\hat O_2-W||_2 L2=ϵn∣∣O2W2+(1ϵn)∣∣O^2W2
    在这里插入图片描述
  3. 异常得分计算: 1 2 ∣ ∣ O 1 − W ^ ∣ ∣ 2 + 1 2 ∣ ∣ O ^ 2 − W ^ ∣ ∣ 2 \frac{1}{2}||O_1-\hat W||_2+\frac{1}{2}||\hat O_2-\hat W||_2 21∣∣O1W^2+21∣∣O^2W^2超过阈值的则认为是异常;

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

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

相关文章

节能延寿:ARM Cortex-M微控制器下的低功耗定时器应用

嵌入式系统的开发在现代科技中发挥着至关重要的作用。它们被广泛应用于从智能家居到工业自动化的各种领域。在本文中,我们将聚焦于使用ARM Cortex-M系列微控制器实现低功耗定时器的应用。我们将详细介绍在嵌入式系统中如何实现低功耗的定时器功能,并附上代码示例。 嵌入式系…

面试热题(最长上升子序列)

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 输入&#xff1…

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

Paypal是传统支付领域的巨头企业,在北美支付市场占有率约为77%以上。从具体的业务数据看,在8月初,Paypal公布的2023年第二季度财报显示,PayPal第二季度净营收为73亿美元,净利润为10.29亿美元。虽然Paypal的净利润相交去…

Docker容器监控(Cadvisor +Prometheus+Grafana)

环境部署,接着上一篇文章Docker容器部署(Cadvisor InfluxDBGrafana)开始 目录 1、先清理一下容器 2、部署Cadvisor 3、访问Cadvisor页面 4、部署Prometheus 5、准备配置 6、运行prometheus容器 7、访问prometheus页面 8、部署Grafan…

Element-ui中分页器的使用

<template>中写&#xff1a; js中写&#xff1a;

鉴源实验室丨汽车网络安全运营

作者 | 苏少博 上海控安可信软件创新研究院汽车网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 概 述 1.1 背景 随着车辆技术的不断进步和智能化水平的提升&#xff0c;车辆行业正经历着快速的变革和技术进步。智能化…

docker小白第一天

docker小白第一天 docker是什么docker理念容器与虚拟机比较docker能干什么docker官网介绍docker的基本组成docker平台架构 docker是什么 系统平滑移植&#xff0c;容器虚拟化技术。即源代码配置环境版本&#xff0c;打个包形成一个镜像文件&#xff0c;即软件带环境一起安装&a…

jmeter工具测试和压测websocket协议【杭州多测师_王sir】

一、安装JDK配置好环境变量&#xff0c;安装好jmeter 二、下载WebSocketSampler发送请求用的&#xff0c;地址&#xff1a;https://bitbucket.org/pjtr/jmeter-websocket-samplers/downloads/?spma2c4g.11186623.2.15.363f211bH03KeI 下载解压后的jar包放到D:\JMeter\apache-j…

python接口自动化之使用requests库发送http请求

​ requests库 ​ 什么是Requests &#xff1f;Requests 是⽤Python语⾔编写&#xff0c;基于urllib&#xff0c;采⽤Apache2 Licensed开源协议的 HTTP 库。它⽐ urllib 更加⽅便&#xff0c;可以节约我们⼤量的⼯作&#xff0c;完全满⾜HTTP测试需求。 ​ 安装&#xff1a;cm…

代码随想录算法训练营之JAVA|第二十四天| 93. 复原 IP 地址

今天是第24天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 93. 复原 IP 地址https://leetcode.cn/problems/restore-ip-addresses/ 第一想法 题目理解&#xff1a;将一串数字字符串变成正确的ip格式的字符串。 这类题目是切分字符串&#xff0c;ip一…

中介者模式(Mediator)

中介者模式是一种行为设计模式&#xff0c;可以减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互&#xff0c;迫使它们通过一个封装了对象间交互行为的中介者对象来进行合作&#xff0c;从而使对象间耦合松散&#xff0c;并可独立地改变它们之间的交互。中介者…

【项目部署】JavaScript解析JSON解析报错Unexpected token xxx is not valid JSON

问题背景 这个报错发生在之前部署的一个前后端分离的项目中。后端使用的Spring Boot&#xff0c;前端使用的JavaScript&#xff0c;前后端交互使用Thymeleaf框架。 现象 项目组的另一个小伙伴说&#xff0c;突然有个页面打不开了&#xff0c;整个页面全空白。我F12打开浏览器…

玩转graphQL

转载至酒仙桥的玩转graphQL - SecPulse.COM | 安全脉搏 前言 在测试中我发现了很多网站开始使用GraphQL技术&#xff0c;并且在测试中发现了其使用过程中存在的问题&#xff0c;那么&#xff0c;到底GraphQL是什么呢&#xff1f;了解了GraphQL后能帮助我们在渗透测试中发现哪些…

Jwt(Json web token)——使用token的权限验证方法 用户+角色+权限表设计 SpringBoot项目应用

目录 引出使用token的权限验证方法流程 用户、角色、权限表设计权限表角色表角色-权限关联表用户表查询用户的权限&#xff08;四表联查&#xff09;数据库的视图 项目中的应用自定义注解拦截器controller层DTO返回给前端枚举类型的json化日期json问题 实体类-DAO 总结 引出 1.…

配置Picgo图床之COS、OSS、Github图床

简介 PicGo是一款开源的图片上传和管理工具&#xff0c;它提供了简单易用的界面和丰富的功能&#xff0c;方便用户上传、管理和分享图片。 以下是PicGo的一些主要特点和功能&#xff1a; 图片上传&#xff1a;PicGo支持将本地图片快速上传到云存储服务&#xff0c;如七牛云、…

实现UDP可靠性传输

文章目录 1、TCP协议介绍1.1、ARQ协议1.2、停等式1.3、回退n帧1.4、选择性重传 1、TCP协议介绍 TCP协议是基于IP协议&#xff0c;面向连接&#xff0c;可靠基于字节流的传输层协议 1、基于IP协议&#xff1a;TCP协议是基于IP协议之上传输的&#xff0c;TCP协议报文中的源端口IP…

第九次作业

1. SSL工作过程是什么&#xff1f; 当客户端向一个 https 网站发起请求时&#xff0c;服务器会将 SSL 证书发送给客户端进行校验&#xff0c;SSL 证书中包含一个公钥。校验成功后&#xff0c;客户端会生成一个随机串&#xff0c;并使用受访网站的 SSL 证书公钥进行加密&#xf…

【TensorFlow】P0 Windows GPU 安装 TensorFlow、CUDA Toolkit、cuDNN

Windows 安装 TensorFlow、CUDA Toolkit、cuDNN 整体流程概述TensorFlow 与 CUDA ToolkitTensorFlow 是一个基于数据流图的深度学习框架CUDA 充分利用 NIVIDIA GPU 的计算能力CUDA Toolkit cuDNN 安装详细流程整理流程一&#xff1a;安装 CUDA Toolkit步骤一&#xff1a;获取CU…

golang协程池(goroutine池)ants库实践

golang中goroutine由运行时管理&#xff0c;使用go关键字就可以方便快捷的创建一个goroutine,受限于服务器硬件内存大小&#xff0c;如果不对goroutine数量进行限制&#xff0c;会出现Out of Memory错误。但是goroutine泄漏引发的血案&#xff0c;想必各位gopher都经历过&#…

在校外连接校内实验室服务器

zerotier 内网穿透 一、zerotier的操作 去官网注册、登录、创建网络 zerotier官网 我使用微软账号登录的&#xff0c;这个随便 点 Create A Network NETWORK ID点ID进去 二、服务器(校内)上的操作 1. Ubuntu配置SSH 如果出现不在sudoers列表的问题查看这里 sudo apt …