基于联邦学习的水文遥测数据异常识别与修复

2023-11-30 10:23倪宪汉陈浙梁孔祥杰
浙江工业大学学报 2023年6期
关键词:短时记忆遥测时序

倪宪汉,陈浙梁,李 欢,孔祥杰

(1.浙江省水文管理中心,浙江 杭州 310009;2.浙江工业大学 计算机科学与技术学院,浙江 杭州 310023)

随着全球气候变暖和人类活动增多,自然灾害爆发的不确定性明显增加,智慧水文的建设越来越受到人们的重视。其旨在构建以云计算、大数据等技术为核心的空天地一体化水文遥测体系,从而更加实时、准确地对大自然发生的水文现象进行观测记录,为水文研究提供数据基础[1-3]。显然,作为水文数据的主要来源,水文遥测设备肩负着数据的采集与存储等重任。遥测设备能否准确地提供真实可靠的水文数据直接关系到防洪抗旱调度、生态环境保护以及水资源综合开发等基本决策。然而,遥测设备在实际运行过程中,常因系统故障、设备老化和地址偏远信号不强等因素,导致采集到的水文数据出现数值错误、部分缺失和严重断档等异常情况[4],这不仅严重影响了水文数据的完整性、真实性以及准确性,而且直接导致各类水文模型统计分析的能力大大降低。因此,通过对水文数据的异常识别,挖掘数据潜在特征,完成异常数据修复,对于提升水文预报性能,降低因不确定灾害带来的损失具有重要意义。针对如水文遥测数据等时序数据,现有的异常检测方式大多利用长短时记忆网络(LSTM)在学习时序特征方面的优势,并结合其他检测算法构造耦合模型来实现[5-6]。Malhotra等[7]通过堆叠LSTM网络以学习更高级别的时间特征,并在多个时间步内对数据进行预测。考虑到异常检测算法的有效性和实时性需求,Ding等[8]提出首先利用LSTM模型评估每个单变量传感时间序列的实时异常,然后采用高斯混合模型对可能的异常进行多维联合检测。Xu等[9]为了检测海量时序数据深层特征上的异常值,提出了一种新的融合算法LSTM-GAN-XGBOOST。Niu等[10]则提出了一种基于长短时记忆网络的变分自动编码器—生成对抗网络模型(LSTM-based VAE-GAN),即联合训练编码器、生成对抗网络,以同时利用编码器的映射能力和判别器的鉴别能力,可大幅度减少异常识别的时间。然而,上述研究更多关注于异常检测,而不是修复检测到的异常数据。

考虑到在实际情况中,异常数据的识别与修复往往是需要同步解决的,即发现异常数据,并对异常部分进行处理。甚至在一定程度上,对异常数据进行修复相较于检测具有更大的实际价值。因此,为了同时实现时序数据的异常识别与修复,Zhang等[11]设计了一种迭代的最小变化感知修复算法IMR,该算法对现有的异常检测技术AR和ARX具有较高的适应性。Park等[12]提出了一种基于鲁棒滑动窗口的LightGBM模型,首先利用变分自编码器(VAE)检测异常,然后使用随机森林的方法修复异常。然而,上述研究均没有考虑到训练数据中包含的隐私问题。基于此,笔者提出了基于联邦学习框架和长短时记忆网络的生成对抗网络模型,在数据隐私得到保护的前提下,同时实现时序数据的异常检测与修复。模型主要由3部分组成,分别是联邦学习框架、生成对抗网络模型及基于注意力机制的长短时记忆网络。其中,联邦学习框架利用其特有的数据不出本地的机制实现隐私保护,并采用联邦平均算法聚合本地训练参数以更新全局模型。生成对抗网络则为该模型的核心部分,其由生成器与判别器构成,并通过二者相互博弈优化模型。笔者利用生成对抗网络中生成器拟合真实数据的特性实现数据修复,判别器鉴别真实数据与生成数据的能力实现异常识别。基于注意力机制的双向长短时记忆网络则是为了更好地处理序列数据,从而进一步挖掘水文数据中的时间依赖。通过在4个真实数据集上的实验结果表明:基于联邦学习的生成对抗网络模型在多个指标上均优于其他对照组方法,能够有效地实现时序数据的异常检测与修复。

