CN117237165A - 一种检测造假数据的方法 - Google Patents

一种检测造假数据的方法 Download PDF

Info

Publication number
CN117237165A
CN117237165A CN202311236254.9A CN202311236254A CN117237165A CN 117237165 A CN117237165 A CN 117237165A CN 202311236254 A CN202311236254 A CN 202311236254A CN 117237165 A CN117237165 A CN 117237165A
Authority
CN
China
Prior art keywords
array
data
attention
layer
production
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311236254.9A
Other languages
English (en)
Other versions
CN117237165B (zh
Inventor
庞继伟
孙艺嘉
王国辉
张栩
郭炜
杨珊珊
丁杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cecep Talroad Technology Co ltd
Original Assignee
Cecep Talroad Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cecep Talroad Technology Co ltd filed Critical Cecep Talroad Technology Co ltd
Priority to CN202311236254.9A priority Critical patent/CN117237165B/zh
Publication of CN117237165A publication Critical patent/CN117237165A/zh
Application granted granted Critical
Publication of CN117237165B publication Critical patent/CN117237165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种检测造假数据的方法,包括:获取待检测企业的在线监测及DCS系统的不同来源的原始数据和补充参数;基于原始数据、补充参数构建产治排模型;基于产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性;基于可能性判断是否进行异常报警。该方法通过获取多元数据,可以从不同角度进行数据分析和比对,提高检测的准确性。另外,更全面地考虑生产、治理和排放之间的关系,采用规范的数学手段及分布式系统来描述其中的关系和构造整套系统,使之规范化、可推广、可复现。

Description

一种检测造假数据的方法
技术领域
本发明涉及环境监测与保护技术领域,具体提供一种检测造假数据的方法。
背景技术
随着国家对环保行业的重视,一些企业为了逃避监管和处罚,常采用各种方法对在线监测数据进行造假。现有造假方法中主要分为基于理化手段的造假和在线数据篡改两类。其中,基于理化手段的造假包括滤芯浸泡碱液、拔管抽空气等手段,具有更规律化的对应表征,可通过视频识别等方法进行识别,识别方法相对更明确;而篡改数据的手段识别起来较为困难。对于篡改数据类型的数据造假识别,现有方法通常有基于人工总结显著数据表征的方法和基于正态分布与忽略关联关系的统计分析两种。
基于人工总结显著数据表征的方法,是指经验丰富的工程师在长久的工作中察觉到企业数据中不合理的部分,总结出其中的显著数据表征、易被数学手段描述的规律,并通过自动识别的手段置入系统中。这种方法主要的问题在于,极大地依赖工程师的人工经验,不可避免地有不稳定和不易描述的部分,人力、物力消耗更大、成本更高,更难以形成规范化、可推广、可复现的做法。
基于正态分布与忽略关联关系的统计分析的方法虽然脱离了上一种方法的误区,但是不考虑数据间关联性、且以正态分布作为假设,在实际使用中容易出现误差。通常情况下多种污染物之间的数据独立性无法通过检验,常规统计分析的异常判断也是基于正态分布进行的,而实际运用中能够通过正态分布检验的序列很少。同时,实际数据也验证了污染物数据基本无法被线性的、近似于简单的基本初等函数的数学公式描述。进一步地,企业方运用一定基础的数理知识、基于正态分布生成假数据,可以在不增加造价成本的情况下较为容易地破解此种检测方法。
从方法现状来看,建立一种考虑污染物间关联、污染物生产治理排放数据间关联、无需基于正态分布假设且具备充分数学复杂度的检验方法,从而对污染物排放数据造假的检测进行升级、增大企业造假的成本是有必要的。
发明内容
为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决没有考虑污染物间关联、污染物生产治理排放数据间关联、需要基于正态分布假设且具备充分数学复杂度低的问题。
本发明提供一种检测造假数据的方法,包括:
获取待检测企业的在线监测及DCS系统的不同来源的原始数据和补充参数;其中,所述原始数据至少包括:生产数组Source、治理数组Target、排放数组Output,所述补充参数是对生产数组的补充;
基于所述原始数据、所述补充参数构建产治排模型;
基于所述产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性;
基于所述可能性判断是否进行异常报警。
优选地,基于所述原始数据、所述补充参数构建产治排模型包括:
基于所述原始数据、所述补充参数构建总数据集,所述总数据集根据数据来源不同,由多个样本集构成;
构建embedding层、Linear层;
对于待测企业的每一道工序,基于总数据集中的生产数组Source、治理数组Target、所述Linear层、所述embedding层、Cross Attention层、三组损失函数和优化器构建产治排模型。
优选地,基于所述原始数据、所述补充参数构建总数据集包括:
将不同来源的所述原始数据整合为同一时间点和同一设备所对应的一组数据即为一个样本集,样本集表示为(Source,Target,Output);
基于获取的DCS系统中所有设备的行业、工序,对设备进行分类,将同一类型的设备的相关数据构成同一个数据集;
获取待测设备、监测仪器的状态信息,将所述待测设备的状态信息作为生产数组的补充;
基于补充后的生产数组对所述样本集进行更新,得到更新后的所述样本集。
优选地,对于待测企业的每一道工序,基于总数据集中的生产数组Source、治理数组Target、所述Linear层、所述embedding层、Cross Attention层、三组损失函数和优化器构建产治排模型包括:
对所述总数据集中的生产数组Source、治理数组Target、补充参数进行处理得到Source1数组和Target1数组;
使用所述embedding层分别对所述Source1数组和Target1数组进行分解,得到embed_Source数组和embed_Target数组;
使用所述Linear层对所述embed_Source数组和所述embed_Target数组进行变换,得到Source2数组和Target2数组;
基于所述Source2数组、所述Target2数组输入所述Cross Attention层进行多个注意力头运算,得到第一多头注意力结果;和/或,基于所述Source2数组、所述Target2数组输入所述Attention层进行多个注意力头运算,得到第二多头注意力结果;其中,所述CrossAttention层、所述Attention层的K、Q输入相反;将所述第一多头注意力结果与所述第二多头注意力结果进行维度拼接,得到总的注意力结果,或,将所述第一多头注意力结果作为总的注意力结果;
基于Linear层对所述总的注意力结果计算得到预测结果、预测上限和预测下限;
设置损失函数、优化器;
基于所述三组损失参数、三个不同的优化器对产治排模型进行训练,得到用于推理的最优化产治排模型。
优选地,基于所述Source2数组、所述Target2数组输入所述Cross Attention层、多个注意力头运算,得到第一多头注意力结果;和/或,基于所述Source2数组、所述Target2数组输入所述Attention层、多个注意力头运算,得到第二多头注意力结果;其中,所述Cross Attention层、所述Attention层的K、Q输入相反包括:
将所述Source2数组和所述Target2数组输入所述Cross Attention层中,其中,Source2数组作为Cross Attention层中K和V输入、Target2数组作为Cross Attention层中Q的输入,并基于多个不同注意力头进行运算得到第一多头注意力结果;
将Source2数组作为Attention层中Q的输入,将Target2数组作为Attention层中K和V输入,并基于多个不同注意力头进行运算得到第二多头注意力结果。
优选地,基于多个不同的注意力头进行运算得到第一多头注意力结果、第二多头注意力结果的过程包括:
将K、Q、V进行线性变换得到多组不同的K’、Q’、V’;
基于每组K’、Q’得到注意力分数;
将所述注意力分数归一化为权重;
对每组权重与对应的V’进行加权求和,得到每组注意力头的输出;
将每组注意力头的输出进行拼接,并进行一次线性变换和激活函数操作,得到最终的多头注意力结果。
优选地,设定损失函数、优化器包括:
基于预测结果、预测上限、预测下限、获取的真实排放数据来获取损失函数,所述损失函数包括:Huber函数、两个LUBE method在有监督下的损失函数、KL散度函数;
设置是三个针对不同参数组、不同初始学习率的Adam优化器。
优选地,基于所述损失参数、三个不同的优化器对产治排模型进行交叉优化,得到最优的参数的产治排模型包括:
基于三个所述Adam优化器分别优化整个神经网络的参数、Linear层的参数的预测上限和Linear层的参数的预测下限;
基于所述损失函数输入三个Adam优化器调整预设学习率,并对产治排模型的参数进行迭代更新;
并对每次迭代更新后的产治排模型进行指标测试,选取其中指标效果最好的一组参数作为最优参数,所述最优参数下的模型为最终的产治排模型。
优选地,基于所述产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性包括:
将真实的生产数据source、真实的治理数据target输入所述产治排模型,获取预测排放数据、预测上限、预测下限;
基于所述预测排放数据、所述获取的真实排放数据计算KL散度;
基于所述KL散度、预设阈值,或预测排放数据、预测上限、预测下限判断所述真实排放数据存在数据造假的可能性。
优选地,基于所述可能性判断是否进行异常报警包括:
基于当前排放数据设置对应的预设阈值;
若所述KL散度大于所述预设阈值,则判定所述预测排放数据、所述真实排放数据之间的差异较大,存在数据造假的可能性。
基于当前排放数据是否超出预测上下限,针对多个具体的应用场景进行判断;
例如:某一种污染物或多种污染物连续多个时间点低于预测下限,或其他参数显示为生产状态的时段内氧含量高于预测上限而污染物较低等多种实际场景。
本发明提供了一种检测造假数据的方法,包括:获取待检测企业的在线监测及DCS系统的不同来源的原始数据和补充参数;其中,原始数据至少包括:生产数组Source、治理数组Target、排放数组Output,补充参数是对生产数组的补充;基于原始数据、补充参数构建产治排模型;基于产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性;基于可能性判断是否进行异常报警。与现有技术相比,本发明所提供的检测造假数据的方法的有益效果为:
1.该方法获取待检测企业的在线监测及DCS系统的不同来源的原始数据和补充参数。通过获取多元数据,可以从不同角度进行数据分析和比对,提高检测的准确性。
2.基于原始数据和补充参数构建产治排模型。这种综合建模分析的方法可以更全面地考虑生产、治理和排放之间的关系,采用规范的数学手段及分布式系统来描述其中的关系和构造整套系统,使之规范化、可推广、可复现。同时由于本方法采用了复杂模型,在对抗企业的反识别方面也同样具有优越性。此外,这项方法在推理阶段是可以部署在服务器上、连接数据库自动运行的,仅需要少量人力、物力。
3.使用真实排放数据来验证产治排模型。通过将模型预测的数据与真实数据进行比较,可以判断监测的真实排放数据是否存在数据造假的可能性。这种真实数据验证的方法可以更可靠地判断数据的真实性。
4.本发明经由实际数据的独立性检验和常规线性关系建模验证其中存在复杂关联的多维数据关系,其中包括不可由简单的线性方式描述的多种污染物之间相关、同种污染物的产治排之间相关,继而采用更为复杂的深度学习模型对其关系进行描述,从而避免陷入企业较容易破解检测手段的误区,智能地、不易被对抗地进行企业排放数据造假的检测。
附图说明
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
图1是根据本发明的一个实施例的检测造假数据的方法的主要步骤流程示意图;
图2是根据本发明的一个实施例的基于原始数据、补充参数构建产治排模型的流程示意图;
图3是根据本发明的一个实施例的基于原始数据、补充参数构建总数据集的流程示意图;
图4是根据本发明的一个实施例的推理时的Source数组图;
图5是根据本发明的一个实施例的推理时的Target数组图;
图6是根据本发明的一个实施例的真实排放数据数组图;
图7是根据本发明的一个实施例的推理时的KL散度效果图。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
实施例一
参阅附图1,图1是根据本发明的一个实施例的检测造假数据的方法的主要步骤流程示意图。如图1所示,本发明实施例中的检测造假数据的方法主要包括下列步骤S1-步骤S4。
一种检测造假数据的方法,包括:
步骤S1、获取待检测企业的在线监测及DCS系统的不同来源的原始数据和补充参数;其中,所述原始数据至少包括:生产数组Source、治理数组Target、排放数组Output,所述补充参数是对生产数组的补充,用于更全面地描述企业的生产情况。
具体地,根据不同的行业和工序,参数不同,可以将获取的原始数据中的生产数据Source设置为m个维度,例如烧结机的包含风机电流、烧结机机速、混合料皮带秤量等,而竖炉的包含主抽风机电流、梭车布料器下料量、摆头皮带运行信号、燃气流量等,(记为向量Source,Source={X1,X2,…,Xm})。将获取的原始数据中的治理数组Target设置为n个维度,例如焦炉的包含脱硫剂使用量、脱硝剂使用量、除尘器压差(布袋)、二次电流(电除尘)等,而垃圾焚烧炉的包含活性炭用量、脱硫剂使用量、炉内脱硝还原剂用量、炉外脱硝投加速率、脱酸剂投加速率、除尘器压差(布袋)等。记为向量Target,Target={Y1,Y2,…,Yn}。及k个维度的排放数据,记为向量Output,Output={Z1,Z2,…,Zk})。
步骤S2、基于所述原始数据、所述补充参数构建产治排模型;这个模型是一种深度学习模型,通过拟合生产数组、治理数组和排放数组之间的关系,来描述企业在治理过程中的排放情况。
步骤S3、基于所述产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性;通过将真实排放数据与产治排模型预测的排放数据进行比较,可以检测出排放数据的异常值或者与模型不符合的情况,从而得出是否存在数据造假的可能性。
步骤S4、基于所述可能性判断是否进行异常报警。如果存在数据造假的可能性较高,可以触发异常报警,提示相关人员进行进一步调查和核实。
基于步骤S1-步骤S4,该方法可以帮助检测企业排放数据可能存在的造假行为,提供及时的预警和准确的数据分析结果。
在一个实施方式中,如图2所示,步骤S2、基于所述原始数据、所述补充参数构建产治排模型包括:
步骤S21、基于所述原始数据、所述补充参数构建总数据集,所述总数据集根据数据来源不同,由多个样本集构成;通过将不同来源的数据进行整合和合并,得到一个综合的总数据集,以便后续建模分析。
步骤S22、构建embedding层、Linear层;
本实施例中,embedding层将原始数据进行降维和表示,将多维的原始数据映射到低维的特征向量空间,具体地,针对具体的每一行业下的每一工序,构建一个embedding层。Linear层用于对特征进行线性变换和组合,以更好地表达数据特征之间的关系。
步骤S23、对于待测企业的每一道工序,基于总数据集中的生产数组Source、治理数组Target、所述Linear层、所述embedding层、Cross Attention层、三组损失函数和优化器构建产治排模型。在该模型中,采用Cross Attention层来提取源数组和目标数组之间的重要特征,以便更准确地建立产治排的关系。另外,构建了三组损失函数和优化器,用于优化模型的参数和使模型适应实际数据。
在一个实施方式中,如图3所示,步骤S21、基于所述原始数据、所述补充参数构建总数据集包括:
步骤S211、将不同来源的所述原始数据整合为同一时间点和同一设备所对应的一组数据即为一个样本集,样本集表示为(Source,Target,Output);
具体地,将以同一时间点和同一设备所对应的一组(Source,Target,Output)元组数据记为一个样本,即一个样本包含一组时间与设备具备实际对应含义的(Source={X1,X2,…,Xm},Target={Y1,Y2,…,Yn},Output={Z1,Z2,…,Zk})。
步骤S212、基于获取的DCS系统中所有设备的行业、工序,对设备进行分类,将同一类型的设备的相关数据构成同一个数据集;不同设备适用的模型结构有细微不同,一般体现在输入、隐层等部分维度的长度上,对应的数据集也不同。
步骤S213、获取待测设备、监测仪器的状态信息,如,生产设备停炉/启炉/停产等,二氧化硫监测设备校准、维修等,将所述待测设备的状态信息作为生产数组的补充,根据可以获得的设备相关状态不同,此处补充的参数也不同。
步骤S214、基于补充后的生产数组对所述样本集进行更新,得到更新后的所述样本集。这样做的目的是为了提供更全面、更具体的数据,以便更好地分析和理解设备的运行状态和性能。同时,补充参数集还有助于针对不同类型的设备建立对应的模型结构,从而更准确地进行预测和控制。
在一个实施方式中,步骤S23、对于待测企业的每一道工序,基于总数据集中的生产数组Source、治理数组Target、所述Linear层、所述embedding层、Cross Attention层、三组损失函数和优化器构建产治排模型包括:
步骤S231、对所述总数据集中的生产数组Source、治理数组Target、补充参数进行处理得到Source1数组和Target1数组;
具体地,首先对输入的Source数组和Target数组做标准化,一般常用Layer Norm、Batch Norm、Sigmoid等多种方式,为了适应目前数据集单一属性数值较为集中、极少数极大极小值不同属性之间数值差距较大的分布状况,设计了一个适配模型数值类输入的标准化方法,将不同数值范围的输入数据缩放到相同的范围内,以便提高模型的性能和稳定性。具体公式如下:
其中,embed_max、embed_min这对参数组分别以上限、下限约束模型的适用范围,对于超出这个范围的数值,模型是不予预测和分析的(因此这个范围相对较大,同时这组参数也用于确定embedding层的max_length——可以视为embedding层允许的最大输入的含义。在实际操作中,max_length=embed_max+embed_min,这是由于监测设备存在零漂、导致监测数据出现负值,算法需要对负值进行处理的缘故);pol_max和pol_min这对参数组分别以上限、下限约束某一指定参数的重点区间,重点区间指以设备常规量程、分位数信息、合理范围等手段确定的数据分布较为密集的一段区间。这一步骤主要是使模型的标准化更集中于数据分布较为密集的区间内,对重点区间以外、适用范围以内也保持一定的鲁棒性。
补充参数可以使用one-hot编码方式转化或(当参数固定且数量有限时)用一个固定字典表示。
使用one-hot编码方式,补充参数的每个可能取值都被表示为一个向量,其中只有一个元素为1,其余元素均为0。例如,如果补充参数有3个可能的取值:A、B和C,那么A可以被表示为[1,0,0],B可以被表示为[0,1,0],C可以被表示为[0,0,1]。
使用一个固定的字典来表示补充参数的取值。这个字典将补充参数的每个取值映射到一个唯一的数字或者索引。例如,如果补充参数有3个可能的取值:A、B和C,那么可以使用一个字典来进行映射:A映射到0,B映射到1,C映射到2。这样,补充参数的每个取值都可以用一个数字来表示。
通过上述方式,可以将非数值型的补充参数转化为可以输入到模型中进行计算的形式,以便进行后续的处理和分析。可以先进行标准化处理数值型输入数据,然后再使用one-hot编码或固定字典表示来处理非数值型的补充参数。
步骤S232、使用所述embedding层分别对所述Source1数组和Target1数组进行分解,得到embed_Source数组和embed_Target数组;
具体地,使用两个相同的经典embedding层进行计算,避免由于原始输入数据存在的某些特殊情况,如0值、稀疏矩阵等,影响到计算效果,计算公式如下:
Embedding层是一种将离散的输入(如字、词、符号等)映射为连续向量表示的技术。它可以将输入数据编码为一个低维的稠密向量,使得输入数据具有更好的表示能力并且更易于处理。在这里,使用了embedding层来对Source1数组和Target1数组中的每个元素进行编码。通过编码,我们将每个元素映射为一个连续的、低维的向量表示。这个向量表示包含了原始数据的一些重要特征。embed_Source数组是对Sourcel数组中的元素进行编码后得到的数组,它是由一系列连续向量组成的。这些向量表示了Sourcel数组中每个元素的特征。同样地,embed_Target数组是对Target1数组中的元素进行编码后得到的数组,也是由一系列连续向量组成的。这些向量表示了Target1数组中每个元素的特征。通过将Source1数组和Target1数组中的元素进行编码,可以得到一组具有更好表示能力的向量表示。这样的向量表示可以被用于进一步的计算和分析。
步骤S233、使用所述Linear层对所述embed_Source数组和所述embed_Target数组进行变换,得到Source2数组和Target2数组;
计算公式如下:
y=Wx+B,其中,W和B表示神经网络可供训练的参数,x是网络层输入,y是网络层输出。
步骤S234、基于所述Source2数组、所述Target2数组输入所述Cross Attention层进行多个注意力头运算,得到第一多头注意力结果;和/或,基于所述Source2数组、所述Target2数组输入所述Attention层进行多个注意力头运算,得到第二多头注意力结果;其中,所述Cross Attention层、所述Attention层的K、Q输入相反;将所述第一多头注意力结果与所述第二多头注意力结果进行维度拼接,得到总的注意力结果,或,将所述第一多头注意力结果作为总的注意力结果;
softmax((WQS2)(WKS1)T)WVS1,其中WQ、WK、WV分别表示针对Q、K、V的权重矩阵,是神经网络层可供训练的参数。
MultiHead(Q,K,V)=Concat(head1,…,headh)WO
Q=S2=Source2,K=V=S1=Target2
其中,下标i表示多头Attention的h个头中的第i个头,W0是多头Attention用于对多头结果加权的权重矩阵。所有W在神经网络的表达里通常都表示权重矩阵(Weight),类似B都表示偏置(Bias)。R表示W的初始值在自然数集合中选择,上标是形状(严格来说Attention层是三维输入,但W是二维的)。
步骤S235、基于Linear层对所述总的注意力结果计算得到预测结果、预测上限和预测下限;具体地说,将注意力结果输入一个线性层进行线性变换,从而得到预测的结果,它表示模型预测的最终结果。
进一步的,增加一个排序层,更新Predict、Upper_limit和Lower_limit结果;
步骤S236、设定损失函数、优化器;损失函数是用来衡量模型的预测结果与真实标签之间的差距的函数。优化器是用于更新模型参数的算法。优化器根据模型在训练集上表现的反馈信息来调整模型参数,以使模型的预测结果更接近真实标签。例如梯度下降(Gradient Descent)、SGD、AdaGrad、Adam优化器等。
步骤S237、基于所述三组损失参数、三个单独的优化器对产治排模型进行训练,得到用于推理的最优化产治排模型。三个单独的优化器(optimizer)主要是负责对不同的模型参数组进行优化,上述参数组包括Lower_limit的线性层参数组、Upper_limit的线性层参数组以及其他参数组。
每个优化器具有不同的初始学习率和优化器种类(带动量项的优化器可以自行更新学习率,加快训练速度、避免陷入局部最优解、寻找全局最优解)。
优化的目标是通过在训练过程中反复迭代,不断调整模型参数来最小化损失函数。为了实现交叉优化,在训练的不同阶段对损失函数进行加权,以便前期先侧重于参数收敛以计算Predict,然后侧重于上下限的收敛。这样的交叉优化方法可以替代一种只对特定参数组进行backward的情况。
通过结合多组损失函数和多个优化器进行交叉优化,我们得到了经过训练的产治排模型。该模型具有经过训练的参数设置,可以在输入新数据时给出更准确的推理结果,并具有一定的泛化性和鲁棒性。
在一个实施方式中,步骤S234、基于所述Source2数组、所述Target2数组输入所述Cross Attention层、多个注意力头运算,得到第一多头注意力结果;和/或,基于所述Source2数组、所述Target2数组输入所述Attention层、多个注意力头运算,得到第二多头注意力结果;其中,所述Cross Attention层、所述Attention层的K、Q输入相反包括:
将所述Source2数组和所述Target2数组输入所述Cross Attention层中,其中,Source2数组作为Cross Attention层中K和V输入、Target2数组作为Cross Attention层中Q的输入,并基于多个不同注意力头进行运算得到第一多头注意力结果。具体地说,Source2数组被用作Cross Attention层中的K(键)和V(值)的输入,而Target2数组则作为CrossAttention层中的Q(查询)的输入。通过使用多个不同的注意力头,例如6个,可以并行地对K、Q和V进行计算,得到多个注意力头的输出。这些注意力头将注意力集中在Source2和Target2数组的不同部分,从而捕捉到更多的相关信息。最后,将多个注意力头的结果进行合并,得到第一多头注意力结果。
将Source2数组作为Attention层中Q的输入,将Target2数组作为Attention层中K和V输入,并基于多个不同注意力头进行运算得到第二多头注意力结果。具体地说,将Source2数组作为Attention层中的Q的输入,将Target2数组作为Attention层中的K和V的输入。同样地,我们通过使用多个不同的注意力头对Q、K和V进行计算,得到第二多头注意力结果。这种方式与第一多头注意力结果的计算方式类似,只是输入的顺序有所不同。
总之,通过在Cross Attention层和Attention层中使用不同的输入和运算操作,我们可以得到第一多头注意力结果和第二多头注意力结果,从而捕捉到不同关注点的相关信息。这种多头注意力机制有助于模型更全面地理解和处理输入数据。
在一个实施方式中,基于多个不同的注意力头进行运算得到第一多头注意力结果、第二多头注意力结果的过程包括:
将K、Q、V进行线性变换得到多组不同的K’、Q’、V’;
基于每组K’、Q’得到注意力分数;
将所述注意力分数归一化为权重;
对每组权重与对应的V’进行加权求和,得到每组注意力头的输出;
将每组注意力头的输出进行拼接,并进行一次线性变换和激活函数操作,得到最终的多头注意力结果。
本实施例中,基于多个不同注意力头进行运算得到第一多头注意力结果的具体过程为:对输入的Source2数组应用线性变换,将其转换为K和V向量。这可以通过使用不同的权重矩阵来实现。假设有h个注意力头,则对于每个注意力头i,将Source2数组通过线性变换获得Ki和Vi矩阵。对输入的Target2数组应用线性变换,将其转换为Q向量。同样,对于每个注意力头i,将Target2数组通过线性变换获得Qi矩阵。计算K和Q之间的点积,即Ki和Qi的点积。这可以计算每个Query向量与所有Key向量之间的相关性。根据点积的结果,应用缩放点积注意力机制,将其转换为注意力权重。缩放点积注意力机制通常包括对点积结果进行缩放,然后应用softmax函数获得注意力权重。根据注意力权重对V矩阵进行加权求和,得到第一多头注意力结果。将注意力权重与V矩阵相乘并加权求和,可以得到第一多头注意力结果。重复上述步骤,为每个注意力头计算注意力结果。最终,基于多个不同注意力头进行运算,可以得到第一多头注意力结果。这个结果将综合考虑输入数据中的不同信息,并能够捕捉到不同关注点的注意力模式。
同理,对输入的Source2数组应用线性变换,将其转换为Q向量。这可以通过使用不同的权重矩阵来实现。假设有h个注意力头,则对于每个注意力头i,将Source2数组通过线性变换获得Qi矩阵。对输入的Target2数组应用线性变换,将其转换为K和V向量。同样,对于每个注意力头i,将Target2数组通过线性变换获得Ki和Vi矩阵。计算K和Q之间的点积,即Ki和Qi的点积。这可以计算每个Query向量与所有Key向量之间的相关性。根据点积的结果,应用缩放点积注意力机制,将其转换为注意力权重。缩放点积注意力机制通常包括对点积结果进行缩放,然后应用softmax函数获得注意力权重。根据注意力权重对V矩阵进行加权求和,得到第二多头注意力结果。将注意力权重与V矩阵相乘并加权求和,可以得到第二多头注意力结果。重复上述步骤,基于多个不同注意力头进行运算,可以得到第二多头注意力结果。这个结果将综合考虑输入数据中的不同信息,并能够捕捉到不同关注点的注意力模式。
在一个实施方式中,设置损失函数、优化器包括:
基于预测结果、预测上限、预测下限、获取的真实排放数据来设定损失函数的计算方法(这是多个在模型构建阶段仅声明计算方法,在训练阶段才实际进行计算,在推理阶段无需使用的函数),所述损失函数包括:Huber函数、两个LUBE method在有监督下的损失函数、KL散度函数;
具体地,记Predict为p、Upper_limit为u、Lower_limit为l、真实排放数据为y,计算如下三组损失函数。
Huber函数的计算公式如下:
Huber:
两个LUBE method在有监督下的损失函数f1和f2,计算公式如下:
LUBE:
f2=k2·|u-l|
其中,y、u、l如前述,k1、k2是用于加权两个目标函数(因为两个函数有不同的侧重点,f1偏向于使u~1的区间包含y,f2偏向于使PT区间尽可能小)的超参,λ是一个表示对真实值没有落在u~l区间内的惩罚强度的超参,γ表示一个阶跃函数、在真实值落在u~l区间内时为0、真实值没有落在u~l区间内时为1,d由公式定义。
KL散度函数的计算公式如下:
KLD:
优化器(同上,在模型构建阶段仅声明计算方法,在训练阶段才实际进行计算,在推理阶段无需使用)的设置是,三个针对不同参数组、不同初始学习率的Adam优化器。具体地,按照如下伪代码过程更新按照如下伪代码过程更新Adam optimizer:
Adam是带有动量项的优化器,因此学习率会随着训练过程更新。其中α是学习率,t表示更新的步数,β1、β2分别表示一阶矩衰减系数和二阶矩衰减系数,f(θ)指代前文的loss,θ表示该优化器求解更新的参数组,gt是f(θ)对θ求导所得梯度,mt是gt的一阶矩,vt是gt的二阶矩,m^t是mt的偏置矫正,v^t是vt的偏置矫正。),分别优化整个神经网络参数、上限预测部分Linear层的参数、下限预测部分Linear层的参数。
在一个实施方式中,基于所述损失参数、三个不同的优化器对产治排模型进行交叉优化,得到最优的参数的产治排模型包括:
基于三个所述Adam优化器分别优化整个神经网络的参数、Linear层的参数的预测上限和Linear层的参数的预测下限;
基于所述损失函数输入三个Adam优化器调整预设学习率,并对产治排模型的参数进行迭代更新;
具体地,以不同的随机种子划分数据集的训练集、测试集和验证集;
减小内存负荷和提高计算效率,在一个随机种子下,把划分好的训练集分批次(batch)投入模型;
对每个batch的均分别计算三组损失函数,并将依次通过三个优化器调整预设学习率,学习率是控制参数更新的步长,可以根据损失值的变化动态地调整学习率。一个epoch结束后,即将所有训练集都输入模型一次后,根据指定损失函数反馈信息进行参数矩阵一次迭代。通过多次迭代,不断更新模型的参数。
一个epoch指所有训练集投入运算、以指定损失函数为反馈、通过优化器进行参数矩阵迭代一次;一个batch指训练集中按照样本数量再次划分,每次运算只使用指定大小的部分投入运算、调整参数矩阵。每个随机种子的训练过程中包含多个epoch,而每个epoch中又包含多个batch。
并对每次迭代更新后的产治排模型进行指标测试,选取其中指标效果最好的一组参数作为最优参数,所述最优参数下的模型为最终的产治排模型。
本实施例中,针对每次迭代更新后的产治排模型,进行指标测试,如衡量预测值与真实值差异的采用由MSE、MAE组合成的huber、LUBE的loss等指标。根据测试结果选择效果最好的一组参数,将其作为最优参数。最后通过验证集比对,选择不同随机种子下泛化性能最好的一个,作为推理使用的产治排模型的参数。
在一个实施方式中,基于所述产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性包括:
将真实的生产数据source、真实的治理数据target输入所述产治排模型,获取预测排放数据、预测上限、预测下限;
基于所述预测排放数据、所述获取的真实排放数据计算KL散度;
基于所述KL散度、预设阈值,或预测排放数据、预测上限、预测下限判断所述真实排放数据存在数据造假的可能性。
本实施例中,首先,将真实的生产数据(source)和真实的治理数据(target)作为输入提供给产治排模型。模型会基于这些真实数据进行预测并生成相应的排放数据、预测上限和预测下限。如果真实排放数据高于预测上限或低于预测下限,则可能存在数据造假的可能性。
KL散度是一种衡量两个概率分布之间差异的指标,用于判断模型预测的排放数据与真实排放数据之间的相似度。较小的KL散度表示预测数据和真实数据之间的差异较小,较大的KL散度可能意味着存在数据造假的可能性。基于得到的KL散度和预设阈值进行取余运算,可以对真实排放数据是否存在数据造假进行判断。如果KL散度超过预设阈值则可能存在数据造假的可能性。
在一个实施方式中,基于所述可能性判断是否进行异常报警包括:
基于当前排放数据设置对应的预设KL散度阈值,具体地,可以针对每种排放数据进行单独设定;
若所述KL散度大于所述预设阈值,则判定所述预测排放数据、所述真实排放数据之间的差异较大,存在数据造假的可能性。
计算KL散度从而判定异常的过程由图7所示。图7中对于每个可预测的排放数据都有单独的KL散度值、单独的KLD异常阈值,图中标注了该次计算得出的异常样本。图4、图5、图6分别表示在这个实施例的计算中,对应图7的结果时对算法输入的三组数组(即Source、Target、Output),对于这三组数组的异常结果标记,当任一排放数据判定为异常时,三组数组的所有计算参数(及其数据时间点和设备号)标记为异常。
进一步的,当KL散度超过预设阈值时,可以触发异常报警。这样可以及时通知相关部门或责任人对数据进行进一步核查和验证,以确定是否存在数据造假行为。
在一个实施方式中,基于当前排放数据和预测上限、下限的关系,针对多个具体的应用场景进行判断,例如:某一种污染物或多种污染物连续多个时间点低于预测下限,或其他参数显示为生产状态的时段内氧含量高于预测上限而污染物较低。例如,连续20个时间点的真实排放数据低于预测下限,判定该项排放数据存在数值型数据造假的可能性;又比如,连续5个时间点,仅氧含量高于预测上限、其余污染物低于预测下限,判定该段时间存在站房数据造假的可能性。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对原始技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (10)

