目录
TTS-GAN (基于Transformer的时间序列生成对抗网络)
摘要
在本周阅读的文献中,提出了基于Transformer的GAN模型,GAN的生成器和鉴别器,都是基于Transformer的编码器架构构建的,通过处理图像的方式处理时间序列数据作为该模型的输入。该模型能够生成各种长度的多维时间序列数据,对原始信号模式和二维数据点分布的可视化比较显示了原始数据和合成数据的相似性。原始GAN的优化主要在于最小化真实分布和生成分布之间的js散度,而JS散度因其没有重叠则值不变的特性,导致GAN的优化存在梯度下降等问题。Wasserstein距离相比KL散度、JS散度,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。
Abstract
The literature read this week proposes a Transformer based GAN model. The generator and discriminator of GAN are both built on the encoder architecture of Transformer, processing time-series data as input to the model through image processing.This model can generate multidimensional time series data of various lengths, and the visual comparison of the original signal pattern and the distribution of two-dimensional data points shows the similarity between the original data and the synthesized data. The optimization of the original GAN mainly focuses on minimizing the JS divergence between the true distribution and the generated distribution, while the JS divergence, due to its non overlapping nature, remains unchanged, resulting in gradient descent and other problems in the optimization of GAN. Compared to KL divergence and JS divergence, Wasserstein distance can still reflect their distance even if the two distributions do not overlap.
文献阅读:基于Transformer的时间序列生成对抗网络
TTS-GAN: A Transformer-based Time-Series Generative Adversarial Network
https://arxiv.org/pdf/2202.02691v2.pdf
现有问题
- 时间序列形式出现的信号测量是机器学习应用中最常用的数据类型之一,然而这些数据集通常很小,使得深度神经网络架构的训练无效。深度学习模型需要大量数据才能成功训练,在小数据集上训练具有大量可训练参数的深度学习模型会导致过度拟合和低泛化能力。
- 在此之前GAN创建时间序列主要依赖于基于递归神经网络(RNN)的架构,而RNN存在梯度消失等问题,在时间序列数据上表现得不尽人意。
提出方法
- 采用图像处理的方式来处理时间序列数据,将一个时间序列数据,看作是一个高度等于1的图像。
- 引入了TTS-GAN,一种基于Transformer的GAN,GAN模型的产生器网络和鉴别器网络均采用纯Transformer编码器结构构建。Transformer最初是为了处理非常长的序列数据而发明的,并且没有梯度消失问题,可以成功地生成与真实时间序列相似的任意长度的真实合成时间序列数据序列。
相关前提
GAN(生成对抗网络)
GAN相关的知识在第四十周周报:第四十周:文献阅读+GAN-CSDN博客
对于时间序列生成任务而言,GAN由生成器和鉴别器两种模型组成。这两个模型通常由神经网络实现,但它们可以用任何形式的可微系统实现,将数据从一个空间映射到另一个空间。在TTG-GAN模型生成时间序列数据任务中,生成器试图捕获真实示例的分布,以生成新的数据示例。鉴别器通常是一个二元分类器,尽可能准确地将生成的示例与真实示例区分开来。GAN的优化是一个极大极小优化问题,其目标是使生成器和鉴别器相互对抗直到达到平衡。然后,可以认为生成器捕获了真实示例的真实分布。
Transformer
Transformer相关的知识在第三十九周周报:第三十九周:文献阅读+Transformer-CSDN博客
Transformer是最先进的神经网络架构。与循环神经网络不同的是,在Transformer网络中,整个序列被馈送到Transformer模块的各个层中。然后通过关注前一层中所有其他token的潜在表示来计算这一层token 的表示。而所处理的多维时间序列数据在文本和图像上都具有相似性,这意味着一个序列同时包含了时间和空间信息。序列中的每个时间步就像一张图像上的一个像素。整个序列包含一个事件或多个事件发生,这类似于NLP任务中的一个句子。
方法论
时间序列处理
利用处理图像的方法来处理时间序列数据,可以将一个时间序列数据,看作是一个高度等于1的图像。时间步长是图像的宽度W,一个时间序列序列可以有一个单通道或多个通道,这些通道可以被看作是一个图像的通道数(RGB) c,因此输入序列可以用大小矩阵(Batch Size,C,1,W),然后选择一个patch大小为N,将序列划分为。然后,我们在每个patch的末尾添加一个软位置编码值,该位置值在模型训练过程中学习。因此,识别器编码器块的输入将具有数据形状(Batch Size,C,(W=N) + 1)。
时序数据处理
TTS-GAN (基于Transformer的时间序列生成对抗网络)
TTS-GAN包含两个主要组件,一个生成器和一个鉴别器,都是基于Transformer的编码器架构构建的。其中编码器是由两个复合块组成的。第一块由多头自注意模块构成,第二块由具有GELU激活函数的前馈MLP构成。在两个块之前应用规范化层,在每个块之后添加dropout层,两个块都使用残余连接。
生成器模块的流程为:
- 生成器首先接收一个一维向量,其中N个均匀分布的随机数值在(0,1)范围内,即
。N表示合成信号的潜在维数,是一个可调的超参数。
- 然后将向量映射到具有相同实际信号长度和M嵌入维数的序列,其中M也是一个可以改变的超参数;
- 接下来,将序列划分为多个patch,并在每个patch中添加一个位置编码值。
- 这些补丁然后被输入到Transformer的编码器块;
- 然后将编码器块输出通过Conv2D层传递,以降低合成数据的维数(Conv2D层设置为内核大小(1;1),不会改变合成数据的宽度和高度。)
鉴别器架构类似一种二值分类器,用于区分输入序列是实信号还是合成信号。在TTS-GAN中,将任何输入序列视为高度为1的图像,输入的时间步长是图像宽度。因此,要在时间序列输入上添加位置编码,我们只需要将宽度均匀地分成多个片段,保持每个片段的高度不变。
研究实验
实验目的
使用PCA和t-SNE定性可视化和相似性得分定量指标来评估TTS-GAN,并将其与Time-GAN进行比较,研究TTS-GAN是否性能优于Time-GAN,以及合成时间序列数据的可行性。
数据集
采用了三个数据集,分别是模拟正弦波、UniMiB人类活动识别(HAR)数据集和PTB诊断心电图数据库。共使用10000个模拟正弦波来训练GAN模型。对于UniMiB数据库,从24个受试者的记录中选择2类(跳跃和跑步)样本来训练GAN模型,这两个类分别有600和1572个样本。PTB Diagnostic ECG数据集包含正常和异常两类人类心跳信号,分别有4046和10506个样本。
评估标准
使用定性可视化和定量指标来评估TTS-GAN
- 原始数据可视化:对比TTS-GAN生成的合成数据样本与真实数据;
- 使用PCA和t-SNE进行可视化:进一步说明真