1 基于联邦学习和长短时记忆网络的生成对抗网络模型

基于联邦学习和长短时记忆网络的生成对抗网络模型架构如图1所示。模型主要由联邦学习框架、生成对抗网络以及基于注意力机制的双向长短时记忆网络3部分构成。

图1 基于联邦学习框架的生成对抗网络模型Fig.1 Generative adversarial network model based on Federated learning framework

整个模型的核心思想:首先对联邦学习架构的每一个客户端(即水文遥测设备)的原始水文数据进行处理并构造成相应的矩阵序列;然后等待服务器初始化参数,将待优化的生成对抗网络模型及全局模型参数发送至客户端;最后在客户端收到模型之后,把各自处理好的矩阵序列输入到网络中并开始训练。其中,生成对抗网络包括将随机噪声z向上采样生成矩阵序列的生成器网络,并对输入的矩阵序列进行卷积识别的判别器网络。为了使生成器和判别器更加准确地学习原始数据的潜在特征,捕获其时间相关性,以提高生成器的生成数据质量及判别器的鉴别能力,将长短时记忆网络层嵌入其中。由于生成对抗网络要求判别器优于生成器的特性,否则容易造成梯度消失[13-15],故判别器采用基于注意力机制的双向长短时记忆网络。每一个客户端的生成器与判别器以对抗的方式迭代训练,并将各自训练好的本地模型参数发送至服务器并由服务器整合成新的全局模型参数重新发送至客户端,如此反复训练,最终模型达到收敛。此时,在水文遥测设备数据隐私得到保护的情况下,生成器可以生成几乎相同的水文数据,而判别器也有了较强的异常数据鉴别能力。

2 联邦学习框架

在传统时序数据异常识别与修复的模型训练的过程中,往往面临着训练数据数量不足、质量不优等问题,严重影响模型的性能。虽然考虑过集中多个水文遥测设备的数据统一训练,但是由于训练数据中包含隐私信息(数据链路、设备信息和管理日志等),导致难以实现真正的数据共享。不仅如此,随着隐私问题越来越受到重视,相关法律法规相继颁布,对私密数据的管控、监督也变得更加全面严格,这也造成了在大多数行业里,数据往往以孤岛的形式存在。

联邦学习作为一种新型的分布式机器学习框架,旨在保护用户数据隐私安全的条件下打破数据孤岛,实现数据共享、共同建模。这一概念最初由谷歌提出,主要想法是基于分布在多个设备上的数据集建立机器学习模型,并通过可信任的第三方交互模型中间参数进行联合训练,使得原始数据可以保留在本地,实现“数据可用不可见”的应用模式[16]。

图2 联邦学习训练流程Fig.2 Federal learning and training process

在客户端接收模型之后开始训练本地数据集,计算出本地数据的损失梯度,计算式为

(1)

式中:Lk(w)为第k个本地客户端的损失梯度;w为本地权重参数;fi(w)为第i个样本的损失;λ∈[0,1];h(w)为正则化函数。同时,利用梯度下降的方式更新得到新的本地权重参数w,并将w发送至服务器以更新全局参数Wt+1。与传统集中式训练方法不同的是,联邦学习通过安全的参数聚合机制更新全局训练模型,此外,为了降低模型参数传输过程中的通信开销,采用联邦平均算法以加快模型的收敛,即服务器根据计算式

(2)

3 基于注意力机制的双向长短时记忆网络

由于水文数据是随着时间推移而观测到的如水位、雨量和电压等水文要素的数据集合,故其往往带有明显的时间序列特征。对于传统的生成对抗网络而言,判别器一般利用卷积层及全连接层等来学习数据潜在空间分布,生成器则主要通过上采样层将随机噪声z尽可能地还原为原始数据。显然,无论是生成器还是判别器,都没有特定的处理时序数据的结构。因此,训练水文数据的过程中未考虑其特有的时序特征是导致生成器拟合真实数据能力不强,判别器鉴别异常数据精度不高的一个主要原因。

