基于WGAN的一维时序数据增广方法

文档序号:27315194发布日期:2021-11-09 23:44阅读:985来源:国知局
基于WGAN的一维时序数据增广方法
基于wgan的一维时序数据增广方法
所属技术领域
1.本发明提供一维时序数据增广方法,具体涉及一种基于wasserstein生成对抗网络 (wgan)的数据增广方法。


背景技术:

2.随着仿真技术和传感器技术的发展,仿真速率和采样频率逐渐提高,工业产品在设计、 制造、使用维护期间能够收集到大量时序数据,如瞬态仿真数据、状态监测数据、性能退化 数据等。对时序数据的分析能够帮助设计人员更好地理解产品状态的时变特征;能够帮助制 造部门更好地控制产品质量;能够帮助使用维护人员更好地预测产品故障,设计维护方案。 可以说,对时序数据的分析与理解对工业产品的质量与可靠性具有重要的意义。由于计算误 差、材料特性不均匀、制造精度有限等原因,时序数据的数字(统计)特征普遍具有非平稳、 时变、非线性的特点,表现为分布不确定的随机过程。若使用确定分布(如高斯分布)的随 机过程对时序数据进行量化会引入较大的不确定性,难以准确表征其数字特征,分析难度较 大。在工业生产实际中常通过批次产品或相似产品的概率统计信息对时序数据的数字特征进 行近似估计,这种做法需要大量的统计样本才能获得较为满意的估计精度。然而,随着现代 社会的发展,高价值的小批量产品甚至是非批次、个性化、定制化产品越来越受到人们的关 注。在此类产品的设计、制造和使用维护的过程中,无法使用传统的批次数据或相似产品信 息对其时变特性进行准确的估计。因此,对小样本甚至是单样本的时序数据进行合理的增广, 从而分析与理解其规律,是提升小批量定制化产品质量与可靠性的关键。
3.在机器学习领域,随着生成对抗网络(gan)的提出,使得对小样本甚至单样本数据集 进行增广成为了可能。gan由生成器和鉴别器两个神经网络组成,生成器生成与原始数据尽 可能相似的数据,而鉴别器尽可能辨别生成数据与原始数据,通过两个神经网络的“对抗博 弈”实现生成与原始数据具有相同特征的新样本。自从gan出现至今已经产生了许多对其进 行改良的变体,其中wasserstein gan(wgan)通过改良gan中生成器和鉴别器的损失函数 提高了训练过程的稳定性,使得训练结果更加鲁棒。


技术实现要素:

4.本发明提出一种基于wgan的一维时序数据增广方法,针对一维时序数据,通过生成对 抗网络学习其数字特征,将其聚类为若干具有相同数字特征的数据子集;通过wgan的生成 器神经网络,生成与原始样本具有相同数字特征的人工样本,从而实现数据增广,主要包含 以下步骤。
5.步骤一:准备训练数据集:
6.原始数据为一维时序数据。无需对数据添加标签,但需要保证数据有较高的采样频率。 对于一般的时序数据,建议采样频率不小于10hz,即单位时间的采样次数不少于10次。对变 化较为剧烈的时序数据应酌情增大其采样频率,而对变化较为平缓的时序数据可
酌情降低其 采样频率。确定的采样频率需至少大于采样定理(奈奎斯特

香农采样定理)所规定的频率下 限,即原始信号频率的2倍。将采样频率满足要求的时序数据进行异常处理,删除异常值和空 值,作为训练数据。
7.步骤二:构建生成对抗网络wgan
8.wgan由两个神经网络,即生成器(generator)和鉴别器(discriminator)组成。生成器 和鉴别器的输入层与原始数据维度一致。生成器的损失函数为:
[0009][0010]
其中,为生成器的生成数据z~p(z),为生成数据的概率分布;为鉴 别器对生成数据的鉴别结果,为f(x)的数学期望。鉴别器的损失函数为:
[0011][0012]
其中,x为原始数据,为原始数据的概率分布;d(x)为鉴别器对原始数据的鉴别结果, l
gp
为梯度惩罚项:
[0013][0014]
其中为从原始数据和生成数据的分布中重新采样得到的样本数据,为其概率分布; 为鉴别器对鉴别结果的梯度;||f(x)||2为求f(x)的2范数(向量范数);λ为惩罚系数, 一般可取λ=0.1,较小的λ能够提高网络训练的稳定性但会降低训练速度。
[0015]
在最小化损失函数(2)对鉴别器进行训练的过程中,鉴别器分辨原始数据和生成数据的 能力在提高,即wasserstein距离
[0016][0017]
在增大。相反,在最小化损失函数(1)对生成器进行训练的过程中,生成器产生的生成数据 与原始数据的差距在缩小,即通过增大使得减小。生成器与鉴别器相反的优 化方向构成的“对抗”机制,最终会使得收敛至0+附近,此时生成数据与原始数据的 特征已基本趋于一致。
[0018]
步骤三:训练构建的网络模型:
[0019]
训练鉴别器:将噪声数据输入至生成器g
i
,生成新样本将原始数据x
i
和分别输入 鉴别器d
i
,计算鉴别器的鉴别损失和d(x
i
),并利用公式(2)计算鉴别器的损失函数, 使用adam(α,β1,β2)随机梯度下降优化方法对鉴别器的损失函数进行优化,其中α为学习率一 般可取1e

4,β1和β2为指数衰减率,一般可取0.1和0.9。
[0020]
训练生成器:将新样本输入鉴别器d
i
计算鉴别器的鉴别损失并利用公式(1) 计算生成器的损失函数,同样通过adam(α,β1,β2)梯度下降方法对生成器进行训练。
[0021]
计算wasserstein距离:循环进行上述训练过程,直至由公式(4)计算的wasserstein距 离小于设定的阈值ρ(一般可取ρ≤0.2),即完成对网络g
i
和d
i
的训练。
[0022]
步骤四:遍历完整的时序数据,分析数据的数字特征并聚类
[0023]
划分时间片:首先根据采样频率确定最小窗宽s
σ
,最小窗宽应不大于采样频率的50倍。 利用s
σ
将时序数据在时间维离散为若干时间片(slices);
[0024]
训练时间片slice0:将slice0内的原始数据x0作为训练集,对生成器g0和鉴别器d0进行训练, 当wasserstein距离后完成对slice0数据的训练,保存训练好的生成器g0和鉴别器 d0,并将x0预聚类为第一类,即s0=x0;
[0025]
预训练slice
i
鉴别器:对时间片slice
i
(i>0),使用其原始数据x
i
对鉴别器d
i
进行预训练,鉴 别器预训练的损失函数为:
[0026][0027]
其中d(x
i
)为鉴别器对x
i
的鉴别结果,当std[preloss(d
i
)]<ρ
pre
时判定鉴别器预训练完成, std[f(x)]为f(x)的标准差,ρ
pre
为阈值(常数)。
[0028]
时间片迭代:对时间片slice
i
(i>0),使用slice
i
‑1数据所在子类s
j
的生成器g
j
生成人工数据 将和x
i
分别输入到经过预训练的鉴别器d
i
,计算鉴别损失和d(x
i
)并根据公式 (4)计算wasserstein距离若slice
i
对应的则判定slice
i
数据与slice
i
‑1数据的数字特征不同,应使用slice
i
的数据重新训练生成器g
i
和鉴别器d
i
,将slice
i
的原始数据x
i
聚为新子类s
j+1
=x
i
;反之则判定slice
i
的数据与slice
i
‑1的数据的数字特征相同,将slice
i
的原 始数据x
i
聚入slice
i
‑1数据所在子类s
j
,不重新训练生成器和鉴别器。
[0029]
步骤五:时序数据增广
[0030]
经过遍历的时序数据,已经按照其数字特征重新在时间维聚类为k个具有相同数字特征 的子类s0,s1,s2,

