TimeDP Learning to Generate Multi-Domain Time Series with Domain Prompts论文阅读笔记

TimeDP Learning to Generate Multi-Domain Time Series with Domain Prompts

摘要

在跨域时序数据生成任务中,提出使用”时间序列语义原型“模块定义时间序列原型来表示时间序列基,每个原型向量作为“词”表示一些基本的时间序列特征。应用原型分配模块提取提取域特定的原型权值,以学习域提示作为生成条件。在采样过程中,从目标域中提取少量采样的“域提示”,并以域提示为条件生成时间序列样本。

引言

跨域时间序列生成是一个非常复杂的挑战,因为它需要在不依赖现有历史记录的情况下跨各个域创建新数据

  • 一种直接方法是在训练过程中使用预定义的域标签。该方法依赖于明确的领域标签来进行条件生成。当面对不可见的领域,即领域标签没有明确可用时,则会面临巨大的挑战

  • 另一种方法通过使用自然语言描述域,将跨域时间序列生成框架为条件生成任务。特定于领域的细微差别通常难以准确地表达,从而导致嘈杂、不完整或模糊的提示。此外,对于全新的或发展中的领域,制作这些领域描述符可能是不切实际的

为了解决这些挑战,本文提出了一种无标签、无文本的方法,该方法学习时间序列原型作为基本元素来构建域提示,以生成具有扩散模型的时间序列,称为TimeDP。通过训练,原型学习表示时间序列基,作为具有时间序列语义的“文字描述”。对每个训练样本应用原型分配模块,构建生成该样本的特定“提示符”。在采样过程中,从目标域中提取少量样本的“提示符”来构造域提示符的总体,并以域提示符为条件生成时间序列样本。

主要贡献:

  • 我们提出了一种多域时间序列生成模型TimeDP,该模型通过学习一组时间序列原型和原型分配模块来构造域提示,其中域提示作为时间序列扩散模型的条件
  • 我们首先提出了一种使用无标签、无文本条件作用机制的多域时间序列生成模型
  • 实验表明,该方法具有较好的域内生成质量和较强的不可见域生成能力

相关工作与背景

时间序列生成

  • GAN:通过监督目标和对抗目标来联合优化学习嵌入空间,使得网络学习到时间动态信息
  • VAE:考虑了时间数据的趋势和季节分解,设计了特定的解码器结构。首先引入矢量量化技术和双向变压器,以更好地捕获时间一致性
  • 另一类被认为是混合型方法,将GAN、flows和ODE结合在一起
  • DDPM:去噪扩散概率模型,涉及到无条件和条件扩散模型生成数据

跨域时间序列模型

  • 两阶段模型:在大量多域数据上预训练表征学习模型,第二阶段为任务特定模型进行微调
  • 单阶段模型:使用补丁标记器对端到端变压器模型进行预训练,用于时间序列预测

这些方法采用实例规范化来基于历史数据生成预测,而不显式地处理领域差异。与这些方法相比,本文方法建议使用时间序列原型,构造域提示来明确区分域并桥接它们

去噪概率扩散模型 (DDPM)

扩散概率模型需要学习反转马尔可夫链的过程,该过程被称为反向过程。其正向过程为扩散过程,该过程逐渐向数据添加噪声,最终信号收敛到某个特定分布

具体公式见https://blog.csdn.net/weixin_45180140/article/details/150556555?spm=1001.2014.3001.5501的DDPMs部分

问题描述

DiT={x∈RT}Ni,  x=(x1,x2,...,xT)D_i^T = \{\pmb{x}\in\mathbb{R}^T\}^{N_i},\;\pmb{x}=(x_1, x_2,...,x_T)DiT={xRT}Ni,x=(x1,x2,...,xT)定义了一个有NiN_iNi个样本的时间序列数据集,且属于领域iii,其中每个样本具有TTT个序列值。

单领域时间序列预测模型对每一个数据集独立的利用参数θi\theta_iθi拟合时间步的联合分布p(x1,x2,...,xT)p(x_1, x_2,...,x_T)p(x1,x2,...,xT),定义为pθ(x1,x2,...,xT)p_\theta(x_1, x_2,...,x_T)pθ(x1,x2,...,xT)

在本文中,作者探索了一个域统一设置,其中MMM个序列长度为TTT的域数据集的混合表示为DT=⋃i=1MDiD^T=\bigcup_{i=1}^MD_iDT=i=1MDi。且作者的目标是利用一组参数来表示多个领域的联合分布pθ(x1,x2,...,xT∣i)p_\theta(x_1, x_2,...,x_T|i)pθ(x1,x2,...,xTi)

方法