为了解决上述问题,分别在生成对抗网络模型的生成器和判别器部分引入了长短时记忆网络以及基于注意力机制的双向长短时记忆网络结构。LSTM内部结构图如图3所示。

图3 LSTM内部结构图Fig.3 Internal structure diagram of LSTM

由图3可以看出:LSTM的核心是记忆单元,并通过名为“门”的结构对其进行剪切或添加信息以控制特征的流通与损失。其共有3个控制单元状态的门,分别是输入门,计算式为

it=σg(Wixt+Uiht-1+bi)

(3)

遗忘门的计算式为

ft=σg(Wfxt+Ufht-1+bf)

(4)

输出门的计算式为

ot=σg(Woxt+Uoht-1+bo)

(5)

根据函数计算式(3~5),可计算得出t时刻的细胞状态

(6)

(7)

为了提高判别器的学习能力,还引入了注意力机制。该层提取权重的矩阵为

M=tanh(H)

(8)

α=softmax(wTM)

(9)

并通过H与权重矩阵α的乘积r作为注意力层的输出,则

r=HαT

(10)

式中:H为LSTM层的输出,计算式为vT,其中v是将原始水文数据转换为矩阵序列的维度,T为序列的长度;wT为一个训练学习得到的参数向量的转置;r为该层的输出。通过给生成对抗网络添加以上结构的改进,即可同时增强判别器检验异常以及生成器拟合数据的能力,从而提高模型的总体性能。

图4 基于注意力机制的双向LSTM网络模型Fig.4 Attention-based bidirectional long short-term memory networks

4 生成对抗网络

在时序数据异常识别及修复中,大多数研究者拆解为单一问题逐步解决,或仅针对某类问题进行研究。笔者利用生成对抗网络独特的生成器和判别器的模型架构,并根据其“二元博弈”对抗的思想,同时实现判别器识别异常数据和生成器修复异常数据的功能。与传统生成对抗网络不同的是,笔者对生成器与判别器的结构进行了改进。生成对抗网络模型如图5所示。

图5 生成对抗网络模型Fig.5 Generative Adversarial Network Model

由图5可以看出:生成器由全连接层和LSTM层组成,而判别器则包含注意力层、双向LSTM网络层以及全连接层。其与传统生成对抗网络训练过程区别在于,为了提高判别器鉴别异常的能力,需要先给模型输入正常的水文数据,当模型达到了收敛之后,判别器具备了一定的鉴别能力,即可输入异常数据进行验证。因此,首先将原始水文时序数据处理成不同时隙的矩阵序列Ft;然后初始化生成器G并将其固定,开始训练判别器D。以真实数据Ft及G伪造的数据Ft′作为D的输入,分别经过注意力层,双向LSTM层以及全连接层,最终输出鉴别结果。如果判别器输入为Ft,即真实且正常的水文数据,则输出结果为1,否则输出为0。由于D的分类器一般使用Sigmoid函数,因此,判别器D的训练是一个最小化其交叉熵的过程,损失函数为

(11)

式中:PFt为真实数据分布;PFt′为生成数据或异常数据分布;D(x)与D(y)则分别为判别器D对不同数据样本的鉴别结果。显然对于判别器D而言,无论是生成数据还是异常数据,都希望输出结果尽可能地接近0。生成器的优化则与传统生成对抗网络模型训练过程类似,以一个均匀的噪声矢量z作为输入,经过全连接层及LSTM层并输出G(z)=PFt′。对于生成器而言,希望生成的数据能够尽可能地欺骗判别器,因此它的训练是一个最大化交叉熵的过程,损失函数为

(12)

当且仅当PFt=PFt′时,获得全局最优解,即模型达到收敛。

5 实 验

5.1 实验数据集