1.一种检测造假数据的方法,其特征在于,包括:
获取待检测企业的在线监测及DCS系统的不同来源的原始数据和补充参数;其中,所述原始数据至少包括:生产数组Source、治理数组Target、排放数组Output,所述补充参数是对生产数组的补充;
基于所述原始数据、所述补充参数构建产治排模型;
基于所述产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性;
基于所述可能性判断是否进行异常报警。
2.根据权利要求1所述的方法,其特征在于,基于所述原始数据、所述补充参数构建产治排模型包括:
基于所述原始数据、所述补充参数构建总数据集,所述总数据集根据数据来源不同,由多个样本集构成;
构建embedding层、Linear层;
对于待测企业的每一道工序,基于总数据集中的生产数组Source、治理数组Target、所述Linear层、所述embedding层、Cross Attention层、三组损失函数和优化器构建产治排模型。
3.根据权利要求2所述的方法,其特征在于,基于所述原始数据、所述补充参数构建总数据集包括:
将不同来源的所述原始数据整合为同一时间点和同一设备所对应的一组数据即为一个样本集,样本集表示为(Source,Target,Output);
基于获取的DCS系统中所有设备的行业、工序,对设备进行分类,将同一类型的设备的相关数据构成同一个数据集;
获取待测设备、监测仪器的状态信息,将所述待测设备的状态信息作为生产数组的补充;
基于补充后的生产数组对所述样本集进行更新,得到更新后的所述样本集。
4.根据权利要求2所述的方法,其特征在于,对于待测企业的每一道工序,基于总数据集中的生产数组Source、治理数组Target、所述Linear层、所述embedding层、CrossAttention层、三组损失函数和优化器构建产治排模型包括:
对所述总数据集中的生产数组Source、治理数组Target、补充参数进行处理得到Source1数组和Target1数组;
使用所述embedding层分别对所述Source1数组和Target1数组进行分解,得到embed_Source数组和embed_Target数组;
使用所述Linear层对所述embed_Source数组和所述embed_Target数组进行变换,得到Source2数组和Target2数组;
基于所述Source2数组、所述Target2数组输入所述Cross Attention层进行多个注意力头运算,得到第一多头注意力结果;和/或,基于所述Source2数组、所述Target2数组输入所述Attention层进行多个注意力头运算,得到第二多头注意力结果;其中,所述CrossAttention层、所述Attention层的K、Q输入相反;将所述第一多头注意力结果与所述第二多头注意力结果进行维度拼接,得到总的注意力结果,或,将所述第一多头注意力结果作为总的注意力结果;
基于Linear层对所述总的注意力结果计算得到预测结果、预测上限和预测下限;
获取损失函数、三个优化器;
基于所述损失参数、三个不同的优化器对产治排模型进行交叉优化,得到最优的参数的产治排模型。
5.根据权利要求3所述的方法,其特征在于,基于所述Source2数组、所述Target2数组输入所述Cross Attention层、多个注意力头运算,得到第一多头注意力结果;和/或,基于所述Source2数组、所述Target2数组输入所述Attention层、多个注意力头运算,得到第二多头注意力结果;其中,所述Cross Attention层、所述Attention层的K、Q输入相反包括:
将所述Source2数组和所述Target2数组输入所述Cross Attention层中,其中,Source2数组作为Cross Attention层中K和V输入、Target2数组作为Cross Attention层中Q的输入,并基于多个不同注意力头进行运算得到第一多头注意力结果;
将Source2数组作为Attention层中Q的输入,将Target2数组作为Attention层中K和V输入,并基于多个不同注意力头进行运算得到第二多头注意力结果。
6.根据权利要求4所述的方法,其特征在于,基于多个不同的注意力头进行运算得到第一多头注意力结果、第二多头注意力结果的过程包括:
将K、Q、V进行线性变换得到多组不同的K’、Q’、V’;
基于每组K’、Q’得到注意力分数;
将所述注意力分数归一化为权重;
对每组权重与对应的V’进行加权求和,得到每组注意力头的输出;
将每组注意力头的输出进行拼接,并进行一次线性变换和激活函数操作,得到最终的多头注意力结果。
7.根据权利要求4所述的方法,其特征在于,获取损失函数、三个优化器包括:
基于预测结果、预测上限、预测下限、获取的真实排放数据来获取损失函数,所述损失函数包括:Huber函数、两个LUBE method在有监督下的损失函数、KL散度函数;
设置是三个针对不同参数组、不同初始学习率的Adam优化器。
8.根据权利要求7所述的方法,其特征在于,基于所述损失参数、三个不同的优化器对产治排模型进行交叉优化,得到最优的参数的产治排模型包括:
基于三个所述Adam优化器分别优化整个神经网络的参数、Linear层的参数的预测上限和Linear层的参数的预测下限;
基于所述损失函数输入三个Adam优化器调整预设学习率,并对产治排模型的参数进行迭代更新;
并对每次迭代更新后的产治排模型进行指标测试,选取其中指标效果最好的一组参数作为最优参数,所述最优参数下的模型为最终的产治排模型。
9.根据权利要求1-8任意一项的所述的方法,其特征在于,基于所述产治排模型、真实排放数据判断监测的真实排放数据是否存在数据造假的可能性包括:
将真实的生产数据source、真实的治理数据target输入所述产治排模型,获取预测排放数据、预测上限、预测下限;
基于所述预测排放数据、所述获取的真实排放数据计算KL散度;
基于所述KL散度、预设阈值,或预测排放数据、预测上限、预测下限判断所述真实排放数据存在数据造假的可能性。
10.根据权利要求9所述的方法,其特征在于,基于所述可能性判断是否进行异常报警包括:
基于当前排放数据设置对应的预设阈值;
若所述KL散度大于所述预设阈值,则判定所述预测排放数据、所述真实排放数据之间的差异较大,存在数据造假的可能性。
CN202311236254.9A 2023-09-22 2023-09-22 一种检测造假数据的方法 Active CN117237165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311236254.9A CN117237165B (zh) 2023-09-22 2023-09-22 一种检测造假数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311236254.9A CN117237165B (zh) 2023-09-22 2023-09-22 一种检测造假数据的方法

