掌桥专利:专业的专利平台
掌桥专利
首页

一种基于多任务学习及深度学习模型的水质预测方法

文献发布时间:2023-06-19 19:30:30


一种基于多任务学习及深度学习模型的水质预测方法

技术领域

本发明属于环境质量预测技术领域,具体涉及一种基于多任务学习及深度学习模型的水质预测方法。

背景技术

水是我们日常生活中不可或缺的资源,也是生态系统中赖以生存的物质。随着工业、经济的发展,水体污染愈发严重,水资源愈加短缺,因此保护水资源迫在眉睫。在水资源的保护过程中,需要使用水质预测方法预测水资源的健康情况,便于工作人员及时采取预防污染措施,避免水资源大面积污染。

目前水质预测方法大致分为两类。第一类是传统的统计学习方法,常用的是差分整合移动平均自回归模型(ARIMA)。ARIMA可以有效捕捉特征间的线性关系,但只能适用于平稳序列的预测,无法适用于当下复杂的非线性水质数据。第二类常用的水质预测方法是使用BP神经网络模型对水质进行预测。BP神经网络由于其能拟合任意连续函数及具有较强非线性映射能力的特性被成功用于水质预测领域。然而,评价水质健康的数据较多且复杂,BP神经网络较“浅”,无法适用于高度复杂的数据集。

基于上述水质预测存在的问题,亟需一种基于多任务学习的水质预测方法,能够解决现有的水质预测方法不能适用于当下非线性的、复杂的水质数据,导致水质预测结果不精确的问题。

发明内容

本发明旨在至少解决现有技术中存在的技术问题,提供一种基于多任务学习及深度学习模型的水质预测方法,适用于分析预测非线性的、复杂的水质数据,提高水质预测精度。

为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种基于多任务学习及深度学习模型的水质预测方法,包括以下步骤:获取输入数据,输入数据包括水质数据和气象数据;将输入数据输入至预测模型中;获取输入数据的时间序列;根据时间序列和输入数据获取局部依赖特征和长时间依赖特征;根据局部依赖特征和长时间依赖特征获得水质指标预测结果。

进一步地,预测模型的训练过程如下:创建初始模型;获取训练数据放入初始模型中,训练数据包括水质数据和气象数据,根据训练数据建立目标序列和时间序列,对训练数据进行预处理,通过滑动窗口将时间序列和目标序列作为初始模型的输入;初始模型提取时间序列和目标序列中的特征数据,对特征数据进行学习,获得特征数据之间的局部依赖特征和长时间依赖特征,向局部依赖特征和长时间依赖特征赋予动态权重获得初始模型的输出结果;基于多任务学习模型获取时间序列和目标序列中的特征数据的相关性,根据提取到的特征数据和多个任务间的相关性对初始模型的损失函数进行更新,直至初始模型的损失函数最小化,初始模型结束训练生成预测模型。

进一步地,向局部依赖特征和长时间依赖特征赋予动态权重的步骤中还包括加权求和步骤;加权求和步骤具体为:使用softmax函数确保动态权重的和为1。

进一步地,初始模型的损失函数如下:

进一步地,初始模型包括卷积神经网络层、长短期记忆网络层、注意力机制层和多任务学习模型。

进一步地,卷积神经网络层包括一维卷积层;一维卷积层的卷积核只能在时间序列的时间步方向上移动;一维卷积层通过卷积操作提取特征数据的局部特征,一维卷积层的提取公式具体如下:h

进一步地,长短期记忆网络层依次包括遗忘门、输入门、输出门和细胞状态;遗忘门、输入门、输出门和细胞状态的计算公式具体如下:

进一步地,注意力机制层的计算公式具体如下:

其中,t表示t时刻,

进一步地,多任务学习模型的损失函数如下:

进一步地,预处理的步骤依次包括填补缺失数据、数据同步处理、特征选择、去噪处理和归一化处理;填补缺失数据的步骤具体为:使用K-近邻插值算法对训练数据或预测数据中缺失的数据进行填补;特征选择的步骤具体为:基于皮尔逊相关系数计算训练数据中每个数据特征分别与时间序列、目标序列的相关性;根据相关性数值从大到小筛选出前K个数据,K为正整数;去噪处理的步骤具体为:利用小波变化对训练数据进行分解,分解层数通过分解公式计算获得,将分解层数的高频系数设为0;分解公式如下:

本发明的技术原理及有益效果:本发明提出一种基于多任务学习及深度学习模型的水质预测方法,通过获取输入数据的时间序列,学习水质数据和气象数据的局部依赖特征和长时间依赖特征,并且通过对局部依赖特征和长时间依赖特征赋予动态权重,获得水质指标预测结果,与现有技术相比,本发明能够处理非线性的、复杂的水质数据;并且在预测模型的训练过程中,通过计算多个任务间的相关性,优化预测模型的损失函数,避免预测模型在训练过程中出现过拟合现象,减少预测模型的训练时间和资源损耗,并且进一步强化了预测模型的泛化能力,提高预测模型的预测精度。

附图说明

图1是本发明一种基于多任务学习及深度学习模型的水质预测方法的流程示意图;

图2是本发明初始模型的结构示意图;

图3是本发明卷积神经网络层、长短期记忆网络层和注意力机制层的结构示意图;

图4是各数据特征与时间序列、目标序列的相关性示意图;

图5是氢离子浓度指数(pH)值去噪前和去噪后的对比示意图;

图6是本发明的预测模型在训练过程中的损失曲线;

图7是pH预测值和真实值对比图;

图8是DO预测值和真实值对比图;

图9是NH

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

如附图1所示,本发明提供了一种基于多任务学习及深度学习模型的水质预测方法,包括以下步骤:

获取输入数据,输入数据包括水质数据和气象数据;将输入数据输入至预测模型中;

获取输入数据的时间序列;根据时间序列和输入数据获取局部依赖特征和长时间依赖特征;根据局部依赖特征和长时间依赖特征获得水质指标预测结果。

