查询字段 检索词
  华南农业大学学报  2022, Vol. 43 Issue (2): 113-121  DOI: 10.7671/j.issn.1001-411X.202103050

引用本文  

彭旭, 饶元, 乔焰. 基于宽度卷积神经网络的异常农情数据检测方法[J]. 华南农业大学学报, 2022, 43(2): 113-121.
PENG Xu, RAO Yuan, QIAO Yan. Detection method of abnormal agricultural data based on broad convolution neural network[J]. Journal of South China Agricultural University, 2022, 43(2): 113-121.

基金项目

农业农村部农业国际合作项目(125A0607);安徽省自然科学基金(2008085MF203);安徽省重点研究和开发计划面上攻关项目(201904a06020056);安徽农业大学省级大学生创新创业训练计划项目(S202010364228)

通信作者

饶 元,教授,博士,主要从事计算机应用技术研究,E-mail: raoyuan@ahau.edu.cn

作者简介

彭 旭,硕士研究生,主要从事计算机应用技术研究,E-mail: ernstpeng@163.com

文章历史

收稿日期:2021-03-30
网络首发时间:2021-09-01 14:14:06
基于宽度卷积神经网络的异常农情数据检测方法
彭旭1, 饶元1, 乔焰2    
1. 安徽农业大学 信息与计算机学院,安徽 合肥 230036;
2. 合肥工业大学 计算机与信息学院,安徽 合肥 230001
摘要:【目的】 为准确有效地检测农业物联网的感知数据异常,提出了基于宽度卷积神经网络的异常农情数据检测方法,为实现农业物联网数据高质量感知提供参考。【方法】 首先将标准化后的农情数据编码为极坐标表示,通过滑动窗口机制划分子集,接着将每个子集数据重构为矩阵,最后设计并训练宽度卷积神经网络模型用于异常检测,采用养殖场环境监测数据进行试验。【结果】 构建的滑动窗口机制可提升异常数据检测能力,缩短检测时间。所设计的宽度卷积神经网络对空气温湿度、土壤温湿度等数据中所存在的异常检测准确率均超过97.5%,优于SVM、RF和CNN模型1.69%、2.76%和3.05%;F1值均在0.985以上,优于SVM、RF和CNN模型0.0093、0.0149和0.0163;且在处理波动性较大的空气、土壤温湿度数据时性能优势更为明显,准确率和F1值分别提高了3.61%~5.98%和0.0188~0.0310。此外,该方法模型检测耗时较短,仅为传统CNN模型的1/6~1/7,并且比SVM和RF模型使用更少的超参数。【结论】 所建立的数据编码、子集划分和重构方法与宽度卷积神经网络模型对异常农情数据有较好的检测效果。
关键词农业物联网    传感器    宽度卷积神经网络    异常检测    
Detection method of abnormal agricultural data based on broad convolution neural network
PENG Xu1, RAO Yuan1, QIAO Yan2    
1. School of Information & Computer, Anhui Agricultural University, Hefei 230036, China;
2. School of Computer Science and Information Engineering, Hefei University of Technology, Hefei 230001, China
Abstract: 【Objective】 In order to accurately and effectively detect data anomalies from agricultural internet of things, one detection method of abnormal agricultural data based on broad convolution neural network (BCNN) was proposed for providing a reference for achieving high-quality data collection in agricultural internet of things.【Method】 Firstly, the standardized agricultural data were encoded as polar coordinates, and then they were divided into subsets by sliding window mechanism. Subsequently, the data were reconstructed as matrix format. Finally, the BCNN was designed and trained for conducting anomaly detection. The experiment was conducted using the data monitored in the culturing farm environment.【Result】 The sliding window mechanism could improve the detection ability and reduce the time consumption. The accuracy and F1 score of the designed BCNN in the datasets of air temperature and humidity, soil temperature and humidity were more than 97.5% and 0.985 respectively, which on average outperformed SVM, RF and CNN with the increase of 1.69%, 2.76%, 3.05% and 0.009 3, 0.0149, 0.0163, respectively. In particular, while handling the air and soil temperature and humidity data with high fluctuation , the gain in accuracy and F1 score ranged 3.61%–5.98% and 0.018 8–0.031 0, respectively. In addition, the proposed BCNN model has less time consumption of anomaly detection, only 1/6 to 1/7 of classical CNN model, and as well as with less hyperparameter. 【Conclusion】 The proposed data preprocessing (data coding, subset partition and reconstruction) method and BCNN model exhibit better performance on abnormal agricultural data.
Key words: Agricultural internet of things    Sensor    Broad convolution neural network    Anomaly detection    

