一文总结扩散模型(Diffusion Model)在时间序列中的应用
创始人
2025-07-13 22:40:53
0

扩散模型是目前生成式AI中的最核心模块,在Sora、DALL-E、Imagen等生成式AI大模型中都取得了广泛的应用。与此同时,扩散模型也被越来越多的应用到了时间序列中。这篇文章给大家介绍了扩散模型的基本思路,以及几篇扩散模型用于时间序列的典型工作,带你理解扩散模型在时间序列中的应用原理。

1.扩散模型建模思路

生成模型的核心是,能够从随机简单分布中采样一个点,并通过一系列变换将这个点映射到目标空间的图像或样本上。扩散模型的做法是,在采样的样本点上,不断的去噪声,经过多个去除噪声的步骤,生成最终的数据。这个过程很像雕塑的过程,最开始从高斯分布采样的噪声就是最开始的原材料,去噪声的过程就是不断在这个材料上凿掉多余部分的过程。

上面所说的就是逆向过程,即从一个噪声中逐渐去掉噪声,得到图像。这个过程是一个迭代的过程,要经历T次的去噪,一点点从原始采样点中把噪声去掉。在每个步骤中,输入上一个步骤生成的结果,并且需要预测噪声,再用输入减去噪声,得到当前时间步的输出。

这里就需要训练一个预测当前步骤噪声的模块(去噪模块),这个模块输入当前的步骤t,以及当前步骤的输入,预测噪声是什么。这个预测噪声的模块,是通过正向过程进行的,和VAE中的Encoder部分比较像。在正向过程中,输入一个图像,每个步骤采样一个噪声,将噪声加到原始图像上,得到生成的结果。然后再以生成的结果和当前步骤t的embedding为输入,预测生成的噪声,以此达到训练去噪模块的作用。

2.扩散模型在时间序列中的应用

TimeGrad: Autoregressive Denoising Diffusion Models for Multivariate Probabilistic Time Series Forecasting(2021)

TimeGrad是最早使用扩散模型做时间序列预测的方法之一。在基础的扩散模型基础上,TimeGrad给每个时间步的去噪模块额外输入了一个hidden state,这个hidden state是使用RNN模型对历史序列、外部变量进行编码得到的,以此指导扩散模型生成序列的过程。整体的逻辑如下图所示。

在去噪模块的网络结构上,主要采用了卷积网络,输入包括上一个步骤的输出序列和RNN输出的hidden state经过上采样生成的结果,二者分别过卷积后相加,用于噪声预测。

CSDI: Conditional Score-based Diffusion Models for Probabilistic Time Series Imputation(2021)

这篇文章使用扩散模型建模时间序列填充任务,整体建模方式和TimeGrad比较像。如下图所示,最开始时间序列是有缺失值的,首先对其填充上噪声,然后使用扩散模型逐渐预测噪声实现去噪,经过多个步骤后最终得到填充结果。

整个模型的核心也是扩散模型训练去噪模块。核心是训练噪声预测网络,每个步骤输入当前的步骤embedding、历史的观测结果以及上一个时刻的输出,预测噪声结果。

网络结构上使用Transformer,包括时间维度上的Transformer和变量维度的Transformer两个部分。

DSPD & CSPD: Modeling Temporal Data as Continuous Functions with Process Diffusion(2022)

本文提出的方法相比TimeGrad上升了一个层次,是通过扩散模型直接建模生成时间序列的函数本身。这里假设每一个观测点都是从一个函数中生成的,然后直接建模这个函数的分布,而不是建模时间序列中数据点的分布。因此,文中将扩散模型中添加的独立噪声改成随时间变化的噪声,并训练扩散模型中的去噪模块实现对函数的去噪。

TDSTF: Transformer-based Diffusion probabilistic model for Sparse Time series Forecasting(2023)

这篇文章将扩散模型应用到ICU中的关键信号提取。文中的核心一方面是对于稀疏不规则的医疗时序数据的处理,使用value、feature、time三元组表示序列中的每个点,对确实值部分使用mask。另一方面是基于Transformer和扩散模型的预测方法。整体的扩散模型过程如图,跟图像的生成模型原理是类似的,根据历史的时间序列训练去噪模型,然后在前向传播中逐渐从初始噪声序列中减掉噪声。

具体的扩散模型中噪声预测的部分采用的是Transformer结构。每个时间点由mask以及三元组组成,输入到Transformer中,作为去噪模块预测噪声。详细结构包括3层Transformer,每个Transformer包括2层Encoder和2层Decoder网络,Decoder的输出使用残差网络连接,并输入到卷积Decoder生成噪声预测结果。


相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...