基于YOLO网络的发电侧数据异常检测研究

2023-09-07 02:47修梦菲
中国新技术新产品 2023年14期
关键词:池化特征提取尺度

修梦菲

(1.浙江浙能技术研究院有限公司,浙江 杭州 310000;2.浙江省火力发电高效节能与污染物控制技术研究重点实验室,浙江 杭州 310000)

电力技术革命以来,电能供给和使用给人们生产和生活带来了极大的便利,也成为人们日常生活不可或缺的重要能源供给方式[1]。目前,电能产生可以依赖多种模式,例如火力发电、风力发电、太阳能发电以及核能发电等。电能使用的最大问题就是避免浪费,因此电能节能控制成为电力领域最重要的课题[2]。从理论上来说,电能的节约控制关键在于供给侧和需求侧的对应和匹配,尽可能避免需求侧对能源需求总量的无限制增加。在供给侧,能够对发电数据进行准确监测,及时发现异常数据并进行处理,这也是电能节能控制的关键。从现有的方法来看,已经形成了基于监督模式的异常数据检测、无监督模式的异常数据检测等方法[3]。在神经网络技术出现后,基于学习机制的异常数据识别成为更有效的方法,尤其是深度学习网络的出现,进一步提高了异常数据检测的效果。因此,该文以YOLO 网络作为深度学习的基础模型,对发电侧异常数据进行检测,并通过试验进行验证。

1 基于YOLO 网络的异常数据检测方法

1.1 最小YOLO 型深度学习网络

该文对发电侧的异常数据进行检测,数据量比图像识别、视频监控等任务少,因此选择最小型YOLO 深度网络,可以将其看作常规YOLO 网络的简化模型。在该模型中,一共采用了7 个DBL 单元和6 个Pooling 单元,从而形成了更容易组建的特征提取层。最小型YOLO 深度网络的结构框架如图1 所示。

图1 最小型 YOLO 网络的异常数据检测框架

在深度学习的过程中,发电侧数据的属性作为第一层级,各个属性类别之间的差异用距离表示并作为第二层级,这样就可以将发电侧数据形成一个S×S的空间网格结构。这个数据空间的宽度和长度分别为w和h,每个数据空间对应1 个置信度,如公式(1)所示。

式中:C为每个数据空间对应的置信度;ρ为数据空间中发电侧数据为正常情况的概率;IoUT P为真实情况与预测情况的交并比计算结果。

当对发电侧异常数据进行检测时,如果置信度C低于设定的阈值,就可以判断该数据异常。

1.2 引入SENet 结构

该文在YOLO 深度网络中引入的SENet 结构如图2 所示。

图2 YOLO 网络中引入的SENet 的结构

由图2 可知,在存在一个特定输入X的情况下,数据空间的高度、宽度和通道数量分别为H、W和Q。

首先,对输入的数据或特征进行全局均值池化处理,形成一个可以表达全局信息的向量,该向量是一维的。其次,2 个具有全局信息的向量通过全连接层以及ReLU 函数的激活处理形成降维简化的效果。再次,对已经降维的信息进行Sigmoid 函数激活处理,从而得到复原后的数据。最后,通过执行标定处理,将处理后的数据信息复原回原有的数据空间。

1.3 金字塔多尺度池化处理

在这个过程中,多个尺度的池化处理体现为金字塔结构。在发电侧数据的金字塔池化过程中,使用了3 个尺度的池化处理,分别是5×5、9×9 和13×13,这种结构的处理效果如图3 所示(抽象的结果)。

图3 该文采用的池化结构

由图3 可知,发电侧数据的特征已开始被抽象成n×n×m的尺寸,然后开始进入该文设定的3 个不同层级的池化单元进行处理,这3 个不同层级的池化单元构成了金字塔。虽然这3个池化单元的尺度并不相同,但是形成的输出均需与输入保持相同的维度。最终的输出与最初的输入效果结合,从而形成了n×n×4m的扩维特征。

1.4 损失函数设计

针对数据网格边界定位不准确的问题,采用GIoU损失函数来界定数据网格边界,以进一步提高识别发电侧异常数据的准确度。

当预测边界与真实边界不重合时,GIoU函数可以解决IoU无法衡量两边界距离远近的问题。同时,GIoU函数也可以解决IoU为0 时无法优化的问题。GIoU利用IoU的尺度不变性,可以更准确地计算边界回归。IoU函数和GIoU函数分别如公式(2)、公式(3)所示。

式中:A为数据网格的真实边界;B为数据网格的预测边界;C为包围预测边界与真实边界之间的最小外接矩形。