Publications (2)

Publication Number Publication Date
CN117237165A true CN117237165A (zh) 2023-12-15
CN117237165B CN117237165B (zh) 2024-05-07

Family

ID=89084027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311236254.9A Active CN117237165B (zh) 2023-09-22 2023-09-22 一种检测造假数据的方法

Country Status (1)

Country Link
CN (1) CN117237165B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111080502A (zh) * 2019-12-17 2020-04-28 清华苏州环境创新研究院 一种区域企业数据异常行为的大数据识别方法
CN111931414A (zh) * 2020-06-22 2020-11-13 山东师范大学 基于大数据分析的企业烟气排放数据检测方法及系统
CN113792988A (zh) * 2021-08-24 2021-12-14 河北先河环保科技股份有限公司 一种企业在线监测数据异常识别方法
CN114169424A (zh) * 2021-12-03 2022-03-11 国网浙江省电力有限公司杭州供电公司 基于k近邻回归算法和用电数据的排污量预测方法
CN115688035A (zh) * 2022-10-19 2023-02-03 江苏电力信息技术有限公司 一种基于自监督学习的时序电力数据异常检测方法
CN116308415A (zh) * 2023-02-15 2023-06-23 江苏蓝创智能科技股份有限公司 一种污水排放数据真伪风险评估方法
CN116665130A (zh) * 2023-06-07 2023-08-29 河海大学 基于时空图的大坝安全监测多元时间序列异常检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111080502A (zh) * 2019-12-17 2020-04-28 清华苏州环境创新研究院 一种区域企业数据异常行为的大数据识别方法
CN111931414A (zh) * 2020-06-22 2020-11-13 山东师范大学 基于大数据分析的企业烟气排放数据检测方法及系统
CN113792988A (zh) * 2021-08-24 2021-12-14 河北先河环保科技股份有限公司 一种企业在线监测数据异常识别方法
CN114169424A (zh) * 2021-12-03 2022-03-11 国网浙江省电力有限公司杭州供电公司 基于k近邻回归算法和用电数据的排污量预测方法
CN115688035A (zh) * 2022-10-19 2023-02-03 江苏电力信息技术有限公司 一种基于自监督学习的时序电力数据异常检测方法
CN116308415A (zh) * 2023-02-15 2023-06-23 江苏蓝创智能科技股份有限公司 一种污水排放数据真伪风险评估方法
CN116665130A (zh) * 2023-06-07 2023-08-29 河海大学 基于时空图的大坝安全监测多元时间序列异常检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘悦: "《基于模糊断点-双重差分的居民阶梯气价政策节能效果评估》", 《万方数据》, 30 April 2020 (2020-04-30) *