在训练过程中,由于来自所有数据域的序列混合在一起,潜在表示中的所有时间序列特征都是纠缠在一起的,没有明确的方法来区分特定的时间序列数据域。虽然利用领域标签作为训练时间序列生成模型的类标签可以为识别特定领域提供指导,但这种方法隐含了一个假设,即所有领域都是相互独立的,忽略了领域对之间的不同相似程度。因此,在考虑各领域之间的相互关系的同时,使模型具备在所选领域内生成时间序列的能力是一项挑战。为了克服这一挑战,关键是建立跨域时间序列模型的触发机制,控制模型从特定域生成时间序列数据。受提示技术在可控内容生成方面最新进展的启发,本文提出构建域提示来控制跨域模型。

在这里插入图片描述

域提示词

与文本和图像模态不同,文本和图像模态的生成目标可以用自然语言表达或分类为离散类,而时间序列很难用单词或类标签来明确表示。受到广泛采用的提取“基”技术的启发,“基”是时间序列的基本特征,这些基可以作为不同域之间的共享“字典”,每个域对时间序列编码不同的语义特征。

语义“基”模块

每个基代表时间序列数据样本中可能存在的某些基本时间序列特征,如趋势和季节性。假设不同的个体时间序列样本共享相同的基集合,但反映集合的不同子集。因此,每个时间序列得到这些底层特征的唯一实现,类似于对所有基进行可变加权分配。基于这一假设,引入一组潜在阵列作为时间序列原型P∈RNp×d\mathcal{P}\in\mathbb{R}^{N_p\times d}PRNp×d,用于表示跨域时间序列的共同知识。其中,每个原型向量P∈R1×d\mathcal{P}\in\mathbb{R}^{1\times d}PR1×d作为时间序列基的表示。在实践中,时间序列原型P\mathcal{P}P是用随机正交向量初始化,然后冻结。

“基”分配模块

假设每个时间序列样本对应于所有基的一个不同的分配,需要建立从时间序列样本到分配的映射,以便明确地识别每个时间序列实例的重要原型以及区分域。本文提出为每个时间序列实例提取一个原型分配作为每个时间序列对每个原型的重要权重,然后将原型分配作为生成模型的条件。

具体来说,每个输入序列x\pmb{x}x被映射到一个权重向量,其维度等于使用权重提取器ϕ\phiϕ的原型数量,这是一个神经网络。向量ϕ(x)\phi(\pmb{x})ϕ(x)定义了在PPP中每个向量的权重,其该权重被用来模拟跨域机制中的注意力权重,因此预测的噪声仅以指定的原型为条件。因此,来自不同域的序列由共享的同一组时间序列原型的不同mmm加权组合来表示。为了保证原型分配的稀疏性,在进行原型分配时,所有的负权都被丢弃。形式上,原型赋值mmm用以下公式提取:

m=ϕ(x0)−Iϕ(x0)≤0⋅∞ m=\phi(x_0)-\pmb{I}_{\phi(x_0)\leq0}\cdot\infty m=ϕ(x0)Iϕ(x0)0
其中,I.≤0\pmb{I}_{.\leq0}I.0为负元素的指示函数

域统一训练

我们不是为每个特定数据集训练单个模型,而是同时使用来自多个数据集的数据训练一个模型,以生成不同的领域数据。在这里,我们将每个数据集视为一个单独的域。虽然来自每个领域的数据仅代表可能数据分布的有限部分,但利用来自其他领域的数据可以帮助模型捕获更多样化的时间序列数据分布。

在条件去噪概率扩散模型中,通过空间注意将这些条件纳入到噪声预测网络的中间层:
Q(i)=z(i−1)⋅WQ(i)K(i)=P⋅WK(i)V(i)=P⋅Wv(i)z(i)=FF(softmax(Q(i)K(i)Td)⋅V(i)) \pmb{Q}^{(i)}=z^{(i-1)}\cdot\pmb{W}^{(i)}_{Q}\\ \pmb{K}^{(i)}=\pmb{P}\cdot\pmb{W}^{(i)}_{K}\\ \pmb{V}^{(i)}=\pmb{P}\cdot\pmb{W}^{(i)}_{v}\\ z^{(i)} = FF(softmax(\frac{\pmb{Q}^{(i)}\pmb{K}^{(i)T}}{\sqrt{d}})\cdot\pmb{V}^{(i)}) Q(i)=z(i1)WQ(i)K(i)=PWK(i)V(i)=PWv(i)z(i)=FF(softmax(dQ(i)K(i)T)V(i))
FF为前向传播网络,注意力输出zfinalz^{final}zfinal是通过另一个前向传播网络获取ϵ^=FF(zfinal)\hat{\epsilon}=FF(z^{final})ϵ^=FF(zfinal)

