时间:2024-07-28
王百皓, 祝玉华, 李智慧
(河南工业大学信息科学与工程学院,郑州 450001)
粮食存储安全问题一直是粮食工作的重点之一,但是由于粮食品种繁多,全国不同省市的自然环境和储存环境不一,很难制定一个统一的标准进行粮情监测。因此,如何根据不同的环境条件评估粮仓储存安全状态,并及时发现储存异常问题已经成为了粮情监测的首要任务。但是粮情监测十分困难,主要表现为几个方面。首先,粮仓规模巨大,除表层外的其他位置的粮食状况很难监测。其次,粮仓所处环境差异明显,例如位于东北的粮仓和位于江南的粮仓的环境因素差别巨大,这对粮仓粮情监控提出了巨大的挑战。再次,粮仓储存的环境影响条件众多,有温度、湿度、水分、含虫量等,同时各个维度的数据间相互影响,加大了监测的难度。最后,现有的方法大多是基于推理的异常监测,方法的适用性与可迁移能力较低。基于上述问题,设计一个具有通用性的粮情融合监测方法是十分有必要的。
信息融合(informationfusion)最早于1973年由美国国防部提出。随着硬件设备的发展以及传感器的普及,信息融合进入到了一个飞速发展的阶段。国内关于信息融合领域的研究最早从国防科技大学开始[1],主要关注于多元信息的协调管理。在粮情监测领域,甄彤等[2]进行了信息融合技术的研究,其提出的基于多参数、二级信息融合的粮情测控方法能够有效的分析异质数据,推动了粮情监测技术的发展。
近年来,粮食安全问题受到国家的高度重视,粮情监控问题逐渐成为了学者研究的重点。早期,马志等[3]通过简单神经网络对粮情监测进行研究,针对不确定信息的融合提出了一种BP神经网络和D-S证据理论相结合的信息融合处理方法,是最早将神经网络应用于粮仓安全信息融合领域的工作。张卓然[4]则进一步将神经网络技术和自适应模糊推理系统进行结合。但是由于时代的局限性,简单神经网络尽管相较于传统方法能够更好地进行粮仓安全信息融合,但是仍然存在着一些问题,例如无法广泛适用于不同的场景,需要大量粮情信息标注等。
除了基于神经网络的粮情信息融合,众多学者还基于D-S证据理论进行了研究。张花军[5]总结了D-S算法在粮情监控信息融合系统中的应用,主要包括对多源数据进行特征提取、模式识别、关联和数据合成等,但是该方法同样不具备普适性,即很难应用到不同类型的粮仓的粮情监测之中。黄琦兰等[6]对数据进行了自适应加权,能够有效地剔除冗余信息,进一步提高了应用D-S证据理论进行信息融合的鲁棒性。
传统的基于证据理论和简单神经网络的信息融合方法都存在着不同的局限性,随着深度学习网络技术的发展,部分学者开始对基于深度神经网络的信息融合技术进行探索。赵晓平等[7]将传感器信息和其多域特征进行研究,提出了一种基于信息融合的卷积神经网络,能够有效的对时域信息进行特征提取,其识别准确度远远高于传统方法。郑诚等[8]则构建了一个GNN网络来完成信息任务,其利用注意力机制捕捉到信息源的特征,进行特征提取之后能够进一步分析数据间的依赖关系,提高信息融合的准确度。
但是上述基于深度神经网络的信息融合方法都使用监督学习模型,因此信息标注的准确性极大的影响了粮情监测的准确度。研究针对粮仓传感器多维监测数据,提出了一个无监督的Transformer模型,能够快速的发现粮仓异常情况。同时基于自注意力机制,能够很好地适用于不同类型、不同环境的粮仓粮情监测。
Transformer能够在保证训练时间的同时处理具备庞大序列的数据[9],适用于粮仓安全信息融合中的高维传感器数据。同时传感器数据天然具备时序特征,Transformer模型能够很好地处理时序数据[10]。将粮仓安全信息融合系统的任务定义为异常检测任务,因此需要构建一个无监督的深度学习网络来完成自动化的异常检测,针对于粮仓传感器数据,则主要为将异常分数高的时间戳对应的粮仓位置标记为异常[11]。Transformer[12]模型所具备的编码器-解码器的结构往往较少用于传感器时序数据的分析,Tuli等[13]开创性的提出了用于多元时间序列数据的异常检测任务。但是这些异常监测的工作大多应用于自然语言处理领域或者图形图像领域,对于高维传感器数据的信息融合和异常监测尚未有学者进行研究。此外,贾雪枫等[14]将transformer模型应用到风险态势感知任务之中,为研究提供了启发。
研究基于Transformer设计了一个能够自动进行粮仓粮情异常监测的模型,该模型能够快速的识别结构化粮情数据中的异常部分,以自注意力机制为切入口,提出了一种基于无监督的Transformer的深度学习模型来进行粮库安全信息融合;在编码解码网络中引入对抗训练模块,创新性的通过2个独立的解码器对时间序列数据进行重建;通过2个真实的不同类型的粮仓粮情数据对模型的有效性进行验证,实验证明研究的方法能够很好的对粮情进行监测。
传统的粮情信息融合主要通过对数据进行特征提取,将特征向量进行融合以实现决策的目的。这些数据融合方法能够有效地解决部分限制场景的粮情监测问题,但是对于不同类型和不同环境下的粮仓,传统的数据融合方法就有些捉襟见肘。因此,基于自注意力机制,提出了一种能够适用于不同粮仓环境的信息融合深度学习网络模型,具体结构如图1所示。
图1 粮情监控系统结构图
模型主要由编码器和解码器组成,具体框架如图2所示。
图2 Transformer模型结构
数据序列在编码器中会经过多次基于注意力的数据转换,直到当前的数据达到焦点分数。基于自注意力的数据转换是一个对焦点分数进行迭代的过程,通过不断地训练和学习,能够更好的对数据特征进行提取。此外,在评估部分对自注意力模块进行了消融实验。
之后我们使用解码器对数据进行解码并输出,其中解码器输出结果Q定义为:
Qi=Sigmoid[FeedForward(I)]
(1)
式中:I为编码器的输出。
在模型中每1个自注意力机制都包含1个前馈神经网络层,自注意力层的输出(矩阵)作为前馈神经网络的输入,前馈神经网络定义为:
FFFN(x)=max(0,xW1+b1)W2+b2
(2)
式中:max为ReLU激活函数,其通过激活函数的方式,来强化模型的表达能力。即数值较大的部分进行加强,数值较小的部分进行抑制,从而使得相关的部分表达效果更好。
Transformer模型中的训练过程主要分为2个阶段。首先在第一阶段,模型通过编码-解码网络预测了每个输入的时间序列数据的内容,为了能够更好的捕捉到微小的异常状况,将焦点分数和数据序列同时作为输入,能够有效的提高自注意力网络对时间序列的提取,并将注意力更加集中在偏差较高的数据序列之中。
第二阶段将重建损失作为焦点分数,并将其与给定输入的偏差作为修改注意力权重的条件,进而提取短期时间趋势。这种自我调节的方法能够进一步放大数据异常内容的偏差程度,提高识别能力。训练过程如下:
首先,初始化编码器E、解码器D1和D2的权重,并设置超参数ε和最大迭代N;
之后,以生成和输入窗口近似的结构为目标,进行输入重构。使得解码器的输出结果Q1和Q2更加接近于W;
最后,进行迭代训练,通过损失函数L1和L2更新编码器E、解码器D1和D2的权重。
测试过程如下:
首先,获取模型编码器E、解码器D1和D2的权重;
之后,引入阈值自动选择方法,并根据输入数据计算得分;
最后,输出数据得分和异常标记情况。
为了能够保持训练的稳定性,设计了1个对抗训练模块,即通过2个独立解码器进行时间序列数据的重建,其中2个解码器的定义为:
L1=||Q1-W||2
(3)
L2=||Q2-W||2
(4)
解码器L2的目的是通过最大化特征差值。这促使解码器L2在此阶段生成与Q2相同的输出,以匹配解码器L1的输入,即目标为:
(5)
因此,解码器L1的目标是最小化自调节输出的重建误差,解码器L2的目标是最大化该误差。对抗训练模块可以更好的保证训练的稳定性,即大幅度减少过拟合的可能性,同时使得模型能够适用于不同类型的高维数据集。在评估阶段对对抗训练模块进行了消融实验,实验表明对抗训练模块能够有效的提高模型的准确性和稳定性。
此外,实验引入了元学习模块用来解决小规模数据集的训练收敛问题,元学习模块主要将算法、模型和特征一起学习。例如在数据融合过程中,通过多源异构数据得到一个相对最优的算法,再通过这个算法得到最优的特征融合结果。
Transformer是较流行的深度学习模型之一,被广泛应用于计算机视觉领域,但是在时间序列数据的融合和异常检测之中的相关工作较少。我们构建了一个基于自注意力机制的transformer模型来完成粮仓传感器监测数据中的异常检测任务。
首先在数据融合中需要进行特征提取,transformer属于encoder-decoder框架,其核心特征提取器是Attention,即利用注意力机制在众多信息中选择对当前任务目标最为关键的信息。从编码器输入的每一个数据序列首先经过一个自注意力层(Self-Attention),其帮助编码器关注当前数据周围的相关数据,注意力机制具体思想如图3所示:
图3 注意力机制
在模型中多元数据序列会进行矩阵变换,实验定义了注意力机制中的3个标量,分别是Query(Q)、Key(K)和值Value(V)。注意力Attention定义为:
(6)
自注意力机制是指在内部元素之间进行的Attention变换,对于输入矩阵Q,K和V,首先基于自注意力进行数据转换,其中多头自注意力MultiHead定义为:
MultiHead(Q,K,V)=Concat(H1,…,Hh)
(7)
式中:Hi=Attention(Qi,Ki,Vi),自注意力能够使得模型在多个位置关注来自不同空间的信息。同时自注意力机制更容易捕捉到多维序列数据中不同维度数据间的依赖特征。
MultiHead注意力机制的实现如图4所示。
图4 多头注意力机制
1.3.1 多源异构数据处理
多源异构数据的处理一直是信息融合研究的难点之一,传统的方法需要大量的时间和精力对同类型传感器数据的差异性进行辨别和标记。为了减少传统信息融合方法的复杂性,提出的基于深度学习的方法能够很好地对数据的细微差异特征进行识别,因此无需过多的考虑同类型传感器的数据的差异性。
工作和传统信息融合方法最本质的差别是方法能够实现无监督的学习,即不需要大量时间进行人工识别和标注,只需要通过自注意力机制就能够很好地对粮情数据的特征进行学习,并对异常情况进行检测。
在模型中,高维传感器数据无需进行预处理和标记,即多源异构数据的处理过程极其简单,只需要对多个异构数据源进行简单结合,生成一个单一的高维传感器数据文件即可。
1.3.2 特征级信息融合
粮仓传感器数据属于多变量时序数据,即输入数据是一个带有时间戳、大小为T的序列:
T={x1,x1,…,xt}
(8)
实验的任务是预测在时间序列T对应的数据异常时间戳。
为了让模型更加稳定,首先,对多源传感器数据进行归一化:
(9)
特征级信息融合和以特征Q、K、V作为输入,通过Concat函数(图4)进行融合,多头注意力机制提供并训练了多个Q、K、V矩阵,这些矩阵将不同维度的数据投影到不同的表示子空间。式(6)显示了每一个注意力模块对信息处理的过程,本研究的特征级信息融合就是将每一个注意力模块的输出结果进行融合的过程。在模型训练过程中,对多个并行的注意力层进行计算并获得了多个不同的Z矩阵,这是模型将通过Concat函数进行拼接,并将拼接结果输入到线性模型之中,这样就完成了特征级的信息融合。即输入为高维传感器数据,输出为经过线性变换之后的矩阵。如式(7)所示,在通过线性变换、注意力计算、特征融合之后的输出结果即为特征级信息融合的结果。
与传统信息融合方法的特征级信息融合步骤不同,本方法的特征级信息融合更加趋近于整体决策信息融合的一个组成部分,因此在特征级信息融合过程的直观性较差。这也是基于深度学习网络的信息融合方法与传统信息融合方法的主要差异[7,8]。
1.3.3 决策级信息融合
在D-S理论中,决策融合是定义系统中所有可能出现的状态,并将每一个可能的假设根据其特征质量赋予一个概率。决策级信息融合属于对多源语义数据进行融合,信息融合本质上是一种对粮仓传感器数据的融合机制,具体表现为每个节点只处理合成的语义信息。
多源决策级语义信息融合通常包含两部分。首先是将多维传感器数据转换为语义信息,之后通过训练为语义信息提供一个解释。本文的模型将温度、湿度等传感器信息进行融合,而决策级信息融合则将经过特征及信息融合之后的结果进行解码,进而实现决策级的信息融合。
在本模型中,我们将输入的高维数据经过归一化、线性变换、注意力变换等步骤进行处理和融合,最终输出一个布尔常量,用来标记当前输入数据是否为异常数据。本方法具备一个明显优势,具体为不局限于多源异构传感器的数量和数据维度。具体来说,假设某粮仓具备温度、湿度、虫害数传感器数据,后续有增设水分、CO2浓度传感器,传统方法对于决策及信息融合需要重新进行计算和分析,而本文方法的决策级信息融合只需将增设的传感器数据输入到模型之中即可完成决策级信息融合与粮情监测。
测试过程如算法2所示,将异常分数s定义为:
(10)
实验使用了新港6号仓(小麦)和南宁5号仓(玉米)的场景差异较大的传感器数据进行研究,其主要包括节点温度、节点水分、节点湿度、环境温度等数据维度。每行数据根据采样位置不同分为3层,即分别位于粮仓顶部、中部和底部。
其中新港数据集共有数据41 526行(18组采样传感器),南宁数据集共有数据981行(9组采样传感器),我们分别以1∶1和5∶4的比例随机选择了训练集和测试集。
模型为无监督模型,只需对测试数据进行标记,标记原则如表1所示。将较安全以及安全的粮情状况标记为0,其余状况标记为1。其中表1对粮情安全的评估标准参考了王峰等[18]的研究。
表1 测试数据标记原则
为了验证模型的有效性,将模型与MERLIN[16]、DAGMM[17]和USAD[11]模型进行比较。研究使用PyTorch-1.7.1训练模型。使用精度(precision)、召回率(recall)、特征曲线和F1分数来评估上述模型的性能。
图5显示了模型的平均训练损失值,可以看出。模型在训练过程中的loss值和val_loss值整体趋势都是相对稳定的,表明了模型在粮仓传感器数据集中的训练稳定。
在异常检测阶段还关注了不同维度数据的异常传递情况。多头注意力模式允许模型同时关注多个维度信息,使其更加适用于检测多维数据的关联异常。表现为某一维度的异常可能导致后续一系列维度的异常产生。本模型能够精确地检测并定位这些特定维度的异常内容。同时实验结果表明能够极大地改善异常监测的效果。
在测试过程中发现模型对较小异常的识别效果明显,即对于传递性数值异常的敏感度较高,即模型能够学习到数据维度之间的关系特征,并根据特征对异常状态进行识别。
此外,为了验证工作的有效性,还进行了不同模型的对比。可以看出模型在异常监测准确度、特征曲线和F1分数上都有优势。MRTLIN模型可能与本实验数据集不匹配导致效果较差,DAGMM和USAD模型在测试集中有90%以上的准确度,而模型准确度能够达到94%以上。
同时,模型的F1分数为0.967 971,高于DAGMM模型的0.959 163和USAD模型的0.949 486,证明我们的模型在粮仓粮情异常检测中与当前阶段流行的深度学习模型相比更加有优势。
实验结果表明,方法能够有效地预测不同情况下的粮仓异常问题,能够将高维传感器数据进行信息融合。同时强大的自注意力模式能够自动化的学习出传感器数据中的异常内容。与同类型的异常检测模型相比,本模型训练时间更短,准确率更高。
为了进一步探究模型中不同的模块对实验结果的影响程度,还进行了消融实验。首先用前馈网络替代transformer的编码器解码器结构进行实验;其次,去掉自注意力模块,即将焦点分数固定;再次,去掉对抗训练模块,只使用训练阶段的重建损失函数;最后,去掉元学习(meta-learning)模型进行实验。具体结果如表3所示。
表3 消融实验
前馈网络替换transformer网络:实验结果表明,用前馈网络替换Transformer网络之后,总体模型性能下降明显,说明了在模型中,Transformer的编码器/解码器结构对传感器数据特征的学习能力更强。
删除自注意力模块:实验结果表明,删除自注意力模块之后的网络性能有小幅度下降。固定焦点分数对模型的识别结果有一定程度影响,通过自注意力模块迭代更新焦点分数能够更好地对异常情况进行检测。
删除对抗训练模块:实验发现,只是用训练阶段的重建损失函数对于模型性能有较大的影响,异常检测准确度下降明显,说明实验的对抗训练模块能够加强模型对特征的学习,这也说明了实验模型能够捕捉到较微弱的局部特征信息。
删除元学习模型:实验结果表明,元学习模型对总体模型的性能影响巨大,元学习模型能够使得模型获取一种学会学习调参的能力,能够更好地完成无监督的学习任务,这也说明了实验模型能够更好地适应不同环境下的粮仓粮情异常情况检测。
研究提出了一种基于自注意力机制的Transformer模型来完成粮仓粮情信息融合和监测任务。基于编码器-解码器的Transformer模型能够快速完成大规模高维传感器数据的训练和异常内容检测,同时具备较高的准确性和稳定性。同时,模型还能有效的识别数据趋势,因此在小规模数据集上同样有较好的效果。
研究提出的粮仓粮情安全信息融合方法能够有效地对多种不同类型、不同环境的粮仓的粮情进行监测,同时无监督的模型能够极大的减少人工干预造成的误差。研究方法和传统的基于D-S的信息融合方法相比,适用性更广,准确度更高。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!