Also Published As

Publication number Publication date
CN117237165B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US11507049B2 (en) Method for detecting abnormity in unsupervised industrial system based on deep transfer learning
CN109408389B (zh) 一种基于深度学习的代码缺陷检测方法及装置
CN104712542B (zh) 一种基于物联网的往复压缩机敏感特征提取与故障诊断方法
CN111241673B (zh) 用于噪声环境工业设备的健康状态预测方法
CN113807570B (zh) 基于XGBoost的水库大坝风险等级评估方法及系统
CN113865868B (zh) 基于时频域表达的滚动轴承故障诊断方法
CN114360703A (zh) 一种医疗设备故障预警方法
CN112039903B (zh) 基于深度自编码神经网络模型的网络安全态势评估方法
CN111353373A (zh) 一种相关对齐域适应故障诊断方法
US20220261655A1 (en) Real-time prediction method for engine emission
CN112904810B (zh) 基于有效特征选择的流程工业非线性过程监测方法
CN116108758A (zh) 滑坡易发性评价方法
CN112819107A (zh) 基于人工智能的燃气调压设备故障预测方法
Coraça et al. An unsupervised structural health monitoring framework based on Variational Autoencoders and Hidden Markov Models
CN114297918A (zh) 基于全注意力深度网络和动态集成学习的航空发动机剩余寿命预测方法
CN115018512A (zh) 基于Transformer神经网络的窃电检测方法及装置
CN112149884A (zh) 一种面向大规模学员的学业预警监测方法
CN114692507A (zh) 基于堆叠泊松自编码器网络的计数数据软测量建模方法
CN110717602A (zh) 一种基于噪音数据的机器学习模型鲁棒性评估方法
CN114202060A (zh) 基于深度神经网络的生物质活性炭吸附亚甲基蓝性能预测方法
CN117237165B (zh) 一种检测造假数据的方法
Wu et al. Process monitoring of nonlinear uncertain systems based on part interval stacked autoencoder and support vector data description
CN116383747A (zh) 基于多时间尺度深度卷积生成对抗网络的异常检测方法
CN112001436A (zh) 一种基于改进的极限学习机的水质分类方法
CN116520795A (zh) 一种基于田口方法的工控系统异常检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: 100096 no.258, 2nd floor, building 2, Xisanqi building materials City, Haidian District, Beijing

Applicant after: China Energy Conservation Digital Technology Co.,Ltd.

Address before: 100096 no.258, 2nd floor, building 2, Xisanqi building materials City, Haidian District, Beijing

Applicant before: CECEP TALROAD TECHNOLOGY CO.,LTD.

Country or region before: China

GR01 Patent grant
GR01 Patent grant