1 背景
有效高质量和充足的工业数据是“工业智能大脑”的基础,对于工业智能模型和工业大模型的训练至关重要,性能优秀的工业智能模型需要高质量充足的数据作为支撑,特别是对于工业大模型,数据质量和数据数量直接决定了模型的处理能力和泛化能力。然而,目前由于工业时序数据采集困难、隐私保护等问题,可用于分析和利用的带标签工业多变量时序数据相对来说非常有限。
之前的工业研究通常采用生成式对抗网络(GAN)来生成工业时间序列,但由于生成器和判别器的联合训练,以及GAN存在训练过程不稳定的问题,导致生成的工业时间序列数据可信度和可利用度不高。此外,工业数据涉及复杂的时间依赖性,这给生成模型提取趋势信息带来了挑战,从而降低了合成数据与原始数据之间的相似性。
扩散模型(DDPM) 为我们的研究提供了新思路,尽管一些工作在生成具有连续像素值的图像方面取得了很好的效果,他们缺乏足够的设计复杂时序依赖关系的工业时间序列生成能力。
为此,本研究提出了一种时间增强条件自适应扩散模型,称为Diff-MTS,以用于工业时间序列数据的生成。针对工业时间序列数据的可控生成,提出了一种不需要分类器控制生成的条件自适应最大均值差异(Ada-MMD)方法。它提高了扩散模型的条件一致性。此外,建立了一个时间分解重构UNet模型 (TDR-UNet)来捕获复杂的时间模式,进一步提高合成时间序列的质量。
通过在C-MAPSS和FEMTO数据集上的综合实验表明,与基于GAN的方法相比,所提出的Diff-MTS在多样性、保真度和实用性方面表现得更好。
论文地址:
Diff-MTS: Temporal-Augmented Conditional Diffusion-Based AIGC for Industrial Time Series Toward the Large Model Era
代码地址:
GitHub - Dolphin-wang/Diff-MTS: Source codes for the paper “Diff-MTS: Temporal-Augmented Conditional Diffusion-Based AIGC for Industrial Time Series Toward the Large Model Era”
开源代码地址:
https://github.com/Dolphin-wang/Diff-MTS
引用信息:
Ren L, Wang H, Laili Y. Diff-MTS: Temporal-Augmented Conditional Diffusion-Based AIGC for Industrial Time Series Toward the Large Model Era[J]. IEEE Transactions on Cybernetics, 2024.
TDR-UNet模型架构
本文贡献:
-
1.提出了一种时间增强扩散模型用于多元时间序列(MTS)生成,该模型结合了条件自适应和时间分解重构,解决了传统扩散模型在生成具有复杂时间依赖性的MTS时的不足。
-
2.提出了一种无分类器的条件自适应最大均值差异(Ada-MMD)扩散方法,用于控制MTS的生成,解决了联合训练分类器以控制生成的局限性。自适应MMD机制在潜在空间中自适应地学习互信息,增强了扩散模型的条件一致性。
-
3.提出了一种时间分解重构UNet(TDRUNet),用于去噪和恢复MTS数据。TDR机制被提出用于提取传感器时间序列的潜在模式和趋势信息,增强了扩散模型生成高保真MTS数据的能力。
-
4.进行了多种实验,以全面衡量在多个数据集上生成的MTS的多样性、保真度和实用性。结果验证了Diff-MTS的卓越性能以及扩散模型在生成MTS数据方面的巨大潜力。
2 去噪扩散概率模型
与基于VAE的方法相比,扩散模型通过扩散过程具有高维潜在变量,使其能够生成高质量的样本。此外,扩散模型采用固定的扩散学习过程,避免了与基于GAN的的方法相关的训练不稳定性问题。
从本质上讲,我们的方法将DDPM建立的原理扩展到一维多元信号生成领域。该扩散模型由两个主要阶段组成,如图1所示:
1)扩散过程和2)反向过程。
在扩散过程中,对原始时间序列x0加入高斯噪声。该噪声依赖于时间步长t,从[1,t]范围内的均匀分布中采样。我们将这些有噪声的变量称为。扩散的过程可以用一个马尔可夫链来定义,这个马尔可夫链保持固定,具体如下公式所示。
图3-19 扩散过程和逆向过程示意图
我们采用重参数化技术对(1)中的扩散过程进行修改,时间步长t处的值可计算如下:
其中上面为线性调度函数,下面为余弦调度函数。S是一个偏移参数,设为S = 0.008。余弦调度旨在在噪声处理步骤期间将噪声时间序列中的信息保存更长时间。
3 条件Ada-MMD扩散法
要实现特定条件下工业时间序列的合成,需要将设备健康指标等条件信息纳入扩散模型。因此,我们开发了一种不需要显式分类器的条件扩散模型,并将设备的健康指标作为条件考虑。
然后,为了保证扩散模型的条件一致性,引入Ada-MMD正则化损失自适应捕获互信息。这有利于在特定条件下生成的样本与原始样本的对齐,促进它们的相似性。首先,我们将条件信息xc添加到反向过程中。逆过程的条件形式可以表述如下:
其中θ表示估计的噪声,为噪声时间表,
已在式(29)中定义。根据式(33)和式(34),可以通过估计的噪声恢复时间序列。
与标准逆过程类似,如果对原始信号进行预测,则可以从噪声分布中推导出原始信号。
其中D表示数据分布。这个函数可以对应噪声估计误差。给定一对样本,使用DDPM方法训练后,采样模型中包含的引导,将噪声指向θ的方向,从而实现降噪。
为了提高真实时间序列与合成时间序列的相似性,我们的研究引入了条件Ada-MMD正则化损失。具体而言,从时间步长为t的扩散过程中导出噪声变量,然后计算具有条件信息的Ada-MMD正则化损失,以减少高斯分布与采样噪声分布之间的差异
其中,θ为带有条件信息的去噪模型预测的噪声。K(·)表示一个正定核,旨在重现高特征维空间中的分布。
虽然一般噪声估计损失捕获来自欧式距离的信息,但条件MMD正则化将数据映射到高维特征空间以捕获分布之间的相似性。参数ω作为自适应系数,校准MMD正则化损失在整体目标函数内的重要性。这种配置允许动态调整模型对捕获互信息的关注,这是基于学习进度和数据特征。
无分类器指导方法指导扩散模型的训练,而不依赖于明确的基于分类器的控制时间序列。该方法引入了条件Ada-MMD损失来减少分布之间的差异,有效地促进了优化过程。
4 时间分解重建UNet
设计了一个TDR-UNet模型来处理生成任务。该模型主要包括两个部分:输入嵌入模块和TDR-UNet模块。具体来说,该模型嵌入了输入,包括潜在变量、条件和时间步长t。UNet编码器和解码器用于预测在整个扩散过程中添加到原始数据中的噪声。为了捕获工业时间序列数据的时间依赖性,在编码器和解码器之间执行分解重建机制。详细架构如图3-20所示。
图3-20 TDR-UNet模型架构
(一)输入嵌入模块
(二)时序分解重构UNet模块
在课题提出的UNet方法中,网络架构是基于U-Net框架[15]构建的,主要由三个编码器和三个解码器组成。每个编码器具有两个顺序的1-D卷积块,然后是下采样操作。在每个卷积块内,使用两个卷积层:第一层对输入信号进行卷积操作,然后通过GroupNorm变换处理并通过SiLU函数激活。
如图3-13所示。该架构集成了残差连接,将输入信号信息直接添加到编码器的输出中,并在解码器中进行卷积。此外,条件和时间步长信息被馈送到每个编码器的第一个卷积块中。解码器由两个卷积块组成,它们通过卷积操作逐步将信号恢复到其原始维度。这些卷积层包含跳跃连接,将编码器中相应层的特征与解码器中的特征融合在一起。
然后,在UNet编码器之后执行时间分解重构层。
为了了解时间序列生成环境中复杂的时间模式,我们将时间序列分解技术应用于工业时间序列数据。给定输入X,使用平均池化和最大池化对X进行分解,产生两组不同的特征:
趋势部分有助于捕获数据中固有的平均趋势,而峰值部分的利用则有助于强调最大变化。每个部分都代表了更可预测的模式的潜在类别之一。随后,将这两个特征连接并馈送到一个卷积块中,以整合时间序列信息。这个分解过程可以描述为
在时间序列分解后,对工业时间序列进行卷积注意力结构重构,首先对时间序列进行三个1-D卷积层处理,生成分离特征。然后,执行如下的注意机制:
由于注意层能够突出显示有利于特征表示的重要字段,因此该层有助于学习平均部分和最大部分的细粒度信息。因此,网络更好地学习底层的模式。随后,该模型通过1-D卷积层重建时间序列信息。最后,通过UNet解码层和卷积层对重构信息进行处理,恢复原始尺寸。
图3-21 UNet编码器和解码器的结构
(三)训练和抽样程序
该方法首先构建一个神经网络模型用于工业时间序列数据的噪声估计。然后通过Adam算法最小化计算的损失函数来训练模型参数θ。
算法1中概述的这个训练过程,既提高了训练效率,又提高了收敛速度。该算法首先初始化模型参数并设置训练环境。首先,生成高斯噪声和选择扩散时间步长。然后,从条件数据集中得到相应的目标条件来引导扩散过程。计算潜变量,然后根据模型参数对添加的噪声进行估计。接下来,使用标准噪声估计和Ada-MMD损失的组合来计算模型的损失,并通过可学习因子进行加权。在处理完批处理中的所有实例后,基于损失的梯度,使用Adam优化算法更新模型参数。这个过程在所有epoch中重复,直到完全训练好的模型参数输出,准备部署或进一步验证。
算法1:条件扩散模型训练算法
算法2:条件扩散模型采样算法
选择扩散时间步长。然后,从条件数据集中得到相应的目标条件来引导扩散过程。计算潜变量,然后根据模型参数对添加的噪声进行估计。接下来,使用标准噪声估计和Ada-MMD损失的组合来计算模型的损失,并通过可学习因子进行加权。在处理完批处理中的所有实例后,基于损失的梯度,使用Adam优化算法更新模型参数。这个过程在所有epoch中重复,直到完全训练好的模型参数输出,准备部署或进一步验证。
5 实验
我们在CMAPSS和FEMTO等工业时序数据集进行测试,与基于GAN的方法和其他扩散模型方法相比,所提出的Diff-MTS在多样性、保真度和实用性方面表现得更好。
评估指标:
为了全面评估生成模型的性能,我们使用各种指标[11],[33]来评估生成数据的质量,重点关注三个关键标准:
-
a)多样性;
-
B)保真度;
-
c)有用性。
多样性:合成数据应广泛分布,以覆盖原始数据的范围。
保真度:合成数据应与原始数据难以区分。
有用性:当用于相同的预测目的时,合成数据应该是有用的,比如在合成数据上进行训练,在原始数据上进行测试。
可视化:我们对合成数据集和原始数据集进行了t-SNE和PCA分析,为定性评估生成样本的多样性提供了二维表示。
判别分数:为了评估保真度,我们采用两层LSTM来训练时间序列的分类模型。我们将每个原始序列分类为“真实”,将每个生成的序列分类为“不真实”,然后训练一个两层LSTM分类器来区分这两个类别。我们将由合成时间序列和原始时间序列组成的数据集划分为70%用于训练集,10%用于验证集,20%用于测试集。测试集的分类精度提供了两个数据集之间相似度的数值度量。
预测评分:为了评估有用性,我们利用合成数据集使用两层LSTM来训练时间序列预测模型。该模型预测了设备在每个输入序列上的HI。然后,我们使用均方根绝对误差(RMSE)作为度量来评估训练后的模型在原始测试数据集上的性能。通过利用这些方法,我们在多样性、保真度和有用性方面对生成数据的质量进行了彻底的评估。
表3-15 与C-MAPSS数据集方法的比较结果(粗体表示最佳结果)
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。