笔者基于浙江省杭州市、金华市、绍兴市和丽水市的4个水文遥测设备在2022-01—03所采集到的水文数据进行实验,确保了模型训练及测试的数据来源真实可靠。然而,由于不同遥测站点设备型号及所处地理位置的差异,导致数据记录间隔、采集到的数据属性等可能不相同。因此,实验中提取这4个遥测站水文设备的公共属性,并以5 min为间隔统计一次如水位、雨量和电压等数据的采集记录。此外,根据实际情况将不合理的异常数据划分出来单独作为实验中异常检测部分的测试集。考虑到仅在少数情况下设备采集到的数据为异常,故还需要对部分正常数据人为做脏以提供足够的异常数据量进行测试。

实验包含异常检测以及数据修复部分,其具体流程如下:首先给模型输入仅包含正常数据的训练集,利用生成对抗网络模型特有的对抗思想同时训练负责数据修复的生成器与异常识别的判别器;然后待模型收敛之后则开始测试,测试过程中模型输入的是同时包含正常数据和异常数据的训练集;最后利用判别器进行识别,并由生成器对识别确认的异常数据进行修复。

由于每个水文遥测设备的数据集均包含2022-01-01—03-31共90 d的数据,因此笔者实验筛选90 d内全部正常数据作为训练集,最后15 d的正常数据及其做脏之后的数据作为测试集。

5.2 对比实验

为了体现基于联邦学习的生成对抗网络的优越性,笔者将其与4种对照算法进行对比。对照算法涵盖了参数型方法、非参数型方法以及深度学习方法。由于实验同时包括异常识别与数据修复,因此考虑分别对这两部分进行对比,其中异常检测包括:1) LSTM。该方法是一种特殊的RNN,能够在更长的序列中有更好的表现。2) GRU。该方法是LSTM的一种变体,其删除了其中的遗忘门,仅由更新门和重置门组成。数据修复则包括:1) VAE。该方法是一种由编码器和解码器组成的结构,经过训练以使编码解码后的数据与初始数据之间的重构误差最小,其本质是对一个含隐变量的函数进行密度估计。2) GAN。该方法是一种无监督学习方式的深度学习模型,由生成器和判别器组成,并利用对抗的思想使模型不断优化。

所有的实验运行于同一台服务器上,主机操作系统为Ubuntu 18.04,内存128 GB,CPU为Intel(R) Xeon(R) Gold,16核双线程,显卡为NVDIA Quadro P6000。Pytorch版本为v1.6.0,初始学习率设置为0.000 1,批次大小(Batch size)设置为64。此外,实验使用平均绝对误差(Mean absolute error,MAE)、均方误差(Mean square error,MSE)、根均方误差(Root mean square error,RMSE)以及平均绝对百分比误差(Mean absolute percentage error,MAPE)作为评价指标。其中,异常检测各项指标的数据由模型中判别器的检测结果与真实标签对比计算得出,而数据修复的指标数据则是通过做脏之前的正常数据与经过生成器修复之后的数据利用公式计算得出。笔者模型通过随机抽取50条测试数据进行数据修复测试,各项指标数据如图6所示。异常检测针对MSE及数据修复利用MAE指标进行对比的情况分别如图7,8所示。

图6 数据修复性能Fig.6 Performance of data repair

图7 异常检测MSE对比Fig.7 MSE comparison of anomaly detection

图8 数据修复MAE对比Fig.8 MAE comparison of data repair

表1,2分别列出了异常检测及数据修复中各组按最终测试的平均结果。表1,2中评价指标均为预测值与真实值之间的误差。由表1可以看出:LSTM与GRU在时间序列预测方面相较于GAN模型的判别器而言有着明显的优势,MAE,MSE,MAPE的指标数据分别为0.371,0.212,0.135 41以及0.393,0.230,0.174 11。虽然笔者提出的模型将双向LSTM嵌入其中,但是由于受到生成器生成数据极易造成模态单一的制约导致无法考虑到所有的异常情况,故而鉴别能力稍逊于这两大传统的预测模型。由表2可以看出:GAN作为图像处理方面的中流砥柱,其在水文数据修复工作上同样有着不俗的表现,MAE,MSE,MAPE的指标数据分别为4.420,1.843,0.859 40。然而,由于算法没有考虑到数据的时序特征以及容易导致模式坍塌等问题,导致修复后的数据与原始正常数据仍有较大差距。与之不同的是,VAE使用编码器和解码器对水文数据的潜在变量的分布显式建模,从而可以指定生成的数据分布,故相较于GAN,VAE在水文数据修复方面有略微的性能提升。笔者提出的基于联邦学习的生成对抗网络模型取得了最优的实验结果,MAE,MSE,MAPE的指标数据均低于对照组,分别为3.430,1.708,0.548 24。

