一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于表征学习的边缘网络状态感知建模方法与流程

2022-07-10 15:04:44 来源:中国专利 TAG:


1.本发明属于工业控制系统与网络边缘智能计算领域,具体的说是一种基于深度学习卷积神经网络的工业边缘网络状态感知建模方法。


背景技术:

2.全球已经掀起行业数字化转型的浪潮,智能技术已经率先在制造、电力、交通等行业开始应用,行业智能时代已经来临。2015年边缘计算进入到gartner的hype cycle(技术成熟曲线),边缘计算已经掀起了产业化的热潮,各类产业组织、商业组织在积极发起和推进边缘计算的研究、标准、产业化活动。智能电网的网络拓扑结构与边缘计算架构存在“天然”的契合之处,其各类终端均可具有计算和执行能力,通过网络边缘侧的智能处理,融合网络、计算、存储及信息化技术,在网络边缘提供服务,适用于具有海量数据特征的业务动态管理、边缘化安全隐私防护等技术需求,与当前的云计算集中式数据处理模型相比,电力边缘计算具有更接近数据侧,响应快速的特点,且计算范式和部署灵活。但是这种边缘侧的计算服务模式,也导致传统的云环境下的信息安全问题在边缘计算场景中更加突出,电力系统作为国民关键基础设施,其信息安全防护工作尤为重要,一旦遭受攻击,可能对国家和社会造成重大影响。
3.边缘计算作为在物联网中被广泛应用的计算范式,以网络边缘设备为核心,将云计算扩展到了网络的边缘,解决了云计算移动性差、地理信息感知弱、时延高等问题,满足智能电网环境部署中海量终端设备互联模式对资源请求的响应时间和安全性要求。边缘计算为解决时延和网络带宽负载问题带来极大的便利,支持将云中心任务向网络边缘侧迁移,将服务带到离边缘更近、范围更广的地方。通过部署边缘服务设备(如边缘计算节点、边缘计算网关等),服务可以驻留在边缘设备上,在处理海量数据的同时还可以确保高效的网络运营和服务交付。然而,边缘计算兴起的同时也给边缘计算网络中的用户、边缘节点、云服务器的安全防护带来了新的挑战,尤其是安全和隐私方面。


技术实现要素:

4.针对在技术背景中提出的面向电力智能边缘计算的安全防护要求,以智慧物联体系边缘智能计算技术为落点,本发明提出一种基于表征学习的边缘网络状态感知建模方法。
5.本发明为实现上述目的所采用的技术方案是:基于表征学习的边缘网络状态感知建模方法,包括以下步骤:
6.边缘物联网络中抓取的边缘网络通信双向流量数据包作为训练数据集、验证数据集和测试数据集;
7.根据所采集到的数据规模特征和期望检测的结果确定cnn网络结构参数;
8.利用训练数据集和验证数据集对cnn网络结构参数组成进行调节,其中,所述调节包括调整卷积层数量以及卷积核个数,调整池化层数量,调整全连接层和输出层的连接参
数以确定输出种类的数量,得到调优后的表征学习模型。
9.边缘物联网络中抓取的边缘网络通信双向流量数据包,包括:利用libpcap采集工业边缘网络中的流量数据包,将网络正常运行状况下的边缘网络通信流量数据包作为数据集的标准部分,其状态为normal,其中数据集的标准部分包括正常工作状态以及各协议的功能命令状态;
10.采集工作中途注入攻击模块并记录时间节点,以此节点为始采集攻击状态工作模式下的边缘网络通信流量数据包作为数据集的攻击部分,其状态包括dos、probe、r2l、u2r中的至少一种,用于表示攻击手段。
11.在边缘物联网络中抓取的边缘网络通信双向流量数据包作为训练数据集、验证数据集和测试数据集之后,还包括:
12.将一份流量数据包按照设定规格切分为若干份流量数据包,其中切割前后数据包格式不变;
13.将切割后的每个流量数据包进行数据包清理;
14.将清理过的每个数据包按照设定的长度处理,统一长度后的文件按照二进制形式转换为灰度图片;
15.利用python代码将所有灰度图片打包并转换为cnn标准输入格式为idx的压缩文件。
16.根据所采集到的数据规模特征和期望检测的结果确定cnn网络结构参数,包括:
17.根据数据预处理中所生成图片的规格,确定cnn卷积层、池化层数量及卷积核的大小、个数,根据欲得到的分类结果确定全连接层、输出层数量,根据数据训练需求添加其他附加条件层。
18.所述卷积层的计算公式为:
[0019][0020]
其中,mj代表输入层的感受野,i、j分别表示输入图对应卷积核大小区域、卷积层总层数;表示共j层中第l层的输出图;表示上一层输入图,表示共j层中第l层输出图的偏移量;表示第l层输入图对应的卷积核大小区域;f()代表对括号内自变量的运算表达式;
[0021]
卷积层中,输入上一层的featuremap之后,每个卷积核以设定的步长在featuremap上进行滑动,每滑动一次进行一次卷积运算,得到一个featuremap,提取用于表示当前图层的像素信息及统计信息;
[0022]
其中,卷积层个数为2,每个卷积层的卷积核大小均为5*5。
[0023]
所述池化层的计算公式为:
[0024][0025]
其中down(
·
)是池化函数,表示共j层中第l层的输出图,表示共j层中第l-1层(上一层)的输出图,表示共j层中第l层输出图的偏移量;表示共j层中第l层的
步长;f()代表对括号内自变量的运算表达式;
[0026]
池化层,采用均值采样、最大值采样、重叠采样中的一种;在输入的featuremap上每个n*n的区域内选出最大值,若每两个n*n的区域不产生重叠,经过池化层后featuremap将变成原来的1/n,但featuremap数量不变,n表示特征图的边缘长度。
[0027]
所述全连接层、输出层、其他附加层包括:
[0028]
全连接层设置在最后一个池化层之后,其每个神经元将和上一层的全部神经元连接;全连接层数量为2,第一个全连接层将输出的数据尺寸转换为1024,第二个全连接层将数据尺寸转换为2;
[0029]
在输出层使用softmax函数输出各类数据的概率值;
[0030]
使用非线性不饱和激活函数relu作为附加层,其数学公式为
[0031]
f(x)=max(0,x)
[0032]
其中,x表示上一层神经网络的输入值,f(x)表示输出值,输出值取自与0之间的最大值。
[0033]
利用训练数据集和验证数据集对cnn网络结构组成进行调节,调整卷积层数量以及卷积核个数,调整池化层数量,调整全连接层和输出层的连接参数以确定输出种类的数量,包括:
[0034]
将处理好的格式为idx的训练数据集传入已建立的表征学习模型进行模型训练,将验证数据集传入训练完成的模型进行参数调整;经过反复调整卷积层数量m以及层中固有参数卷积核数量y以确定可提取的z个featuremap,确定最优池化层数量和选择的图下采样方法,featuremap经过池化后使特征维数降低且计算量减少,确定最终分类数量以调整全连接层和输出层的个数;其中,附加条件层为dropout层。
[0035]
状态感知分析模块利用调优后的表征学习模型加载测试数据集,得到所采集流量数据的目标设备的运行状态,并且返回表征学习模型的精度参数,以评价所建立表征学习模型的性能,包括:
[0036]
训练模型调优后,将经数据预处理的测试数据集传入表征学习模型执行状态感知分析任务,并返回测试参数如下:
[0037][0038][0039][0040][0041]
其中,tp表示正确分析出的目标状态,tn表示被正确分析出的其它目标状态,fp表示被错误分析出的目标状态,fn表示被遗漏分析的目标状态;其中,目标状态为正常工作状态以及各协议的功能命令状态,包括dos、probe、r2l、u2r中至少一种被攻击状态在内的异常状态。
[0042]
一种基于表征学习的边缘网络状态感知建模装置,包括:
[0043]
数据采集模块,用于边缘物联网络中抓取的边缘网络通信双向流量数据包作为训
练数据集、验证数据集和测试数据集;
[0044]
建立表征学习模块,用于根据所采集到的数据规模特征和期望检测的结果确定cnn网络结构参数;
[0045]
训练模型调优模块,用于利用训练数据集和验证数据集对cnn网络结构组成进行调节,调整卷积层数量以及卷积核个数,调整池化层数量,调整全连接层和输出层的连接参数以确定输出种类的数量,得到调优后的表征学习模型。
[0046]
本发明具有以下优点及有益效果:
[0047]
1.采用了卷积神经网络表征学习技术。
[0048]
2.无需对数据进行特征工程处理(使用原始pcap格式数据)。
[0049]
3.无需区别网络协议。
[0050]
本发明面向电力智能边缘计算的安全保障问题,以分析工业边缘网络中流量粒度和数据包层级对边缘网络全面状态感知的影响为前提,在人工智能的角度设计出一个边缘网络全面状态感知模型,将所提取数据预处理为图像后传入卷积神经网络中,通过对训练集的多次学习以提高分析系统全面状态的准确率,提出了一种基于表征学习的面向工业边缘网络的全面状态感知建模方法。
[0051]
该方法利用以表征学习为技术特征的卷积神经网络(cnn),能够避免手动提取特征直接部署在工业边缘网络环境下,针对异构网络环境下的行为状态需求,通过旁路监听或直接嵌入的方式收集边缘网络中的原始数据自动学习特征并执行全面状态感知分析任务。对边缘网络环境中不同设备、不同业务逻辑所产生的行为状态进行建模、感知和检测,实现对整体框架的全面状态感知的目的。具有早期检测、低误警率、协议无关性、特征自动提取、原始流量数据输入等特点。
附图说明
[0052]
图1是基于表征学习的边缘网络状态感知建模方法的算法整体框架图;
[0053]
图2是流量数据预处理的流程图;
[0054]
图3是cnn结构示意图;
[0055]
图4是基于表征学习的边缘网络状态感知的模型图。
具体实施方式
[0056]
下面结合附图和实例对本发明做进一步的详细说明。
[0057]
本发明包括:
[0058]
1、采集真实环境下的工业边缘网络数据包;
[0059]
2、进行分割、去重、转图、打包等预处理工程;
[0060]
3、建立表征学习(卷积神经网络)模型,将打包完成的训练数据集传入模型进行训练,将验证数据集传入训练完成的模型进行调优;
[0061]
4、将测试数据集传入模型进行模型调优结果测试;
[0062]
5、得到最优模型,封装接入边缘网络进行全面状态感知任务。
[0063]
具体包括以下步骤:
[0064]
数据采集:在工业以太网技术和modbus、s7、dnp3等工控协议识别技术的基础上开
发出来的工业边缘网络中抓取网络结构扁平化趋势下的工控边缘网络通信双向流量数据包作为预处理数据集,其中包含标准状态normal,被攻击状态dos、probe、r2l、u2r等,以及各协议的功能命令状态;
[0065]
数据预处理:是指将采集到的各类状态的工控边缘网络通信流量数据包从原始格式(pcap格式)转换为cnn输入格式(idx格式)的处理流程,按比例打包为训练数据集、验证数据集和测试数据集,无需进行特征提取、标记标签等工程;
[0066]
建立表征学习模型:根据所采集到的数据规模特征和期望检测的结果确定cnn的各层数量、参数、以及激活函数的种类、附加层的使用必要性;
[0067]
训练模型调优:利用训练数据集和验证数据集对cnn网络结构组成进行微调,调整卷积层数量以及卷积核个数,调整池化层数量,调整全连接层和输出层的连接参数以确定输出种类的数量;
[0068]
状态感知分析:利用调优后的cnn表征学习模型加载处理好的测试数据集,并且返回测试精度(accuracy)、查准率(precision)、查全率(recall)、f1值(f1-score)。
[0069]
所述数据采集中,利用libpcap采集工业边缘网络中的真实数据,标准情况下(接入边缘网络的设备处于正常运行的状态下,即非攻击状态)的边缘网络通信流量数据包作为数据集的标准部分,其状态为normal,包括正常工作状态以及各协议的功能命令状态;采集工作中途注入攻击模块(用于破坏边缘网络中设备的正常运行状态)并记录时间节点,以此节点为始采集攻击状态工作模式下的边缘网络通信流量数据包作为数据集的攻击部分,其状态包括dos、probe、r2l、u2r;
[0070]
所述数据预处理包括以下步骤:
[0071]
流量切分:将一份原始流量数据按照一定规格切分为若干份数据流量,切割前后数据包格式不变,均为.pcap。
[0072]
流量清理:如果待处理的数据包不是来自同一个网络环境则需要进行清洗,清洗策略是用随机生成的新地址替换。之后进行数据包清理,清理重复数据以及不符合处理标准的残缺流量,处理后格式为.pcap。
[0073]
图片生成:将清理过的数据包按照一定的长度处理,统一长度后的文件按照二进制形式转换为灰度图片,即一个字节对应灰度像素值,0x00对应黑色,0xff对应白色,每张处理后的图片字节数为748,经过可视化形成28*28的灰度图,输出格式为.png。
[0074]
idx转换:利用python代码将图片转换为cnn标准输入格式为idx的压缩文件,随机选取20%的数据打包为测试数据集,随机选取20%的数据打包为验证数据集,随机选取60%的数据打包为训练数据集,一个idx压缩文件包含一个图片集的像素信息及统计信息,输出格式为.gz。随机选取设定百分比的数据打包为测试数据集、验证数据集,随机选取其余的数据打包为训练数据集,一个idx压缩文件包含一个图片集的像素信息及统计信息;所述像素信息包括图片尺寸、字节数;所述统计信息包括协议、标签;其中标签表示所采集流量数据的设备运行状态,包括正常状态和异常状态;所述正常状态包括工业边缘网络中设备的正常工作状态以及各协议的功能命令状态;异常状态包括dos、probe、r2l、u2r中至少一种的被攻击状态。
[0075]
所述建立表征学习模型包括以下内容:
[0076]
深入了解一般卷积神经网络的结构组成,根据数据预处理中所生成图片的规格,
初定cnn卷积层、池化层数量及卷积核的大小、个数,根据欲得到的分类结果确定全连接层、输出层数量,根据数据训练需求添加其他附加条件层;
[0077]
所述训练模型调优包括以下内容:
[0078]
将处理好的格式为idx的训练数据集传入已建立的表征学习模型进行模型训练,将验证数据集传入训练完成的模型进行参数调整。经过反复调整卷积层数量m以及层中固有参数卷积核数量y以确定可提取的z个featuremap,确定最优池化层数量和选择的图下采样方法,featuremap经过池化后使特征维数降低且计算量减少,确定最终分类数量以调整全连接层和输出层的个数,加入relu函数以提高收敛速度、加快训练时间,全连接层后接入附加条件层用于有效增强泛化能力,防止过拟合化;其中,附加条件层为dropout层。
[0079]
所述全面状态感知包括以下步骤:
[0080]
cnn训练模型调至最优后,将数据预处理完毕的测试数据集传入模型执行感知分析任务,并返回相应测试参数,名称及公式如下:
[0081][0082][0083][0084][0085]
其中,tp表示正确检测出的目标流量数,tn表示被正确检测出的其它流量数,fp表示被错误检测出的目标流量数,fn表示被遗漏检测的目标流量数。
[0086]
所述卷积层的计算公式为:
[0087][0088]
mj代表输入层的感受野,i、j分别表示输入图对应卷积核大小区域、卷积层总层数;表示共j层中第l层的输出图;表示上一层输入图,表示共j层中第l层输出图的偏移量;表示第l层输入图对应的卷积核大小区域;f()代表对括号内的自变量的某种运算法则的表达式。
[0089]
卷积层中,输入上一层的featuremap之后,每个卷积核以一定的步长在featuremap上进行“滑动”,每滑动一次会进行一次卷积运算,从而得到一个featuremap、提取一种特征。
[0090]
本模型中所确定卷积层个数为2,每个卷积层的卷积核大小均为5*5。
[0091]
所述池化层的计算公式为:
[0092][0093]
其中down(
·
)是池化函数,不同的featuremap有不同系数β和b。表示共j层中第l层的输出图,表示共j层中第l-1层(上一层)的输出图,表示共j层中第l层输出图
的偏移量;表示共j层中第l层的步长。f()代表对括号内的自变量的某种运算法则的表达式。
[0094]
池化层,采用均值采样、最大值采样、重叠采样中的一种;在输入的featuremap上每个n*n的区域内选出最大值,若每两个n*n的区域不产生重叠,经过池化层后featuremap将变成原来的1/n,但featuremap数量不变,n表示特征图的边缘长度。
[0095]
在本模型中池化层数量为2,采用最大值采样,n取2。
[0096]
所述全连接层、输出层、其他附加层的相关内容包括以下内容:
[0097]
全连接层设置在最后一个池化层之后,其每个神经元将和上一层的全部神经元连接。本模型中全连接层数量为2,第一个全连接层将输出的数据尺寸转换为1024,第二个全连接层将数据尺寸转换为2。
[0098]
为了增强cnn的泛化能力,同时防止过拟合的发生,在第一个全连接层后使用dropout层作为附加层,以一定概率把隐含节点的输出清零,这样就不用再更新与此节点连接的权值,减少了一部分计算量,同时更新权值不再依赖与固定的隐含节点的共同作用,避免了在特定特征下部分特征才有效的问题。
[0099]
在输出层使用softmax函数输出各类数据的概率值。
[0100]
为了减少训练时间,加快收敛速度,使用非线性不饱和激活函数relu作为附加层,其数学公式为
[0101]
f(x)=max(0,x)。
[0102]
如图1所示,基于表征学习的边缘网络状态感知建模方法,包括:
[0103]
a.数据预处理部分
[0104]
1.流量切分:将从工业以太网中采集到的一份双向流会话中所有层的流量数据切分为多个流量数据。输入格式为pcap,输出形式为双向流 会话,格式也为pcap。
[0105]
2.流量清理:处理对象包括数据链路层的mac地址和ip层的ip地址,处理策略是用随机生成的新地址替换。如果待分类的流量来自同一个网络环境则不需要清洗。之后进行文件清理,有的双向流会话的内容是相同的,这会导致产生内容完全相同的重复文件,如果不加处理会在cnn训练时造成偏差,这种重复文件只需要保留一个。
[0106]
3.图片生成:将清理过的文件按照784字节进行统一长度处理,即如果文件长度大于784字节则截取,少数小于784字节的文件在后面补充0x00。统一长度后的文件按照二进制形式转换为灰度图,即一个字节对应灰度图像素值,例如0x00对应黑色,0xff对应白色,目的是为了便于直观分析。输出格式为png格式。
[0107]
4.idx转换:将图片转换为idx格式文件,一个idx文件包含一个图片集的像素信息及统计信息,是很多cnn的标准输入文件格式。转换格式为gz格式。
[0108]
图2为数据预处理的流程示意图。
[0109]
处理完毕的数据最终会以训练数据集和测试数据集的形式输出在相应的文件夹中,训练数据集占总数的百分之六十,验证数据集占总数的百分之二十,测试数据集占总数的百分之二十。
[0110]
b.建立cnn表征学习模型
[0111]
如图3所示,cnn从idx文件中读入尺寸为28*28*1的流量图片像素值,这些像素值
首先进行归一化,由0~255转换为0~1。在第一个卷积层c1中,由尺寸为5*5的卷积核对输入进行卷积,共有32个通道,生成32个尺寸为28*28的特征图,然后再p1层进行一次2*2的最大值池化操作,生成32个尺寸为14*14的特征图。在第二个卷积层c2中,卷积核尺寸同样是5*5,但是共有64个通道,共生成64个尺寸为14*14的特征图,然后在p2层进行进行一次2*2的最大值池化操作,生成64个7*7的特征图。紧接着是两个全连接层,将数据尺寸依次转换为1024和2。最后使用一个softmax函数输出各类的概率值。为了减少过拟合现象的发生,在输出层之前使用了dropout。
[0112]
c.基于表征学习的边缘网络状态感知模型
[0113]
如图4所示,本模型的各阶段工作流程描述如下:
[0114]
预处理。预处理将原始网络流量转换为卷积神经网络需要的二维图像格式。判断流量是否具有攻击行为的基本单元是网络流,因此原始网络流量需要首先切分为一组网络流。每一个网络流包含一组双方通信的数据包。直接取网络流前n字节进行数据转换,使用独热编码,假设独热编码为m维向量,则整个流可整体编码为一个m*n形状的二维图像。假设共有r个数据包,每个数据包取前q字节,独热编码为p维向量,则最终得到r个p*q形状的二维图像。需要指出的是,欲使用的分类基本单元是双向的网络流。
[0115]
交叉验证。k折交叉验证技术用于评估和选择性能最好的模型。训练集被随机均分为10个子集,每次训练和验证时选择1个子集作为验证集,其余k-1个子集为训练集。如果实验中k取10,则可以实现低偏差、低方差、低过拟合和较好的误差估计。
[0116]
特征学习。卷积神经网络用于学习二维图像格式的流量的空间特征。卷积神经网络对每一个p*q维的数据包分别学习得到r个空间特征。
[0117]
softmax分类器。softmax分类器用于对自动学习到的特征进行状态分析。针对具体每个网络流,通过特征学习方式得到的特征结果,softmax分类器负责最终判断其是否具有异常状态。
[0118]
测试与结果收集。使用调试好的模型进行实际测试,收集实验结果数据并进行分析,将实验结果与其它现有的状态感知方法进行对比。
[0119]
基于表征学习的边缘网络状态感知装置,包括:
[0120]
数据采集模块,用于边缘物联网络中抓取的边缘网络通信双向流量数据包作为训练数据集、验证数据集和测试数据集;
[0121]
建立表征学习模块,用于根据所采集到的数据规模特征和期望检测的结果确定cnn网络结构参数;
[0122]
训练模型调优模块,利用训练数据集和验证数据集对cnn网络结构组成进行调节,调整卷积层数量以及卷积核个数,调整池化层数量,调整全连接层和输出层的连接参数以确定输出种类的数量;
[0123]
状态感知分析模块,用于利用调优后的表征学习模型加载测试数据集,得到所采集流量数据的目标设备的运行状态,并且返回表征学习模型的精度参数。
[0124]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0125]
本发明是参照根据本技术实施例的方法流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
[0126]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程中指定的功能。
[0127]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程中指定的功能的步骤。
[0128]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献