利用上述的条件去噪机制,使用ϵ−parameterization\epsilon-parameterizationϵparameterization去噪目标可以写成并简化为:
Lcond=E[∣∣ϵ−ϵ^∣∣2]=Ex0∈DT,ϵ∼N(0,I),n[∣∣ϵ−ϵθ,P(xn,n,m∣∣2] L_{cond} = \mathbb{E}[||\pmb{\epsilon}-\hat{\pmb{\epsilon}}||^2]\\ =\mathbb{E}_{\pmb{x}_0\in D^T,\pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{I}),n}[||\pmb{\epsilon}-\pmb{\epsilon}_\theta,\pmb{P}(x_n,n,\pmb{m}||^2] Lcond=E[∣∣ϵϵ^2]=Ex0DT,ϵN(0,I),n[∣∣ϵϵθ,P(xn,n,m2]
由于跨域的训练样本数量不平衡,本文采用重权采样的方法,使每个域的样本训练的概率相等。设NiN_iNi表示数据集i中样本序列的个数,将该数据集每个样本的采样权值设为wi=1Ni×∣D∣w_i=\frac{1}{N_i\times|D|}wi=Ni×D1,使得每个数据集的采样序列的概率是平衡的。训练算法的伪代码见算法1。

在这里插入图片描述

基于域提示的生成过程

为了在多个数据集上进行领域统一训练后生成所选领域的时间序列样本,我们首先在选择的域中抽取一小部分随机训练样本的领域特定原型赋值,然后将它们分组到表示所选域的域提示符分布中。设KKK表示从数据集iii中选择的样本个数,域提示符用mDi={m1i,...,mKi}\pmb{m}^{D_i}=\{\pmb{m}^i_1,...,\pmb{m}^i_K\}mDi={m1i,...,mKi}​。通过构造条件输入,该模型生成符合所选域的样本,而不受所选样本中显示的一般时间模式的约束。当期望生成的样本数量大于KKK时,我们在KKK个样本中使用每次分配重复生成的策略,直到期望样本数量满足。采样算法描述为算法2。

在这里插入图片描述

未见领域的生成

由于原型提供了基于时间序列的表示,因此它们的表示能力不局限于训练集中的域。因此,它们可以用来表示未见过的域或数据集。对于相对于训练集的任何未知数据集或域DjD_jDj,我们可以使用提取的“少量”样本x1i,...,xKi\pmb{x}^i_1,...,\pmb{x}^i_Kx1i,...,xKi,构造域提示mDj={m1j,...,mKi}\pmb{m}^{D_j} = \{\pmb{m}^j_1,...,\pmb{m}^i_K\}mDj={m1j,...,mKi},然后将它们作为条件输送到模型中,以生成所需数据集的新样本。

实验

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Ubuntu安装NVIDIA显卡驱动

清理旧驱动 sudo apt purge nvidia* libnvidia* sudo apt autoremovesudo find /etc -name *nvidia* -exec sudo rm -rf {} sudo rm -rf /usr/local/cuda*禁用 nouveau echo blacklist nouveau options nouveau modeset0 | sudo tee /etc/modprobe.d/blacklist-nouveau.conf…

硬件工程师成长之路:从入门到精通的技术旅程

文章目录前言第一阶段:基础知识的积累理论知识储备动手实践第二阶段:专业技能的提升PCB设计嵌入式系统开发第三阶段:专业方向的选择射频(RF)工程电源设计高速数字电路FPGA/ASIC设计第四阶段:工程管理与视野…

PyTorch 张量(Tensor)详解:从基础到实战

1. 引言在深度学习和科学计算领域,张量(Tensor) 是最基础的数据结构。PyTorch 作为当前最流行的深度学习框架之一,其核心计算单元就是张量。与 NumPy 的 ndarray 类似,PyTorch 张量支持高效的数值计算,但额…

CPTS---Hospital

端口扫描 nmap -A -p- -n -Pn -T4 10.10.11.241 22/tcp open ssh OpenSSH 9.0p1 Ubuntu 1ubuntu8.5 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 256 e1:4b:4b:3a:6d:18:66:69:39:f7:aa:74:b3:16:0a:aa (ECDSA) |_ 256 96:c1:dc:d8:97:20:95:e7:01:5…

【贪心算法】day5

📝前言说明: 本专栏主要记录本人的贪心算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

软考中级【网络工程师】第6版教材 第4章 无线通信网 (上)

考点分析: 重要程度:⭐⭐⭐ 选择题考查1 ~ 3分,案例分析可能考查填空和简答 高频考点:802.11信道与频段、CSMA/CA、无线网络优化、无线认证、无线配置步骤 新教材变化:新增4G/5G、删除无线城域网 本章将详述蜂窝移动通信系统、无线局域网以及无线个人网的体系结构和实用技…

vscode+EIDE+Clangd环境导入keil C51以及MDK工程

我最近一直在使用vscodeclangd的编译环境替代了vscode自带的c/c插件。感觉clangd的环境更加优秀,能够更好找到函数、全局变量等定义调用等。如果使用keil C51以及MDK环境开发51单片机或者STM32单片机就需要使用到了EIDE这个插件这个插件现在能够自动生成compile_com…

FTP - 学习/实践

1.应用场景 主要用于学习和使用FTP服务,同时研究其架构实现, 以及日常开发中的使用。 FTP(文件传输协议)是一种用于网络文件传输的标准协议,基于客户端-服务器模型运行,通过控制通道(端口21)和…

【瑞吉外卖】手机号验证码登录(用QQ邮件发送代替)

目录 介绍 一、获取授权码 二、前端代码修改 三、后端代码修改 ①pom依赖 ②yml配置 ③控制层 ④业务层 ⑤工具类 介绍 本文介绍了QQ邮箱验证码登录功能的实现步骤: 获取QQ邮箱授权码并配置;前端修改登录页面,增加验证码发送接口调…

为什么要用 Markdown?以及如何使用它

在处理大量文档时,尤其是在构建知识库、进行文档分析或训练大语言模型(LLM)时,将各种格式的文件(如 PDF、Word、Excel、PPT、HTML 等)转换为统一的 Markdown 格式,能够显著提高处理效率和兼容性…

订餐后台管理系统-day06菜品分类模块

菜品分类显示我们需要先实现分类操作,因为没有菜品分类,我们无法准确知道当前菜品属于哪个分类,在前端显示时,需要根据分类显示数据先显示分类列表页面准备路由manage_bp.route(/food/cat/list) def food_cat_list():# 默认页面从…

More Effective C++ 条款20:协助完成返回值优化(Facilitate the Return Value Optimization)

More Effective C 条款20:协助完成返回值优化(Facilitate the Return Value Optimization)核心思想:返回值优化(RVO)是编译器消除函数返回时临时对象的一种重要优化技术。通过编写适合RVO的代码&#xff0c…

《HelloGitHub》第 113 期

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣!简介HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java…

萌宝喂养日志-我用AI做喂养记录小程序1-原型设计

准备工作 首先,注册硅基流动账号,并配置Trae开发工具。 ↓现在注册有2000 万 Tokens 的免费额度↓。 硅基流动统一登录 具体可以看我这篇文章:Trae接入自有Deepseek模型,不再排队等待-CSDN博客 实践 设计原型图 我想开发一…

工业产品营销:概念、原理、流程与实践指南

摘要 工业产品营销是针对B2B市场的专业化推广活动,旨在满足企业客户的生产和运营需求。本文详细阐述了工业产品营销的概念与特点,分析其核心原理,包括客户需求驱动、价值传递和关系管理。营销过程涵盖市场调研、细分定位、策略制定、执行、转化及售后服务六个步骤,并提供品…

【读书笔记】《人体微生物的奥秘》

Follow Your Gut:人体微生物的奥秘 引言:从蚊子到微生物 夏天来临,许多人又开始纠结为什么有些人特别招蚊子。有人说是血型问题,有人说是皮肤嫩度,还有人归结于基因。但今天要分享的一本书,虽然标题看似讨论…

【Matplotlib学习】驾驭画布:Matplotlib 布局方式从入门到精通完全指南

目录驾驭画布:Matplotlib 布局方式从入门到精通完全指南一、 核心理念:理解 Figure 和 Axes二、 布局方式大全:从简单到复杂类别一:自动创建与基础单图布局类别二:规律网格布局 - 主力军类别三:复杂网格布局…

【C#】在一个任意旋转的矩形(由四个顶点定义)内绘制一个内切椭圆

核心点:在一个任意旋转的矩形(由四个顶点定义)内绘制一个内切椭圆 实现步骤 计算矩形中心:作为旋转中心点 创建椭圆路径:在未旋转状态下定义椭圆 应用旋转变换:使用矩阵绕中心点旋转路径 绘制变换后的路…

洛谷 P2052 [NOI2011] 道路修建-普及/提高-

P2052 [NOI2011] 道路修建 题目描述 在 W 星球上有 nnn 个国家。为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝啬,他们只愿意修建恰好 n−1n - 1n−1 条双向道路。 每条道路的修建都要付出一定…

springboot连接不上redis,但是redis客户端是能连接上的

除了常规排查,还有一个就是检查配置文件格式。这个旧版本格式会导致读取不到配置,spring:# 对应 RedisProperties 类redis:host: 127.0.0.1port: 6379 # password: 123456 # Redis 服务器密码,默认为空。生产中,一定要设置 Red…