,s
k
。使用子类s
j
对应的生成器g
j
能够生成与该子类原始数据数字特征一 致的人工数据,即可按需对数据进行增广。如生成人工样本平衡s0,s1,s2,

,s
k
的数据使各 子类数据量相同,或生成若干组与原始样本具有相同数字特征的一维时序数据。
附图说明
[0031]
图1为本发明中所述方法的架构框图
[0032]
图2为典型时序数据——电池电容量退化图
[0033]
图3为rw3电池满充电容量时序数据图
[0034]
图4为生成对抗网络wgan结构图
[0035]
图5为案例训练数据聚类分析结果图
[0036]
图6为本发明生成样本与原始样本的分布和热力图
[0037]
图7为本发明生成的时序样本与原始样本的散点图
具体实施方式
[0038]
为使本发明的技术方案、特征及优点得到更清楚的了解,以下结合附图,作详细说明。
[0039]
本发明给出了一种一维时序数据集的增广方法,旨在通过wasserstein生成对抗网络 wgan学习一维时序数据集的数字特征,在时间维将其聚类为具有相同数字特征的若
干数据 子集,并利用wgan生成与各子集原始数据具有相同数字特征的人工样本对数据集进行增广。 本发明的技术流程如图1所示,下面结合实例进一步说明本发明的实质内容,但本发明的内容 并不限于此。
[0040]
步骤一:准备训练数据集
[0041]
将瞬态仿真数据、状态监测数据、性能退化数据等一维时序数据作为训练集的输入。工 程实际中获得的时序数据一般为无标签数据,本发明中所采用的是无标签机器学习方法,能 够直接处理无标签数据。但是,本发明的方法要求时序数据有较高的采样频率。对于一般的 时序数据,推荐采样频率应不小于10hz,即单位时间的采样次数不少于10次;对变化较为剧 烈的时序数据应酌情增大采样频率,而对变化较为平缓的时序数据可酌情降低采样频率。确 定的采样频率需要大于采样定理(奈奎斯特

香农采样定理)所规定的频率下限,即原始信号 变化频率的2倍,在此基础上采样频率应在合理的范围内尽可能取大。将采样频率满足要求的 时序数据进行异常处理,删除其中的异常值和空值,作为训练数据集。
[0042]
例1:本实施例选用的数据集为nasa在2014年发布的锂离子电池随机放电循环数据集。 该数据包含一组4颗18650型锂离子电池(电池编号为rw3,rw4,rw5,rw6),电池被充电 至4.2v后随机电流放电至3.2v(放电电流在0.5a至4a之间随机)如此循环,并记录其每一次 充电至4.2v时的满充电容。如图2所示,数据集中4颗电池的满充电容量随着充放电循环的进 行逐渐退化,其经历的循环数、起始电容量、和试验终末电容量如表1所示。但是在实际的充 放电过程中电池的满充电容量并非线性单调变化,而是存在较为明显的抖动,如图3所示为 rw3号电池的满充电容量随充放电循环的变化。如图3,虽然随着充放电循环的进行rw3号电 池的内阻逐渐增加导致其满充电容量呈现下降的趋势,但是由于电容自恢复效应的存在,其 下降过程呈现出较为明显的非线性和随机性。该原始数据为典型的具有较高采样频率的退时 序数据,将删除了异常值的rw3号数据作为训练数据。
[0043]
表1随机放电电池退化数据集
[0044][0045]
步骤二:构建生成对抗网络wgan
[0046]
用于进行一维数据增广的生成对抗网络由生成器(generator)和鉴别器(discriminator) 组成。基于wasserstein距离构建的wgan的生成器和鉴别器的损失函数分别为:
[0047][0048]
其中,为生成器的生成数据z~p(z)为随机噪声,为生成数据的概率
分布; x为原始数据,为原始数据的概率分布;和d(x)分别为鉴别器对生成数据和原始数据 的鉴别结果,为从原始数据和生成数据的分布中重新采样得到的样本数据,为其概率分 布;为鉴别器对重采样数据的鉴别结果,λ=0.1为惩罚项的常系数。梯度惩罚项的目的是 确保生成器和鉴别器分别满足k=1的利普希茨条件即:
[0049]
|f(x1)

