首页  >  文章  >  科技周边  >  一文总结扩散模型(Diffusion Model)在时间序列中的应用

一文总结扩散模型(Diffusion Model)在时间序列中的应用

WBOY
WBOY转载
2024-03-07 10:30:04754浏览

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

1.扩散模型建模思路

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

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

TimeGrad是最早采用扩散模型进行时间序列预测的方法之一。与传统扩散模型不同的是,TimeGrad在基础扩散模型的基础上引入了一个去噪模块,并为每个时间步额外提供了一个隐藏状态。这个隐藏状态是通过RNN模型对历史序列和外部变量进行编码得到的,用于指导扩散模型生成序列。总体逻辑如下图所示。

一文总结扩散模型(Diffusion Model)在时间序列中的应用

在去噪模块的网络结构中,主要运用了卷积神经网络。输入信号分为两部分:第一部分是上一个步骤的输出序列,第二部分是RNN输出的隐藏状态,经过上采样后得到的结果。这两部分分别经过卷积处理后相加,用于噪声的预测。

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用

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

一文总结扩散模型(Diffusion Model)在时间序列中的应用


以上是一文总结扩散模型(Diffusion Model)在时间序列中的应用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:51cto.com。如有侵权,请联系admin@php.cn删除