一种基于注意力机制和残差网络的电网异常用电检测方法与流程

文档序号:30583179发布日期:2022-06-29 13:36阅读:153来源:国知局
一种基于注意力机制和残差网络的电网异常用电检测方法与流程

1.本发明涉及用电检测技术领域,尤其涉及一种基于注意力机制和残差网络的电网异常用电检测方法。


背景技术:

2.随着物联网、大数据等新一代信息技术的迅猛发展,各个行业正在经历着重大变革。近年来,国家对能源可持续发展的高度重视,使得社会的工业生产和用户的日常生活对电能的需求急剧增加。然而传统的电力网络结构相对单一,只能满足部分用户基本的用电需求,其主要依赖于不可再生能源进行发电,无法应对当今社会电力能源高速消耗的问题。因此,目前各国致力于发展可分布式能源等多种新型能源的下一代电力系统,主要通过整合信息和能量的双向流动将自动化和智能化管理的新型系统与现有的电力系统相结合,以此形成现代化、信息化和智能化的电力网络。
3.智能电网中的异常检测包含了大量与数据驱动相关的异常用电检测技术。异常检测即离群值检测,主要是检测出不符合预期行为的异常模式。异常检测在入侵检测、欺诈检测、工业控制系统等领域都得到了广泛的应用。因此,目前对异常检测进行研究也至关重要。
4.异常检测是通过对系统设备中的数据进行检测并分类的一种方法,主要根据被检测对象的各项数据判定其是否发生异常情况,最后将数据中的正常样本与异常样本进行分类,并找出发生异常的系统设备。异常检测主要分为特征提取与分类两部分,系统在发生异常时通常会引起数据的变化,异常检测主要采用机器学习的方法进行数据的特征提取,以此挖掘出数据内部的潜在特性,通过这些特征进行训练学习并找到异常数据,从而找出发生异常的系统设备。
5.申请人上海电机学院,申请公布号为cn113011997b提出的一种电网用户用电异常行为检测方法,包括采集获取用户用电数据;对用户用电数据进行数据预处理,获得训练集;构建基于adaboost集成学习的用电异常检测模型;利用训练集对用电异常检测模型进行训练;向训练后的用电异常检测模型输入用户特征数据;进行异常用电行为分析与识别;用电异常检测模型输出分类结果;使用分类性能指标评价分类结果。
6.申请人四川大学,授权公告号为cn106296465b提出的一种智能电网异常用电行为检测方法,通过各用户不同用电业务类型电能使用量随时间的变化来描述用户的用电行为,充分反映用户的用电特征;使用用户间用电行为的相似性对用户进行分簇,利用同用户簇中用户用电行为的相互关联以及用户用电行为与其历史用电行为的相关性,来刻画异常用电行为与其正常行为模式的偏离,保证了异常用电行为检测的有效性;通过对固定时间间隔内的累计用户用电行为数据进行分析,能够在满足检测精度要求的前提下,避免海量实时数据在分析中引入过多噪声,使得方法具有较好的动态适应性;通过对固定时间间隔内的累计用户用电行为数据进行分析,减小了原始数据量。
7.上述方法创新性好,能够对电网异常检测起到较好的作用,然而对电网数据的噪
声处理,仍需进一步提升尤其是同时考虑到在实际的工业应用中不可避免的噪声干扰以及电力系统在载荷发生变化同时出现,导致检测算法模型的鲁棒性和泛化能力不够强。
8.残差网络是由来自microsoft research的4位学者提出的卷积神经网络,在2015年的imagenet大规模视觉识别竞赛(imagenet large scale visual recognition challenge,ilsvrc)中获得了图像分类和物体识别的优胜。残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。残差网络的提出,主要是用于解决深度学习中的退化问题,即随着深度神经网络的层数增加,模型的性能反而下降。
9.激活函数(activation function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
10.损失函数用于计算损失的函数称为损失函数。模型每一次预测的好坏用损失函数来度量。
11.随机森林是一种集成学习模型,指的是利用多棵决策树对样本进行训练并预测的一种分类器。


技术实现要素:

12.本发明提出的一种基于注意力机制和残差网络的电网异常用电检测方法,以较高精度实现电网异常用电检测,在实际应用中,算法的能力十分稳定,对复杂的环境和数据都有较好的处理能力。
13.为了实现上述目的,本发明采用了如下技术方案:
14.一种基于注意力机制和残差网络的电网异常用电检测方法,包括如下步骤:
15.s1、数据采集,利用大量智能电表将用户的海量用电信息进行高频采集,收集大量电力数据;
16.s2、数据预处理,对收集到的数据进行前期处理,如缺失值填充、异常值剔除、降维以消除冗余,为了消除量纲不同造成的预测误差,都会对数据进行归一化处理;
17.s3、选取训练数据集和测试数据集;
18.s4、设置模型初始参数;
19.s5、训练基于注意力机制和残差网络的分类算法,利用训练样本,对基于注意力机制和残差网络的分类算法进行模型训练;
20.s6、预测用电数据,利用测试数据集的样本对模型进行测试,预测用电异常数据;
21.s7、结果分析,对s6预测用电异常数据结果进行评价分析。
22.优选的,s5中基于注意力机制和残差网络的分类算法包括如下步骤:
23.s1、输入数据首先输入到随机森林中,通过计算特征重要性,获取注意力模块;
24.s2、输入特征通过注意力模块的权重,进行特征的加权;
25.s3、输入到卷积层、池化层;
26.s4、输入到3个改进的残差堆叠块;
27.s5、输入到注意力模块;
28.s6、输入到dropout层和softmax层进行;
29.s7、输出分类结果。
30.优选的,训练注意力模块的方式为:通过将数据输入到随机森林中,计算数据中每一个特征的重要性,所有的重要性值组成注意力模块,用于下一步的特征增强。
31.优选的,卷积层是使卷积神经网络(convolution neural network,cnn)与传统的完全连接的神经网络不同的关键组件;卷积层中的卷积核运算比完全连接层中的转换矩阵具有更少的参数。
32.优选的,所述基于注意力机制和残差网络的分类算法包括注意力模块、卷积层、批量归一化、改进的激活函数、残差模块、挤压与激励网络结构、交叉熵损失函数、pooling层全局平均池化、改进的残差模块。
33.与现有的技术相比,本发明的有益效果是:
34.本发明利用历史数据集进行自动学习,并建立相应的检测模型。在大数据时代背景下,智能电网中用户的电力数据具有海量、高速、多样性等特征,大量智能电表将用户的海量用电信息进行高频采集,收集到的大量电力数据便为基于数据驱动的异常用电检测技术提供了可靠依据,本发明主要根据用户用电行为的大数据信息进行分析检测;应用创新,将注意力机制和残差网络引入电网异常用电检测中,实现检测精度高、抗干扰能力强、鲁棒性强、泛化能力强等特点。
35.本发明所提出的分类算法具有分类精度高、训练速度快等特点,所提出的模型具有抗干扰能力强、鲁棒性强、泛化能力强等特点,在电网异常用电检测任务中,本发明所提出的方法能够以较高精度实现电网异常用电检测,在实际应用中,算法的能力十分稳定,对复杂的环境和数据都有较好的处理能力,能够及时、高效地识别电网异常用电情况,对企业产能提高、生产效率提升、园区节能环保具有重要作用。
附图说明
36.图1为本发明提出的一种基于注意力机制和残差网络的电网异常用电检测方法的流程图;
37.图2为本发明提出的一种基于注意力机制和残差网络的电网异常用电检测方法的分类算法流程图;
38.图3为本发明中两种残差模块改进方法流程图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
40.在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
41.参照图1:一种基于注意力机制和残差网络的电网异常用电检测方法,包括如下步骤
42.s1、数据采集,利用大量智能电表将用户的海量用电信息进行高频采集,收集大量电力数据;
43.s2、数据预处理,对收集到的数据进行前期处理,如缺失值填充、异常值剔除、降维以消除冗余,为了消除量纲不同造成的预测误差,都会对数据进行归一化处理;
44.s3、选取训练数据集和测试数据集;
45.s4、设置模型初始参数;
46.s5、训练基于注意力机制和残差网络的分类算法,利用训练样本,对基于注意力机制和残差网络的分类算法进行模型训练;
47.s6、预测用电数据,利用测试数据集的样本对模型进行测试,预测用电异常数据;
48.s7、结果分析,对s6预测用电异常数据结果进行评价分析。
49.参照图2,s5中基于注意力机制和残差网络的分类算法包括如下步骤:
50.s1、输入数据首先输入到随机森林中,通过计算特征重要性,获取注意力模块;
51.s2、输入特征通过注意力模块的权重,进行特征的加权;
52.s3、输入到卷积层、池化层;
53.s4、输入到3个改进的残差堆叠块;
54.s5、输入到注意力模块;
55.s6、输入到dropout层和softmax层进行;
56.s7、输出分类结果。
57.所述基于注意力机制和残差网络的分类算法包括(1)注意力模块、(2)卷积层、(3)批量归一化、(4)改进的激活函数、(5)残差模块、(6)挤压与激励网络结构、(7)交叉熵损失函数、(8)pooling层全局平均池化、(9)改进的残差模块。接下来,详细介绍各层和各模块的设计与改进。
58.(1)注意力模块
59.本发明所提出的算法中,将注意力机制引入到电网异常用电检测任务中,结合改进的残差网络,实现特征的增强和分类精度的提高。
60.训练注意力模块的方式为:通过将数据输入到随机森林中,计算数据中每一个特征的重要性。所有的重要性值组成注意力模块,用于下一步的特征增强。
61.在随机森林(random forest,rf)中,所生成的数十甚至数百棵树,都是从定义为b的袋中进行自主抽样法抽取数据,而称没有选中的数据为袋外数据(out-of-bag,oob)。定义c为全部数据,且c一定是包含b的。定义xn×
p
为一个矩阵数据集,该数据集中的数据具有p个特征,且该数据集的总数据量为n。定义y为类标记向量,该向量是1维的标签向量,向量中的值代表着数据集中所对应数据的类别值。数据中的特征值可以在输入到随机森林中时,进行随机排列,而随机森林可以通过获得重新排列的特征输入时所对应的误差,进而计算特征重要度。在随机森林算法中,每一个特征xj都对应一组特征置换测试,且该特征置换测试是重新排列的。在袋外数据中,通过使用原始特征排序的特征与重新排列的特征,比较各种情况下的分类误差,进而衡量特征重要度。也就是说,如果袋外数据的分类误差变大,那么则是因为重新排序后,特征的区分度下降,重要的特征信息被置换。定义t为随机森林中决策树的个数,同时决策树的个数与建立的袋外数据测试集的个数相同。因此,在一定范围内,决策树的个数越多,衡量特征重要度的程度越准确。定义特征重要度为ja,公式如下:
62.63.其中,yi表示第i个袋外数据对应的标签类别,i(x)为示性函数,hk(i)是预测样本i标签的函数,该样本是数据集bk中的样本,为置换特征xj后的分类标签。
64.因此,通过计算出特征重要度,获得样本中每个特征的重要性程度,重要性程度就是该样本中所有特征的贡献程度,将该重要程度值作为注意力向量,与原始特征进行加权,实现重要特征增强的目的。
65.(2)卷积层
66.卷积层是使卷积神经网络(convolution neural network,cnn)与传统的完全连接的神经网络不同的关键组件。卷积层中的卷积核运算比完全连接层中的转换矩阵具有更少的参数。输入特征图和卷积核之间的卷积(通过添加偏差项)运算可以表示为:
[0067][0068]
式中:xi是输特征图的第i个通道;yj是输出特征图的第j个通道;k是卷积核;b是偏置项;mj是用于计算输出特征图第j个通道的集合。
[0069]
(3)批量归一化
[0070]
批量归一化(batch normalization,bn)是针对内部协方差偏移问题而提出的一种归一化方法。在所提出的分类算法中,引入批量归一化,它不仅可以加快了模型的收敛速度,而且更重要的是在一定程度缓解了深层网络中“梯度弥散”的问题,从而使得训练深层网络模型更加容易和稳定。
[0071]
批量归一化在深度学习训练过程中会选取一个小批量,然后计算小批量数据的均值和方差,经过这样处理,训练过程中使得每一层神经网络的输入保持相同分布的。
[0072]
与一般的标准化方法不同,批量标准化是嵌入在深度神经网络内部层与层之间的一种运算。bn的计算过程表示为:
[0073][0074][0075][0076]
yi=γzi+β
[0077]
式中:xi和yi分别表示批处理中第i个观测值的输入和输出特征;n
batch
是分类任务中每个批次样本的个数;γ和β是两个可训练的参数,可以自适应学习到更合适的特征分布;ε是接近零的常量。
[0078]
(4)改进的激活函数
[0079]
relu作为最常见的激活函数,解决了s型局部梯度爆炸和梯度消失的问题,加速了神经网络的收敛。
[0080]
relu的算法如下:
[0081]
y=max(0,x)
[0082]
式中:x和y分别是relu激活函数的输入和输出。
[0083]
relu算法在输入信号存在振荡时,它会舍去这类振动信号,削弱了模型的分类预测能力。对此,本发明方法采用lrelu作为激活函数来解决当输入信号存在振荡时产生的问题。具体算法如下式:
[0084][0085]
式中:x和y分别是lrelu激活函数的输入和输出;a是根据实际经验来取值,通过大量的实验证明了a取值范围在0~0.5时效果达到最佳。
[0086]
(5)残差模块的基本原理
[0087]
残差模块(residual building block,rbb)是resnet的核心,rbb通过使用快捷连接跳过卷积层块来实现,避免了梯度爆炸和消失,有助于构造更深的神经网络结构,改善故障诊断的最终性能。
[0088]
卷积层块f(x)的执行路径为“输入x

bn层

激活函数relu

卷积层

bn层

激活函数relu

卷积层

输出f(x)”。当卷积层块的输入与输出维度相同时快捷连接的输出值就为输入值x,残差模块的最终输出结果如下式所示:
[0089]
y=f(x)+x
[0090]
当输入与输出的维度不同时,快捷连接需要使用一个卷积核大小为1x1的卷积层来匹配输出结果的维度,从而得到快捷连接的输出h(x),最终输出结果如下式所示:
[0091]
y=f(x)+h(x)
[0092]
(6)挤压与激励网络结构
[0093]
本发明中采用了挤压与激励网络结构(senet),它可以通过自动获得每个通道的重要性,增强各个通道之间的联系,从而达到提升模型性能的目的。该结构的核心是挤压(squeeze)和激励(exctation)两大操作。
[0094]
squeeze操作是对输入的特征图进行全局池化,将每个特征图压缩为一个具有全局感受野的实数。具体算法如下式所示:
[0095][0096]
其中,式中:xi代表输入为尺寸为h
×
w的第i个特征图。
[0097]
exctation操作主要是由2个全连接层和2个激活函数组成,可以帮助捕获通道相关性,生成对应通道的权重。算法如下式所示:
[0098]
yi=f
ex
(f
sq
(xi),ω)=σ(ω2δ(ω1f
sq
(xi)))
[0099]
式中:ω1表示第一个全连接层计算;ω2表示第二个全连接层计算;f(x)表示squeeze操作过后的输出值;δ表示激活函数relu;σ为sigmoid函数具体算法如下式:
[0100][0101]
式中:x表示经过2次全连接计算的输出值。
[0102]
(7)交叉熵损失函数
[0103]
交叉熵损失函数softmax一般作为最后输出层的激活函数,它将神经网络的输出值固定在(0,1)之间以表示不同事件发生的概率,算法如下式所示:
[0104][0105]
式中:n
class
表示分类任务所涉及的类别,xj表示上一层的第j个输出;yj表示神经网络的第j个预测值。
[0106]
(8)pooling层全局平均池化
[0107]
全局平均池化(global average pooling,gap)是一种对特征图求平均值的操作,可以大大减少神经网络训练时的参数,加快神经网络的计算速度,是一种常用的深度学习池化操作。
[0108]
(9)改进的残差模块
[0109]
本发明提出了两种残差模块改进方法,如图3所示。
[0110]
改进的核心部分是在残差模块的第二个卷积层之后添加了分支senet结构,生成了对应通道的权重,最后通过与第二个卷积层的输出结果相乘;与此同时将lrelu作为激活函数。
[0111]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1