用GIoU替换IoU并将其作为边界距离的衡量标准,得到边界损失函数Lbox如公式(4)所示。

2 发电侧数据异常检测试验结果与分析

针对发电过程供给端的异常数据检测问题,该文在YOLO 深度学习网络的基础上,在特征提取阶段加入SENet结构,在特征提取阶段后加入多尺度池化操作,形成了一种新的异常数据检测算法。为了验证该文提出的异常数据检测算法的有效性,需要进行相关试验。

2.1 SENet 结构引入的性能测试

在试验过程中,选择AAA 发电站发电侧供给的10 000组实际数据作为试验对象。因此,该文的数据样本由AAA发电站后台数据库提供。每组数据都包括5 个属性维度,分别是电压、电流、功率、回路和时间。10 000 组数据中包括329 个异常数据,其他为正常数据,异常数据和正常数据随机分布。在试验过程中,选取全部数据的60%作为样本数据,30%作为测试数据,10%作为检测数据。

在试验过程中,对比基于YOLO 深度网络的检测方法和引入SENet 结构的YOLO 检测方法的损失曲线,结果如图4 所示。在试验中,共选择3 000 组数据作为训练数据。

图4 SENet 结构引入前后的对比

由图4 可知,随着迭代步数不断增加,2 种检测方法的损失率都不断下降,表明2 种算法对异常数据的检出率不断提高。从2 条曲线的对比结果可以看出,基于YOLO 深度网络检测方法的损失率变化并不平稳,虽然总体趋势在不断下降,但是中间出现了很多脉冲型突起,表明基于YOLO 深度网络检测方法对数据特征提取的效果存在一定偏差。虽然该文提出的SENet 结构的YOLO 检测方法的损失率变化曲线也有波动,但是波动幅度小,表明在引入SENet 结构后,YOLO检测方法提取的数据特征更准确。

2.2 多尺度池化的性能测试

对比基于YOLO 深度网络的检测方法和引入多尺度池化的YOLO 检测方法的损失曲线,结果如图5 所示。在试验中,共选择7 000 组数据作为训练数据。

图5 多尺度池化引入前后的对比

由图5 可知,随着迭代步数不断增加,2 种检测方法的损失率都不断下降,表明2种算法对异常数据的检出率不断提高。从2 条曲线的对比结果可以看出,基于YOLO 深度网络检测方法的损失率下降幅度比该文提出的引入多尺度池化的YOLO检测方法小。同时,该文提出的引入多尺度池化的YOLO 检测方法的收敛速度也更快,大概在180 次迭代后即达成了稳定。而基于YOLO 深度网络的检测方法在310 次迭代后才达成稳定。

2.3 异常数据检测精度的测试

最后一项试验是测试该文提出的异常数据检测方法的精度。在试验过程中,选择基于CNN 深度网络的检测方法、基于RNN 深度网络的检测方法和基于YOLO 深度网络的检测方法作为参照方法。从1 000 组数据开始逐步增加数据数量,观察4 种方法对发电侧供给异常数据的检测精度,结果见表1。

表1 4 种方法的异常数据检测精度

由表1 可知,随着检测数据量不断增大,4 种方法对异常数据的检测精度都不断提高。其原因是数据量越多,样本信息的特征越丰富,基于深度学习的异常检测方法可以获得更准确的检测结果。从4 种方法的对比结果也可以看出,基于CNN 深度网络的检测方法的检测精度最低,该文提出的方法对异常数据的检测精度更高。相比之下,基于YOLO 深度网络的检测方法与该文提出方法的检测精度差距最小。但是随着数据量不断增大,这种差距也被不断拉大。这也再次证明了该文在YOLO 深度网络上采取的改进措施的有效性,其更适合对发电侧异常数据进行检测。

3 结语

针对发电侧异常数据的检测问题,该文在YOLO 深度网络检测方法的基础上提出了一种改进的异常数据检测方法。在YOLO 网络的特征提取阶段引入SENet 结构,通过压缩、激励和重标定3 个操作使数据信息的特征提取更准确。在YOLO 网络的特征层后加入多尺度池化处理,使深度网络的学习和训练效率更高,进一步提高检测准确性。试验结果表明,通过引入SENet 结构和多尺度池化处理,该文提出的异常数据检测方法可以获得更准确的特征提取结果。

猜你喜欢
池化特征提取尺度
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
财产的五大尺度和五重应对
基于卷积神经网络和池化算法的表情识别研究
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
宇宙的尺度
基于MED和循环域解调的多故障特征提取
9
Walsh变换在滚动轴承早期故障特征提取中的应用