精准农业是推动农业现代化与信息化发展的关键,其重要的农情数据采集阶段离不开农业物联网(Internet of things in agriculture)的支持[1]。现阶段,农业物联网已在农业生产中得到广泛应用,复杂的传感器网络按时间序列连续地采集温度、湿度、CO2和NH3浓度等大量的环境及作物生长信息。分析和评估采集的信息可为农业精准决策提供保障。因此,农业物联网数据的有效挖掘和利用已成为农业信息化领域的研究热点[2-3]。然而,由于农业作业环境往往较为恶劣,且受制造工艺和网络传输的限制,导致采集到的数据中不可避免地存在异常[4],这些异常可能干扰数据分析并影响农业精准决策。

费欢等[5]以传感器网络多模态数据流之间的相干性为理论基础,利用多维数据和滑动窗口模型对异常数据及其来源进行检测和评估。Zhao等[6]提出一种基于多分类器集成的漂移补偿监督学习算法,利用支持向量机(Support vector machine, SVM)和改进的长短期记忆(Long short term memory, LSTM)构建多分类器模型,通过归一化和加权策略,在每次分类过程中去除精确度最低的基分类器,使模型适应传感器漂移,有效地提高了传感器漂移分类性能。Wang等[7]利用传感器之间的数据相关性,使用信号空间投影和卡尔曼滤波器实现传感器漂移的盲校准。高鹏等[8]利用LSTM和广义回归神经网络(Generalized regression neural network, GRNN)模型对土壤墒情进行建模,实现对柑橘土壤含水量和土壤电导率的预测。

在传统的机器学习任务中,需要用多种信号处理算法检测数据流中的异常,导致效率较低,在数据分析过程中易出现过拟合或欠拟合现象。此外,大多数据异常检测算法泛化能力较弱,不适用于其他类型的异常检测。文献[6]中采用SVM和LSTM的结合模型,获得了理想精确度,但增加了时间复杂度。文献[7]所提信号空间投影和卡尔曼滤波器方法,利用传感器之间的相关性解决传感器漂移问题,但传感器难以密集部署,模型应用场景狭小、泛化能力较弱。

近年来,随着硬件计算能力的显著提升,人工智能(Artificial intelligence)和深度学习(Deep learning)技术已广泛应用于图像识别[9]、自然语言处理[10]、推荐系统[11]和音频识别[12]领域。深度结构的神经网络在传感器数据异常检测领域也得到广泛应用,Bao等[13]提出了一种基于计算机视觉和深度学习的传感器数据异常检测方法,该方法将时间序列信号转换为图像并保存在灰度图像中,通过训练两隐藏层堆叠的自动编码深度神经网络来自动检测未标签的数据。Tang等[14]提出了一种基于卷积神经网络的传感器数据异常检测方法,在图片中融合数据的时域和频域特征,并采用卷积神经网络对图片进行分类,但时域和频域可视化方法无法保存数据的时间数值依赖性。Liu等[15]提出一种动态宽度增量学习算法,通过深度叠加宽度学习系统,解决数据回归和图像分类问题,但在数据预处理中,未采用有效方法增强数据时间依赖性。Wang等[16]提出一种格拉姆角求和域/差分域和马尔科夫过渡域的时间序列数据可视化方法,并采用平铺卷积神经网络学习图像特征,实现时间序列数据分类,但当原始时间序列过长时,重构后的矩阵规模大,增加了运算时间消耗。

针对以上研究现状,本文设计了一种宽度卷积神经网络(Broad convolution neural network, BCNN)的农情数据异常检测方法,并通过滑动窗口机制解决单次输入模型数据量大引起的模型检测耗时长和准确率不足等问题。研究数据预处理与重构方法、滑动窗口尺寸对异常检测性能的影响,对比分析不同异常检测模型的性能差异,以期为精准农业的数据高质量采集提供参考。

1 材料与方法 1.1 试验材料

试验数据采用位于安徽省长丰县双墩镇的合肥安谷农业有限公司羊圈监测点传感器的空气湿度、空气温度、土壤湿度和土壤温度数据,时间覆盖范围从2019年12月1日至2019年12月31日,采样间隔3 min,共11355条观测数据。为便于开展检测性能对比分析,在数据中引入一组随机故障率(10%~40%)的异常点[17]。为系统评估所提方法的性能,采用80%的数据集作为训练集、20%的数据集作为测试集。数据集如图1所示,4种数据的周期性和趋势特征存在差异。空气湿度数据值域波动较大,周期性特征不明显。空气温度数据呈周期性变化,波动较小。土壤湿度数据具有明显的周期性特征,值域范围较小。土壤温度数据周期性特征与空气温度数据相似,且值域波动更小。