f(x2)|≤k|x1‑
x2|
[0050]
由损失函数可知,对鉴别器进行训练,其分辨原始数据和生成数据的能力在提高,即在增大。相反,对生成器进行训练,生成数据与原始数据的差距 在缩小,即在增大。在对生成器和鉴别器进行循环训练的过程中,两个神经网络经 由“对抗博弈”最终达到纳什均衡状态,即wasserstein距离收敛至0+附近。
[0051]
例2,接例1。针对例1中的一维时序数据构建的生成器和鉴别器由包含多层隐层的全连接 神经网络构成,输入层与输入数据的维数一致,隐层需要根据输入数据的特点(正负性和取 值范围)选取适宜的激活函数,从而保证神经元的充分激活。对本例中的生成器:
[0052][0053]
其中,为隐层,为第一隐层,z~n(μ,σ)为输入的高斯噪声数据,φ
g
为生成 器隐层的非线性激活函数,生成器的隐层使用φ
g
=hardshrink(x)进行激活:
[0054][0055]
其中,α为常数,本例中α=0.5,生成器的输出层无激活函数。对本例中的鉴别器:
[0056][0057]
其中为隐层,为第一隐层,x为输入的训练数据,φ
d
为鉴别器隐层的非线 性激活函数,鉴别器的隐层使用φ
d
=leakyrelu(x)进行激活:
[0058][0059]
其中,β为常数,本例中β=0.01,鉴别器的输出层无激活函数。生成器和鉴别器的输出 层维数与输入数据一致,便于通过公式(6)和公式(4)计算损失函数和wasserstein距离。本 例在计算鉴别器的损失函数时,惩罚项的λ取0.1。构建的wgan结构如图4所示。
[0060]
步骤三:训练构建的网络模型:
[0061]
对wgan网络进行训练时,首先训练鉴别器,将噪声数据传入未经训练的生成器输出生 成数据,将原始数据和生成数据分别传入鉴别器进行鉴别,计算损失函数并优化鉴别器;进 而固定鉴别器,使用经过训练的鉴别器鉴别生成数据,并计算生成器的损失函数对生成器进 行训练,具体如下例。
[0062]
例3,接例2,对例2中构建的网络进行训练。训练鉴别器:将均值为0标准差为1的高
斯噪 声z~n(μ,σ),μ=0,σ=1采样为一维随机向量,输入至生成器g
i
,生成新样本将x
i
和分别输入鉴别器d
i
,计算鉴别损失和d(x
i
),并利用公式(2)计算鉴别器的损失函数, 使用adam(α,β1,β2)随机梯度下降优化方法对鉴别器进行优化,其中α取1e