具体地,水质数据包括氢离子浓度指数(pH)、溶解氧(DO)、化学需氧量(COD)、氨氮含量(NH

预测模型的训练过程如下:

创建初始模型;获取训练数据放入初始模型中,训练数据包括水质数据和气象数据,对训练数据进行预处理,本实施例中,预处理的步骤依次包括填补缺失数据、数据同步处理、特征选择、去噪处理和归一化处理;

具体地,传感器长期使用存在腐蚀损坏的风险,可能会造成数据丢失,因此在使用采集的水质数据之前,需要对水质数据中的缺失值进行填补;由于水质数据为非线性数据,传统的线性差值算法填补不适用,因此本实施例中,填补缺失数据的步骤具体为:使用K-近邻插值算法对训练数据或预测数据中缺失的数据进行填补。

具体地,本实施例中,由于气象数据的采集周期与水质数据的采集周期可能不同,因此在使用前需要将气象数据和水质数据进行同步,保证气象数据和水质数据之间相互对应和匹配,避免数据不匹配导致的预测结果精确性低的问题。

具体地,由于特征过多可能对降低预测模型的预测性能,因此需要对输入的水质数据和气象数据中的特征进行筛选,选择与预测目标相关性更高的特征。本实施例中特征选择的步骤具体为:基于皮尔逊相关系数计算训练数据中每个数据特征分别与时间序列、目标序列的相关性;根据相关性数值从大到小筛选出前K个数据,K为正整数;本实施例中,各数据特征与时间序列、目标序列的相关性如附图4所示。

具体地,由于水质数据具有季节性、趋势性、易变性等特点,一些突变的数据可能会影响水质预测结果,因此需要对水质数据进行去噪处理,使水质数据更加平滑稳定。去噪处理的步骤具体为:利用小波变化对训练数据进行分解,分解层数通过分解公式计算获得,将分解层数的高频系数设为0;分解公式如下:

其中,l

如附图5所示为本实施例中氢离子浓度指数(pH)值去噪前和去噪后的对比。

具体地,由于不同的数据特征具有不同的量纲,若不对数据量纲进行统一,可能会与影响预测模型的预测效果,因此本实施例中,对水质数据和气象数据进行归一化处理,使这些数据特征具有一致性。特征归一化处理的步骤具体为:使用最大最小值归一化公式将训练数据映射到0~1的范围内;最大最小值归一化公式具体如下:

其中,x表示归一化处理前的训练数据,x'表示归一化处理后的训练数据;x

经过上述预处理后,提取处理后的训练数据的时间特征,根据时间特征和训练数据建立时间序列和目标序列;通过滑动窗口将时间序列和目标序列作为初始模型的输入;现有技术中,大部分的研究不讲时间戳输入至模型中,导致模型训练过程中会丢失时间中的周期特征,因此本实施例中对训练数据提取时间特征作为模型输入,提高预测模型的预测精度;具体地,为了获取训练数据的周期信息,时间特征分为4个,包括小时、日、星期和月。

本实施例中,构建的时间序列X:X={x

初始模型提取时间序列和目标序列中的特征数据,对特征数据进行学习,获得特征数据之间的局部依赖特征和长时间依赖特征,向局部依赖特征和长时间依赖特征赋予动态权重获得初始模型的输出结果;

如附图2所示,初始模型包括卷积神经网络层、长短期记忆网络层、注意力机制层和多任务学习模型。具体地,通过卷积神经网络层捕捉目标序列和时间序列中特征间的局部依赖特征;通过长短期记忆网络层捕捉目标序列和时间序列中特征间的长时间依赖特征;通过注意力机制为时间序列和目标序列中不同的时间步赋予不同的权重,以此提升预测模型的预测精度。

现有技术中的水质预测没有考虑不同水质指标任务间的关系,无法捕捉水质数据中较长的时间依赖特征,并且随着时间窗口长度的增加,现有技术模型的表现力会急剧下降。考虑到水质指标较多,常规方法通常为单任务预测,预测多个指标将增加空间、时间的花销。因此本发明将多任务学习与深度学习结合在一起,多任务负责学习不同任务间的关系,深度学习通过结合卷积神经网络层和长短期记忆网络层的优势捕捉特征间的的非线性关系,最后通过注意力机制捕捉较长的时间依赖,得出多个水质指标预测结果。

卷积神经网络层包括一维卷积层;一维卷积层的卷积核只能在时间序列的时间步方向上移动;如附图3所示,本实施例中卷积神经网络层包括两个一维卷积层,第一个一维卷积层的输出为第二个一维卷积层的输入。一维卷积层包括多个滤波器,时间序列X={x

h

其中,h

时间序列和目标序列在经过卷积神经网络层后到达长短期记忆网络层,长短期记忆网络层依次包括遗忘门、输入门、输出门、第二隐藏状态和细胞状态;其中遗忘门决定忘记时间序列和目标序列中的某些特征信息,输入门决定在细胞状态中存储某些特征信息;

遗忘门、输入门、输出门和细胞状态的公式具体如下:

h

其中,t表示t时刻;f

卷积神经网络层用于提取目标序列和时间序列的局部依赖特征;长短期记忆网络层用于提取目标序列和时间序列的长时间依赖特征。局部依赖特征和长时间依赖特征最终输入至注意力机制层,注意力机制层自动对局部依赖特征和长时间依赖特征赋予动态权重,并进行动态权重的加权求和。

本实施例中,向局部依赖特征和长时间依赖特征赋予动态权重的步骤中还包括加权求和步骤;加权求和计算过程具体为:使用softmax函数确保动态权重的和为1。注意力机制层的计算公式具体如下:

/>

其中,t表示t时刻,

赋予权重后的局部依赖特征和长时间依赖特征为预测模型的输出,得到数据特征进入多任务学习模型,多任务学习模型学习多个任务之间相关性,即认知不确定性和偶然不确定性,不确定性越大,说明该任务的难度越高,此时减低该任务的损失函数中的σ值,从而降低该任务对整体预测结果的影响度,减轻预测模型的训练难度;本实施例中,单个任务的损失函数默认使用均方根。

具体地,多个任务包括:优化pH值预测子任务、溶解氧(DO)预测子任务、氨氮含量(NH

具体地,初始模型的损失函数如下:

其中,L(W,σ

多任务学习模型的损失函数如下:

其中,L(θ)表示单个任务的损失函数;θ表示单个任务的待学习参数;σ表示任务权重;N表示任务数量,i∈N;y

如附图6所示,预测模型在训练过程中的损失曲线图,能够看出在100个Epoch后,预测模型开始收敛。如附图7、附图8和附图9所示,通过本发明所述的一种水质预测模型获得的水质预测值与真实值相近,可见本发明所述的预测模型的拟合效果较好,预测精度高。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

技术分类

06120115929374