图 1 试验数据集 Fig. 1 Experimental dataset
1.2 异常检测框架

基于宽度学习的农情数据异常检测框架图如图2所示。传感器端负责采集数据并发送至数据中心,数据中心负责存储数据、训练模型和异常检测。模型训练过程如下:部署传感器并采集数据,将数据归一化,基于数据周期和采样间隔等参数确定滑动窗口尺寸l,编码为极坐标表示,并基于滑动窗口尺寸l划分子集,采用格拉姆角求和域(Gramian summation angular field, GASF)方法重构为矩阵,最后训练得到BCNN数据异常检测模型。

图 2 基于BCNN的传感器数据异常检测框架 Fig. 2 Anomaly detection framework of sensor data based on BCNN

在异常数据实时检测过程中,数据中心对采集的最新数据进行归一化处理,编码为极坐标并重构矩阵,最后输入模型检测异常。若模型判断为正常,则将其保存为历史数据,否则,校准异常并保存。校准异常可采用回归模型预测、均值替换等方法[18]

1.3 数据预处理

设传感器节点在某时刻共采集到n个时间序列数据 $ X = \{ {x_1},{x_2}, \cdots ,{x_n}\} $ ,为降低采样数据取值范围对模型训练效果的影响,将数据归一化至[−1,1]区间内,表示为:

$ x'_i = \frac{{({x_i} - {X_{\max }}) + ({x_i} - {X_{\min }})}}{{{X_{\max }} - {X_{\min }}}},i \in [1,n],x'_i \in {X'}, $ (1)

式中,xi表示原始时间序列数据,X'表示归一化后的时间序列数据,XmaxXmin分别表示原始时间序列中的最大值和最小值, $ x'_i $ 表示归一化后的数据。归一化将原始数据映射至[−1,1]区间内,将有量纲数据转化为无量纲形式,降低不同量纲对模型的影响,并保留原始数据特征,使不同的数据集处于相同数量级,便于对比分析。

模型处理一维时间序列时,无法有效保持数据周期性时间依赖,无法有效提取部分数据之间的相关性,且对于具有不同周期的时间序列数据,模型泛化能力较差。为此,本文通过将时间序列数据编码为极坐标并重构为矩阵,实现模型对时间序列数据时间依赖性的保持和泛化性的增强。

具体的,将归一化后的数据编码为极坐标[16],时间序列数据的数值和时间戳分别编码为极角和极径,表示为:

$ \begin{array}{l} \theta = \arccos x'_i,x'_i \in {X'} \hfill ,\\ r = \dfrac{{{t_i}}}{n},{t_i} \in [1,2,3, \cdots ,n] \hfill ,\end{array} $ (2)

式中,ti表示时间序列数据的时间戳,n表示时间序列数据数量,θr分别表示编码后数据的极径和极角。基于极坐标的编码方法是预处理和分析时间序列数据的一种新方法。反余弦函数在[−1,1]区间内是单调的,因此,式(2)在时间序列数据和极坐标之间构建了一个双射。给定一组时间序列数据,可产生唯一的映射关系,且相对笛卡尔坐标系,极坐标可保留绝对时间关系。

滑动窗口控制单次输入模型的数据量,是影响异常检测模型性能的重要参数,选取合适的滑动窗口尺寸可有效提高模型准确率和降低时间消耗。本文设计了基于数据特征的滑动窗口尺寸l的计算方法:

$ l=\Bigg(\frac{\Delta t}{\beta }+\ln S\Bigg)T{{\text{e}}^{-\beta {{\log }_{2}}\sqrt{{}^{T}\diagup{}_{\Delta t}\;}}}, $ (3)

式中,β为支持度衰减因子,Δt为农业物联网传感器数据采样间隔,T为农情数据特征周期,S为农情数据的标准差。滑动窗口尺寸对模型准确率和效率存在影响,窗口尺寸过大会增加模型检测耗时,过小则会导致模型无法有效提取数据特征,从而降低准确率。式中T/Δt控制滑动窗口选择函数上升幅度和衰减速度,Δt/β+ln S平衡采样间隔和数据特征的影响,可满足模型异常检测准确率和效率需求。

根据滑动窗口尺寸l,将编码后的数据分为若干个子集 $ \left\{ {\theta' _1, \cdots ,\theta' _l} \right\},\left\{ {\theta' _{l + 1}, \cdots ,\theta' _{2l}} \right\}, \cdots $ ,并将每个子集数据采用GASF方法重构为矩阵,采用类热力图形式可视化:

$ {\boldsymbol{G}} = \left( {\begin{array}{*{20}{c}} {\cos (\theta' _1 + \theta' _1)}& \cdots &{\cos (\theta' _1 + \theta' _l)} \\ \vdots & \ddots & \vdots \\ {\cos (\theta' _l + \theta' _1)}& \cdots &{\cos (\theta' _l + \theta' _l)} \end{array}} \right) \text{,} $ (4)

式中,G为重构后的矩阵, $ \theta' _1 $ $ \theta' _l$ 为编码为极坐标并划分子集后的数据。

通过式(2)将归一化后的数据编码为极坐标,采用式(3)重构为矩阵。时间序列数据编码为极坐标后仍保留数据连续性,重构后的矩阵随着位置的变化,时间会增加,可有效保存时间依赖性。此外,矩阵也包含了时间相关性,其中的Gi,j元素叠加了原始数据中第i和第j个数据相关性,主对角线包含了原始数据信息。因此,可采用神经网络提取高维数据特征。

为展示完整的数据预处理方法,以土壤湿度数据为例,完整流程如图3所示。首先,采用式(1)将原始土壤湿度数据归一化至[−1,1]区间内,并通过式(2)编码为极坐标表示(图3B),极坐标数据保留时间依赖性,原始异常数据在极坐标系中仍存在离群特征(即极坐标图中存在显著的异常点),接着,采用式(3)将极坐标数据划分子集,并通过式(4)重构矩阵。图3C展示了部分矩阵,异常数据可在GASF矩阵中显著表示,矩阵中出现颜色突变即表示该点数据存在异常,如矩阵1、2、5、6和7,矩阵中颜色连续变化即表示无异常,如矩阵3、4和8。预处理后的数据特征更为显著,可采用模型更有效地检测异常数据。

图 3 土壤湿度数据预处理流程 Fig. 3 Soil humidity data preprocessing process
1.4 宽度卷积神经网络框架

设计的宽度卷积神经网络结构如图4所示。模型采用宽度学习系统强化传统CNN模型[19]。BCNN的第1层(Layer 1)是输入层,输入矩阵维度为k×k,其中k表示滑动窗口尺寸。第2层(Layer 2)是卷积层,其中卷积核(Filter)数量为20,每个卷积核尺寸为41×41,步长(Stride)为1,采用Relu激活函数。第3层(Layer 3)是Reduction层,其中包含1个池化模块和2个卷积模块,该层采用残差连接。池化模块中,池大小(Pool size)为3×3,步长为3,池化方式为最大池化(Maxpooling)。卷积模块中,第1层卷积采用1×1的卷积核,第2层卷积采用20个3×3大小的卷积核,步长为3。卷积模块和池化模块输出的特征图按其深度连接,并采用Relu函数激活,被平坦化为一维向量输入宽度学习系统。第4层(Layer 4)采用特征提取器代替传统CNN模型中的Softmax分类器,其中包含1000个特征节点。第5层(Layer 5)为特征增强器,其中包含1000个特征增强节点,第4层中特征提取器的输出被特征增强器随机映射输出。最后将特征提取器和特征强化器的输出连接,并加权重构,得到整个模型的输出。

图 4 宽度卷积神经网络结构 Fig. 4 The structure of broad convolution neural network

卷积可通过连续地变换提取数据的复杂特征。在卷积层中,利用卷积核对输入数据进行卷积:

$ x_i^l = {\rm{Relu}}\Bigg(\sum\limits_{n = 1}^N {x_n^{l - 1}} f_{n,i}^l\Bigg) \text{,} $ (5)

式中, $ x_i^l $ 表示第l层中图片的 $ i $ 通道, $ f_{n,i}^l $ 表示位于第l层中第n个卷积核的i通道,N表示l−1层中通道总数,Relu()表示激活函数。

池化是一种降采样形式。它将图像划分为若干个区域,每个区域独立地按池化方式输出,减小了数据空间大小,参数数量和模型计算量也随之下降,在一定程度上防止过拟合的发生。本文采用最大池化方式,表示为:

$ a_{i,n}^l = \max (a_{i,n}^{l - 1}, \cdots ,a_{i,m}^{l - 1}) \text{,} $ (6)

式中, $ a_{i,n}^l $ 表示网络l层中图片i通道的第n个位置, $a_{i,n}^{l - 1},\cdots ,a_{i,m}^{l - 1}$ 表示网络l−1层中图片i通道的池化区域对应的第nm个位置。

宽度学习系统[15]是一种通过随机方法将特征扩展到广阔空间的模型,其主要由特征节点和增强节点组成。特征节点将输入随机映射,映射特征由增强节点随机扩展,将最后所有特征加权连接输出。

残差层的输出被平坦化为一维向量X并输入至特征节点,其表示为:

$ {{\boldsymbol{Z}}_i} = \phi ({\boldsymbol{X}}{{\boldsymbol{W}}_{{z_i}}} + {{\boldsymbol{\beta}} _{{z_i}}}),i = 1,2, \cdots ,n , $ (7)

式中,权重矩阵 $ {{\boldsymbol{W}}_{{z_i}}} $ 和偏置矩阵 $ {{\boldsymbol{\beta}} _{{z_i}}} $ 随机生成, $ \phi ( ) $ 表示激活函数,Zi表示第i个特征节点的输出,所有特征节点的集合记为 $ {{\boldsymbol{Z}}^n} = [{{\boldsymbol{Z}}_1}, \cdots ,{{\boldsymbol{Z}}_n}] $ ,其中n为特征节点数量。类似的,特征增强节点可表示为:

$ {{\boldsymbol{H}}_j} = \xi ({{\boldsymbol{Z}}^n}{{\boldsymbol{W}}_{{h_j}}} + {{\boldsymbol{\beta}} _{{h_j}}}),j = 1,2, \cdots ,m , $ (8)

式中,权重矩阵 $ {{\boldsymbol{W}}_{{h_j}}} $ 和偏置矩阵 $ {{\boldsymbol{\beta}} _{{h_j}}} $ 随机生成, $ \xi () $ 表示激活函数,Hj表示第j个特征增强节点的输出,所有特征节点的集合记为 $ {{\boldsymbol{H}}^m} = [{{\boldsymbol{H}}_1}, \cdots ,{{\boldsymbol{H}}_m}] $ ,其中m为特征增强节点数量。

将特征节点和特征增强节点连接加权重构,输出可表示为:

$ {\boldsymbol{Y}} = \left[ {{{\boldsymbol{Z}}_1}, \cdots ,{{\boldsymbol{Z}}_n}|{{\boldsymbol{H}}_1}, \cdots ,{{\boldsymbol{H}}_m}} \right]{\boldsymbol{W}} = \left[ {{{\boldsymbol{Z}}^n}|{{\boldsymbol{H}}^m}} \right]{\boldsymbol{W}} \text{,} $ (9)

式中,权重矩阵W可通过伪逆法求解,可表示为:

$ {\boldsymbol{W}} = {\left[ {{{\boldsymbol{Z}}^n}|{{\boldsymbol{H}}^m}} \right]^\dagger }{\boldsymbol{Y}} = {({{\boldsymbol{A}}^m})^\dagger }{\boldsymbol{Y}} \text{,} $ (10)

式中, ${{\boldsymbol{A}}^m}$ = $\left[ {{{\boldsymbol{Z}}^n}|{{\boldsymbol{H}}^m}} \right]$ ${({{\boldsymbol{A}}^m})^\dagger }$ 表示 ${{\boldsymbol{A}}^m}$ 的伪逆,可通过极限方法求得:

$ {{\boldsymbol{A}}^\dagger } = \mathop {\lim }\limits_{\lambda \to 0} {(\lambda {\boldsymbol{I}} + {\boldsymbol{A}}{{\boldsymbol{A}}^{\rm{T}}})^{ - 1}}{{\boldsymbol{A}}^{\rm{T}}} \text{,} $ (11)

式中, ${\boldsymbol{A}}$ 表示特征节点和增强节点输出组合成的扩展矩阵,λ表示对权重矩阵W的约束,I表示单位矩阵,AT表示转置矩阵。

1.5 检测性能评价指标

本文采用准确率(Accuracy)、F1值和模型检测时间(Time)等指标评估模型的异常检测性能,其表示为:

$ 准确率=\frac{{T}_{\text{p}}+{T}_{\text{n}}}{{T}_{\text{p}}+{T}_{\text{n}}+{F}_{\text{p}}+{F}_{\text{n}}} \text{,} $ (12)
$ 精确度=\frac{{T}_{\text{p}}}{{T}_{\text{p}}+{F}_{\text{p}}} \text{,} $ (13)
$ 召回率=\frac{{T}_{\text{p}}}{{T}_{\text{p}}+{F}_{\text{n}}} \text{,} $ (14)
$ F1值=\frac{2\times 精确度\times 召回率}{精确度+召回率} \text{,} $ (15)

式中,Tp表示正确分类至目标类的数量,Fp表示其他类错误分类至目标类的数量,Tn表示其他类正确分类的数量,Fn表示目标类错误分类至其他类的数量。

准确率是正确分类的数据与数据集数据总量的比值,反映模型的正确检测能力。精确度(Precision)和召回率(Recall)分别是正确分类为异常数据的个数与所有分类的异常数据、实际异常数据的比值。F1值同时兼顾了精确度和召回率。除异常检测能力外,模型检测时间也是评估模型是否符合实际应用的重要参数。

2 试验与分析 2.1 试验环境与参数

试验采用Windows 10操作系统、Intel Core i5 CPU、8GB内存的台式计算机,Python3.6编程语言和Tensor Flow2.0.0框架用于异常检测模型搭建和应用。主要研究滑动窗口尺寸对模型异常检测性能的影响及模型对不同特征数据的异常检测灵敏性,以甄选最优的异常检测方法。在此基础上,对比分析不同异常检测模型性能。

试验将BCNN与当前使用较为广泛的SVM、随机森林(Random forest, RF)和卷积神经网络方法进行比较。SVM模型[20-21]核函数采用径向基函数(Radial basis function, RBF),核函数参数ε为0.2,正则化参数C为1;RF模型[22]聚类数c=2,模糊程度系数m=3,卷积神经网络方法从文献[14]中引用。BCNN模型的特征节点和特征增强节点数量均为1000。对于滑动窗口,传感器监测数据特征周期T为24 h,支持度衰减因子β取0.5[23],采样间隔Δt为3 min,空气湿度、空气温度、土壤湿度和土壤温度的滑动窗口尺寸分别为105、88、76和91。为控制模型参数随机初始化和训练引起的随机性,重复5次试验,以平均数进行结果分析。

2.2 滑动窗口尺寸对检测性能的影响

为评估所提滑动窗口选择方法的有效性,以BCNN模型为例,采用窗口尺寸60~120的数据集进行试验,结果如图5所示。空气湿度数据集中,异常检测准确率在窗口尺寸[60,100]区间内呈上升趋势,在窗口尺寸100时达到峰值;空气温度数据集中,窗口尺寸在[60,90]区间时,异常检测准确率随窗口尺寸增大而增加,窗口尺寸在90时准确率表现最佳,窗口尺寸大于90时准确率无显著变化;土壤湿度数据集中,在窗口尺寸[60,70]区间内准确率呈增加趋势,在[70,120]区间内准确率趋于稳定;土壤温度数据集中,在窗口尺寸[90,100]时准确率最高。值得注意的是,土壤湿度数据集呈最高准确率的窗口尺寸远小于其他数据集,这是由于其数据波动不显著,模型仅需少量数据即可学习其特征。试验所得出的最佳滑动窗口尺寸,与式(3)得出的窗口尺寸基本相符。因此,基于数据特征的滑动窗口选择方法可有效地提高模型异常检测准确率。

图 5 不同滑动窗口尺寸与数据集的异常检测准确率 Fig. 5 Anomaly detection accuracy of different sliding window sizes and datasets

模型检测耗时随滑动窗口尺寸变化如图6所示。空气湿度数据集中,滑动窗口尺寸在[90,100]区间时,检测耗时最短。空气温度数据集中,在窗口尺寸[80,100]区间时检测耗时最短,处于理想状态。土壤湿度数据集中,当窗口尺寸变化时,模型检测耗时变化不明显,窗口尺寸80左右时检测耗时最短。土壤温度数据集中,在窗口尺寸[80,90]区间内,检测耗时较短,处于理想水平,其中窗口尺寸90时最优。总体上,窗口尺寸和检测耗时呈二次相关。波动性较强的数据(如空气湿度),窗口尺寸变化时,检测耗时波动更大;而波动小、较为平稳的数据(如土壤湿度),改变滑动窗口尺寸对检测耗时影响较小。

图 6 不同滑动窗口尺寸与数据集的模型检测耗时 Fig. 6 Anomaly detection time of different sliding window sizes and datasets

综上,采用滑动窗口机制后,可提升模型对异常数据的检测能力,针对不同特征数据选取合适的滑动窗口尺寸,可提升异常检测准确率和降低检测耗时。

2.3 模型异常检测性能

对比分析SVM、RF、CNN和BCNN模型的数据异常检测性能,各种模型的异常检测准确率和F1值如图7所示。BCNN模型在空气湿度、空气温度、土壤湿度和土壤温度数据集上均表现出良好的异常检测性能,准确率均在97%以上,其中空气湿度数据集的准确率最高,达到99.29%,优于SVM、RF和CNN的95.68%、94.67%和93.31%。相较于CNN模型,BCNN模型在空气湿度、空气温度、土壤湿度和土壤温度数据集上准确率分别提升了5.98%、1.48%、2.19%和2.55%;相较于SVM和RF模型,BCNN模型在空气湿度数据集上的准确率与二者差异最为明显,分别高出3.61%和4.62%。由图1可知,空气湿度数据波动性较大,周期性特征弱于其他数据集,故BCNN在处理波动性大的数据时性能更佳。BCNN模型在空气湿度、空气温度、土壤湿度和土壤温度数据集上的F1值分别为:0.996 4、0.9887、0.9949和0.9920,均优于其他模型。空气温度数据集中,4种模型的F1值差值较小,均小于0.0076。在波动性较大的空气湿度数据集中,BCNN模型的F1值达到0.9964,分别优于SVM、RF和CNN模型0.0188、0.0241和0.0310。因此,BCNN模型异常检测性能优于其他模型,且BCNN模型对波动性大的数据检测能力更优,而其他模型随着数据波动性增大,异常检测能力有所下降。

图 7 模型异常检测准确率与F1值 Fig. 7 Anomaly detection accuracy and F1 score of different models

总之,相较于传统机器学习算法和深度学习模型,BCNN模型对异常数据的检测能力在不同特征的数据集上均得到了一定程度的提升。其中,对波动性较大的数据集的异常检测能力最优。

各种异常检测模型检测耗时如表1所示。BCNN模型检测耗时大幅低于同类的深度模型CNN,仅为其1/6~1/7。相较于SVM和RF传统机器学习算法,BCNN模型虽然需要额外的检测时间,但异常检测准确率和F1值都有明显提升,增强了模型对波动性较大数据的检测能力,同时,BCNN模型的超参数数量较少,有效地降低了超参数选择的复杂度。综上,对于农情数据异常检测,BCNN模型在检测能力和耗时方面优于同类深度学习模型,在检测能力和超参数选择方面优于传统机器学习算法,具有良好的适用性。

表 1 不同模型异常检测耗时 Table 1 Anomaly detection time of different models
3 结论

本研究提出了基于宽度卷积神经网络的农情数据异常检测方法,采用养殖场传感器环境监测数据,综合评估了数据异常检测性能。试验结果表明,基于数据特征的滑动窗口划分子集,可有效地增加模型检测准确率和降低检测耗时。在异常检测模型对比试验中,BCNN模型取得了最高准确率和F1值,对空气和土壤温湿度数据异常检测的平均准确率和F1值分别达到了98.54%和0.993 0,相比于SVM、RF和CNN模型的平均准确率(96.86%、95.79%和95.49%)和F1值(0.983 7、0.978 1和0.9768),表现出良好的检测效果。BCNN模型对波动性较大数据集的检测能力更强,准确率和F1值平均优于其他模型4.74%和0.0246。另一方面,BCNN模型检测时间仅为同类深度学习模型CNN的1/6~1/7,且比传统机器学习模型SVM和RF采用更少的超参数。本研究为农业物联网数据高质量感知及农业信息化提供了一定的参考。考虑到无线传感器网络规模不断扩展,后续研究将更多地关注传感器网络群体异常数据检测,进一步提高农业物联网感知数据质量。

参考文献
[1]
BOURSIANIS A D, PAPADOPOULOU M S, DIAMANTOULAKIS P, et al. Internet of things (IoT) and agricultural unmanned aerial vehicles (UAVs) in smart farming: A comprehensive review[J/OL]. Internet of Things, 2020. [2021-03-25]. https://doi.org/10.1016/j.iot.2020.100187. (0)
[2]
LI C, NIU B. Design of smart agriculture based on big data and Internet of things[J/OL]. International Journal of Distributed Sensor Networks. 2020, 16(5). [2021-03-25]. https://doi.org/10.1177/1550147720917065. (0)
[3]
LIOUTAS E D, CHARATSARI C. Big data in agriculture: Does the new oil lead to sustainability?[J]. Geoforum, 2020, 109: 1-3. DOI:10.1016/j.geoforum.2019.12.019 (0)
[4]
CHAMARAJNAGAR R, ASHOK A. Integrity threat identification for distributed IoT in precision agriculture[C]//IEEE. 2019 16th annual IEEE international conference on sensing, communication, and networking (SECON). Boston, MA: IEEE, 2019: 1-9. (0)
[5]
费欢, 肖甫, 李光辉, 等. 基于多模态数据流的无线传感器网络异常检测方法[J]. 计算机学报, 2017, 40(8): 1829-1842. DOI:10.11897/SP.J.1016.2017.01829 (0)
[6]
ZHAO X, LI P, XIAO K, et al. Sensor drift compensation based on the improved LSTM and SVM multi-class ensemble learning models[J]. Sensors, 2019, 19(18): 3844. DOI:10.3390/s19183844 (0)
[7]
WANG Y, YANG A, LI Z, et al. Blind drift calibration of sensor networks using signal space projection and Kalman filter[C]//IEEE. 2015 IEEE tenth international conference on intelligent sensors, sensor networks and information processing (ISSNIP). Singapore: IEEE, 2015: 1-6. (0)
[8]
高鹏, 谢家兴, 孙道宗, 等. 基于物联网和LSTM的柑橘园土壤含水量和电导率预测模型[J]. 华南农业大学学报, 2020, 41(6): 134-144. DOI:10.7671/j.issn.1001-411X.202007024 (0)
[9]
戴泽翰, 郑正, 黄莉舒, 等. 基于深度卷积神经网络的柑橘黄龙病症状识别[J]. 华南农业大学学报, 2020, 41(4): 111-119. DOI:10.7671/j.issn.1001-411X.201909031 (0)
[10]
YOUNG T, HAZARIKA D, PORIA S, et al. Recent trends in deep learning based natural language processing[J]. IEEE Computational Intelligence Magazine, 2018, 13(3): 55-75. DOI:10.1109/MCI.2018.2840738 (0)
[11]
WEI J, HE J, CHEN K, et al. Collaborative filtering and deep learning based recommendation system for cold start items[J]. Expert Systems with Applications, 2017, 69: 29-39. DOI:10.1016/j.eswa.2016.09.040 (0)
[12]
HERSHEY S, CHAUDHURI S, ELLIS D P W, et al. CNN architectures for large-scale audio classification[C]//IEEE. 2017 IEEE international conference on acoustics, speech and signal processing (ICASSP). New Orleans, LA: IEEE, 2017: 131-135. (0)
[13]
BAO Y, TANG Z, LI H, et al. Computer vision and deep learning-based data anomaly detection method for structural health monitoring[J]. Structural Health Monitoring, 2019, 18(2): 401-421. DOI:10.1177/1475921718757405 (0)
[14]
TANG Z, CHEN Z, BAO Y, et al. Convolutional neural network-based data anomaly detection method using multiple information for structural health monitoring[J]. Structural Control and Health Monitoring, 2019, 26(1): e2296. DOI:10.1002/stc.2296 (0)
[15]
LIU Z, CHEN C L P, FENG S, et al. Stacked broad learning system: From incremental flatted structure to deep model[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2020, 51(1): 209-222. (0)
[16]
WANG Z, OATES T. Imaging time-series to improve classification and imputation[C]//IJCAI. 2015 24th international joint conference on artificial intelligence(IJCAI 2015). Buenos Aires: IJCAI, 2015: 3939-3945. (0)
[17]
ZIDI S, MOULAHI T, ALAYA B. Fault detection in wireless sensor networks through SVM classifier[J]. IEEE Sensors Journal, 2017, 18(1): 340-347. (0)
[18]
SHEEBA R, JIJI G, RAJ T A B. WFCM based big sensor data error detection and correction in wireless sensor network[J]. Cluster Computing, 2019, 22(2): 3191-3200. (0)
[19]
ZHANG T, WANG X, XU X, et al. GCB-Net: Graph convolutional broad network and its application in emotion recognition[J/OL]. IEEE Transactions on Affective Computing, Early Access, (2019-08-27) [2021-03-25]. doi: 10.1109/TAFFC.2019.2937768. (0)
[20]
CHERKASSKY V, MA Y. Practical selection of SVM parameters and noise estimation for SVM regression[J]. Neural Networks, 2004, 17(1): 113-126. DOI:10.1016/S0893-6080(03)00169-2 (0)
[21]
段青玲, 肖晓琰, 刘怡然, 等. 基于SW-SVR的畜禽养殖物联网异常数据实时检测方法[J]. 农业机械学报, 2017, 48(8): 159-165. DOI:10.6041/j.issn.1000-1298.2017.08.017 (0)
[22]
杨正理, 史文, 陈海霞, 等. 大数据背景下采用互信息与随机森林算法的空气质量预测[J]. 环境工程, 2019, 37(3): 180-185. (0)
[23]
熊迎军, 沈明霞, 陆明洲, 等. 温室无线传感器网络系统实时数据融合算法[J]. 农业工程学报, 2012, 28(23): 160-166. (0)