表1 异常检测性能对比

表2 数据修复性能对比

5.3 网络消融实验

为了证明联邦学习框架以及基于注意力机制的长短时记忆网络的有效性,分别去除这两部分,进行消融性实验,实验结果如表3所示。其中FedLGAN*为删除联邦学习框架后,仅使用生成对抗网络与长短时记忆网络的实验结果,而FedLGAN**则表示删除长短时记忆网络后,即联邦学习框架与生成对抗网络结合的实验结果。由表3可以看出:当仅使用生成对抗网络模型时,无论是在异常检测还是数据修复方面都没有获得良好的实验效果。在考虑到实验数据的时序特征的情况下,FedLGAN*在异常检测与数据修复方面的MAPE指标分别为0.750 37和0.826 39,相较于原始的生成对抗网络模型有着较大的提升。与之不同的是,FedLGAN**更多关注于数据的隐私安全,利用联邦学习框架对原始模型进行改进,其在异常检测方面的MSE指标为6.390,而数据修复方面的RMSE指标则为2.674。虽然相较于长短时记忆网络带来的性能提升,联邦学习框架甚至可能给某些指标带来负面影响,但是略微牺牲模型的性能换取数据的隐私安全具有重要现实意义以及价值。值得一提的是,由于联邦学习架构特有的分布式训练,导致在通信方面有着较高的要求,因此其模型训练时间往往更长。在同时考虑数据隐私安全和其时序特征的情况下,各项指标在水文数据集下都取得了最优的实验结果。因此,笔者引入联邦学习框架和基于注意力机制的双向长短时记忆网络都对模型性能的提升起到了较大的作用。

表3 消融实验性能对比

6 结 论

笔者提出基于联邦学习框架的生成对抗网络模型,其中,联邦学习架构作用于数据隐私保护,生成对抗网络中的判别器与生成器则分别用于数据异常检测和数据修复。为了提高模型提取时序特征的能力,分别将基于注意力机制的双向长短时记忆网络及普通长短时记忆网络嵌入到模型的判别器和生成器中。模型将水文遥测设备的水文数据处理成时序矩阵序列之后作为输入,由判别器中的双向长短时记忆网络层提取相关时序信息,并将其结果即隐层状态作为注意力层的输入以获取权重矩阵,最终通过全连接层输出鉴别结果,完成数据的异常识别。此外,由判别器判定为异常数据的矩阵序列还会输入至生成器,利用其拟合数据分布的能力完成数据修复。实验使用浙江省水文通信平台提供的杭州市、金华市、绍兴市和丽水市的4个遥测设备的真实水文数据集,实验结果充分验证了该模型的可行性与优越性。然而,由于数据来源的局限性,可能导致在其他的水文遥测设备上表现不佳,因此后续会在省内其他水文遥测设备采集到的数据上继续验证模型的有效性。此外,考虑到联邦学习框架的分布式训练方式,相较于集中式模型运行效率不高,后续工作也将着眼于降低联邦学习的通信次数,减少训练时长,从而进一步提高网络模型的实用性。

猜你喜欢
短时记忆遥测时序
基于长短时记忆神经网络的动力电池剩余容量预测方法
基于Sentinel-2时序NDVI的麦冬识别研究
自适应模糊PID控制的遥测方舱温度调节方法
某小型无人机遥测软件设计
基于FPGA 的时序信号光纤传输系统
短时记忆、长时记忆对英语听力的影响
一种毫米波放大器时序直流电源的设计
浅谈如何提高遥测状态估计合格率
短时记忆理论的影响
基于驾驶员短时记忆的可变信息标志布设密度研究