4,β1和β2分别取0.1 和0.999。在训练鉴别器时,为避免神经网络在训练过程中出现过拟合,将输入数据离散为若 干batch分别代入进行训练,本例中将输入数据离散为4个batch。
[0063]
训练生成器:将新样本输入鉴别器d
i
计算鉴别损失并利用公式(1)计算生成 器的损失函数,通过adam(α,β1,β2)梯度下降方法对生成器进行优化,参数取值同上。
[0064]
计算wasserstein距离:在1个epoch内依次训练鉴别器和生成器,并通过公式(4)计算 原始数据和生成数据的wasserstein距离。循环执行若干个epoch,直至由公式(4)计算的 wasserstein距离小于设定的阈值ρ(本例中ρ=0.2),即完成对网络g
i
和d
i
的训练。
[0065]
步骤四:遍历完整的时序数据,分析数据的数字特征并聚类
[0066]
首先,确定最小窗宽s
σ
将原始数据划分为n个时间片(slices),每个slice包含s
σ
个时间 维连续的数据,并认为slice内数据的数字特征是一致的。时间片不应划分得过细(如s
σ
≤5), 这会导致网络训练困难,需要保证每个时间片内有足够的数据量完成网络训练;但是时间片 也不必划分得过宽,过宽的s
σ
会导致时间片内数据的数字特征不一致,使得数据生成的结果 产生较大的偏差。进而,通过遍历原始时序数据的全部时间片对其数字特征进行分析,将原 始数据在时间维聚类为k个具有相同数字特征的子类s0,s1,s2,

,s
k
,遍历完成的数据集有 s0+s1+s2+

+s
k
=n
×
s
σ
,k≤n。具体如下例。
[0067]
例4,接例3。
[0068]
划分时间片:确定最小窗宽s
σ
=52,在时间维将训练数据离散为16个slices;
[0069]
训练时间片slice0:将slice0内的原始数据x0作为训练集,如例4所述对生成器g0和鉴别器 d0进行训练,当wasserstein距离后完成对slice0数据的训练,保存训练好的生成 器g0和鉴别器d0;同时有s0=x0,将x0预聚类为第一类。
[0070]
预训练slice
i
鉴别器:对slice
i
,使用当前时间片的原始数据x
i
对鉴别器d
i
进行预训练,使 用公式(5)计算鉴别器预训练的损失函数,预训练的目的是提高鉴别器对x
i
的辨别能力,使 得辨别结果更加鲁棒。为保证鉴别器预训练的效果,可对预训练执行若干个epoch,直至 std[preloss(d
i
)]<ρ
pre
,本例ρ
pre
=0.2。
[0071]
时间片迭代:对slice
i
,有slice
i
‑1中的数据已聚类在子类s
j
中。使用第s
j
对应的生成器g
j
生 成一组新数据将和当前时间片的原始数据x
i
分别输入到经过预训练的鉴别器d
i
‑1,计 算鉴别损失和d(x
i
)并根据公式(4)计算wasserstein距离若slice
i
对应的 则判定slice
i
数据与slice
i
‑1数据的数字特征不同,不能聚为一类,将x
i
聚为新子 类即s
j+1
=x
i
;同时,应使用slice
i
的数据重新训练生成器g
i
和鉴别器d
i
。反之则判定slice
i
的数据 与slice
i
‑1的数据的数字特征相同,可以聚为一类,合并slice
i
‑1与slice
i
的原始数据x
i
‑1和x
i
,即 不重新训练生成器和鉴别器。本例数据的分析及聚类结果如表2和图5所示。
[0072]
表2不同子类的数据量和数字特征
[0073][0074]
步骤五:时序数据增广
[0075]
经过遍历的时序数据,已经按照其数字特征进行了聚类,同时在遍历过程中也分别训练 完成了各子类数据对应的生成器网络模型。将噪声数据输入s
j
对应的生成器g
j
能够生成与该 时间片数据数字特征一致的新数据,即可按需完成对时序数据的增广。
[0076]
例5,接例4。均值为0标准差为1的高斯噪声z~n(μ,σ),μ=0,σ=1分别代入经过聚类的 s0至s8对应的生成器模型g0至g8可以生成与该子类对应的原时序数据具有相同数字特征的人 工数据。对每一个子类,其原始数据与生成数据具有一致的分布,如图6所示(仅展示s0、s3、 s6对应的数据)。使用g0至g8可以生成与原一维时序数据数字特征相同的人工一维时序数据, 如图7所示,人工数据与原始数据在保持数字特征相同的同时,在具体数值上不完全一致,不 存在过拟合现象,具有较强的泛化能力,成功对原始样本进行了增广。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1