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

人工智能
扩散模型是目前生成式AI中的最核心模块,在Sora、DALL-E、Imagen等生成式AI大模型中都取得了广泛的应用。与此同时,扩散模型也被越来越多的应用到了时间序列中。

扩散模型是目前生成式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生成噪声预测结果。


责任编辑:华轩 来源: 圆圆的算法笔记
相关推荐

2022-09-13 15:40:56

模型分析

2022-08-26 14:44:32

强化学习AI

2023-11-13 18:18:28

2022-10-24 10:18:04

自然语言计算机视觉

2024-01-12 07:14:52

AI应用架构

2022-05-25 10:28:35

模型AI

2018-10-18 11:00:50

人工智能机器学习模型偏差

2022-07-26 00:00:03

语言模型人工智能

2021-08-02 06:56:19

TypeScript编程语言编译器

2024-02-22 09:26:33

AI模型

2024-04-15 09:09:54

TimeGPT人工智能算法

2021-04-06 15:23:46

区块链国防技术

2019-10-08 17:23:09

AWS物联网IoT

2022-08-14 15:26:05

自动驾驶智能

2022-01-22 00:29:36

区块链食品技术

2024-03-01 07:36:27

模型Backbone数据分析

2022-06-14 16:38:42

行为序列机器学习黑产

2022-04-08 12:36:02

模型系统

2023-01-05 16:36:55

2022-07-03 08:25:09

OSITCP/IP
点赞
收藏

51CTO技术栈公众号