基于GRU-FedAdam的工业物联网入侵检测方法*

2024-03-14 08:37谢承宗王禹贺王佰多李世明
网络安全与数据管理 2024年2期
关键词:客户端准确率算法

谢承宗,王禹贺,王佰多,李世明

(哈尔滨师范大学 计算机科学与信息工程学院,黑龙江 哈尔滨 150025)

0 引言

工业物联网(Industrial Internet of Things,IIoT)能够利用智能化生产与管理来提高生产和管理效率,降低资源消耗,其应用行业众多(如制造、物流、运输、石油、天然气、公用事业和航空等),然而却存在易受网络攻击等问题[1]。入侵检测系统(Intrusion Detection System,IDS)可监测网络流量中疑似攻击行为,成为提升IIoT的防御能力的关键技术之一[2]。

人工智能中的深度学习算法可从大量数据中学习和提取复杂特征,所以被人们用于入侵检测并成为研究热点[3-5]。然而,基于深度学习的入侵检测模型结构越来越复杂,如文献[6-7]的CNN+LSTM组合模型,文献[8]的CNN和双层GRU的组合模型等,这些模型的训练时间都很长。此外,大多数基于深度学习的入侵检测系统部署属于集中式,该模式下服务器接收并利用不同客户端传来的数据进行训练入侵检测模型,然后再部署已训练完成的模型到客户端设备上[9],此过程存在隐私泄露等问题[10]。

联邦学习(Federated Learning,FL)是由McMahan等[11]于2016年提出的一种协作学习方法,该方法在本地设备上利用本地数据集训练共享模型,服务器只聚合更新后的本地模型参数,此过程中联邦学习不传输用户敏感数据,故保护了用户隐私,从而被逐渐应用到入侵检测技术中。然而,基于联邦学习的入侵检测方法[12-14]通常会使用随机梯度下降算法(Stochastic Gradient Descent,SGD)来优化本地模型的参数,导致出现模型的训练收敛速度慢和检测效率低等问题。

针对上述问题,本文提出基于GRU-FedAdam的入侵检测方法。首先,该方法构建基于单层门控循环单元(Gate Recurrent Unit,GRU)的入侵检测模型来节省训练时间;然后,采用FedAdam方法训练入侵检测模型,在提高模型的训练速度的同时保护了客户端隐私数据;最后,在TON_IoT数据集上进行仿真。实验结果表明:本文提出的方法在保护数据隐私的同时,能够快速缩短训练时间并取得良好的入侵检测效果。

1 相关理论

1.1 GRU单元

门控循环单元(Gate Recurrent Unit,GRU)是一种循环神经网络(Recurrent Neural Network,RNN),其网络结构如图1所示。

图1 GRU结构图

GRU保留传统RNN处理时间序列数据的能力,并解决传统RNN中长期依赖性的问题。GRU简化和调整长短期记忆(Long Short Term Memory,LSTM)的结构,减少参数数量,缩短训练时间[15]。GRU参数的计算过程如式(1)~(4)所示。

Rt=σ(XtWxr+Ht-1Whr+br)

(1)

Zt=σ(XtWxz+Ht-1Whz+bz)

(2)

(3)

(4)

其中,Ht-1为上一时刻的系统状态,Xt为当前时刻的输入,Ht为t时刻输出的状态向量,σ为Sigmoid函数,⊙为点乘。Wxr、Whr、Wxz、Whz、Wxh和Whh为神经网络参数矩阵,br、bz和bh为偏置。

1.2 联邦学习

在集中式学习中,每个客户端上传数据到服务器来训练入侵检测模型;而联邦学习模式中每个客户端使用本地数据集来训练一个具有相同结构的本地模型,向服务器传输的是客户端本地模型参数,服务器聚合参与本地模型训练的所有参数,生成全局模型并传输给所有客户端[[16-17]。集中式学习与联邦学习二者区别如图2所示。

图2 集中式学习与联邦学习

1.3 Adam优化算法

Adam算法为每个参数维护一个自适应学习率,有助于在训练过程中更好地处理不同参数的梯度变化,从而更有效地优化参数[18],其具体计算过程如算法1所示。

2 基于GRU-FedAdam的入侵检测方法

2.1 整体流程

基于GRU-FedAdam的入侵检测方法整体流程如图3所示。

图3 整体流程图

首先,每个客户端获取数据,服务端初始化全局入侵检测模型并将其分发给各个客户端;其次,各个客户端根据本地所拥有的数据集和Adam算法来训练本地入侵检测模型,并将训练后的模型参数上传到服务器端;服务器进行参数聚合并将全局入侵检测模型分发给客户端;最后,达到通信轮次后,各个客户端得到最终的本地入侵检测模型。

2.2 基于单层GRU的入侵检测模型

本文使用的入侵检测模型如图4所示。

图4 入侵检测模型结构图

该模型由一个GRU层、一个Flatten层和一个Linear层组成,设x为模型输入的特征向量,模型的计算过程如下:

(1)x经过GRU块的计算,最终得到输出的向量h,如式(5)所示:

h=GRU(x)

(5)

(2)h经过Flatten层实现降维,得到了μ,满足了之后全连接层的输入要求,如式(6)所示:

μ=Flatten(h)

(6)

(3)μ经过全连接层输出τ,τ的大小为分类结果的类别数,如式(7)所示:

τ=FC(μ)

(7)

(4)τ最后经过Softmax层得到了模型的分类结果,如式(8)所示:

(8)

2.3 FedAdam方法

算法2: FedAdamInput: D//D为工业物联网入侵检测数据集Output: θKG 1:initialize θ0G2:for each round k=1,…,K do3: m←max(⌊Nf」,1)4: Ck←random subset of m clients5: for each client Cki∈Ckin parallel do6: θki(0)←θk-1G7: θki(τIki)←ClientUpdate(θki(0),τ,Dki,tr)8: end for9: θkG←∑mi=1nCkinθki(τIki),n=∑mi=1nCki10:end for11:return θKG12:function ClientUpdate(θki(0))13: Iki←「nCkiB⌉14: for each local epoch 1,…,τ do15: for each iteration 1,…,Iki do16: θki←Adam(θki)17: end for18: end for19: return θki(τIki)20:end function

利用FedAdam方法训练入侵检测模型的步骤如下:

(9)

在达到通信轮次前,不断重复步骤(2)~(4),将最终得到的全局入侵检测模型分发给客户端,最终每个客户端得到本地最终的入侵检测模型。

3 实验结果与分析

3.1 实验环境

(1)实验平台及评价指标

义愤填膺的高潮再输入关键词“老来俏 火锅店”搜索,又搜索出不少帖子,才知道老太婆叫劳大翠。这些帖子有褒有贬。褒的帖子,有“老来俏火锅店”荣获“华人地区十佳连锁餐饮企业”称号的,有报道劳大翠慈善捐款热心公益事业的,有出巨资冠名举办“老来俏杯青年歌手大奖赛”的;贬的帖子,有说从他们那里吃出菜青虫长头发的,有说火锅底料回收后再卖给顾客的,有以曾经的员工身份揭露他们使用地沟油的……

实验计算机配置为16 GB内存,i5-12500H 3.1 GHz处理器,操作系统为Windows 11,编程语言为Python,框架搭建使用PyTorch平台完成。

本文使用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1分数(F1-score)作为评价指标[19]。

(2)数据集描述和预处理

本文在TON_IoT数据集[20]上进行了实验,该数据集可用于评估利用机器学习和深度学习模型进行IIoT入侵检测的准确性。标签为1类正常标签和7类异常标签。本文使用了其中的20 000个数据,数据分布如表1所示。

表1 实验的数据集内容

本文将每个客户端所拥有的数据中每类标签的80%划分为训练集,20%划分为测试集。模型的训练和测试都是在客户端本地进行的。

为加快模型训练速度,提高分类准确率[21],需要将特征数据标准化,其方法如式(10)所示:

(10)

其中μ表示均值,σ表示标准差。

3.2 实验与结果分析

本文在实验时,相关参数初始值设置如表2所示。

表2 实验设置

实验一采用f=1,K=2和τ=1的参数设置,比较不同入侵检测模型在其训练后的准确率、训练时间和验证时间。每个模型的具体结构如表3所示,实验结果如表4所示。

表4 不同入侵检测模型的实验结果

在使用FedAdam算法的训练过程中,基于单层GRU的入侵检测模型最终获得了0.988 4的准确率和82.22 s的训练时间。训练时间比两层GRU和单层LSTM分别减少34 s和4 s,说明本文所使用的入侵检测模型在减少训练时间的同时拥有良好的特征提取能力。

(2)实验二

实验二采用了f=1,K=1和τ=1的参数设置,统一使用本文提出的入侵检测模型。比较在参与联邦训练的不同比例下,模型在测试集上的精确率(Precision)、召回率(Recall)和F1分数(F1-score),实验结果如表5所示。

表5 不同设置下的对比结果

由表5可以看出,比例为1较比例为0.5的情况下各项指标高0.03以上。这表明当参与训练客户端的比例减少,全局入侵检测模型没有充分学习到所有客户端上数据的特征,导致检测效果下降。

(3)实验三

实验三将本文所提出的方法与线性回归(Linear Regression,LR)、朴素贝叶斯(Naive Bayes,NB)、随机森林(Random Forest,RF)、K-近邻(K-Nearest Neighbors,KNN)、支持向量机(Support Vector Machine,SVM)算法以及参考文献[22]所提方法做比较,实验结果如表6所示。

表6 与其他方法的对比结果

由表6可以看出,本文方法在入侵检测效果上优于机器学习算法,与文献[22]的入侵检测方法实验结果接近;同时,通过只传输模型参数既可以保护客户端的数据隐私,也可以减少网络带宽需求。

(4)实验四

实验四采用了f=1,K=10和τ=1的参数设置,统一使用本文提出的入侵检测模型。比较SGD和Adam优化算法在联邦学习训练中的损失值和准确率,实验结果如图5和图6所示。

图5 不同优化算法的损失值

图6 不同优化算法的准确率

可以看出,随着通信轮次的增加,客户端本地训练中采用Adam优化算法比SGD算法收敛速度更快、获得的准确率更高。Adam算法采用了自适应学习率,可以提高收敛速度和获得更好的优化效果。

4 结束语

本文提出一种基于GRU-FedAdam的入侵检测方法,以解决工业物联网中的入侵检测方法存在数据隐私泄露和训练时间较长的问题。本文构建基于单层GRU的入侵检测模型,利用FedAdam协作训练入侵检测模型,可以保护数据隐私和提高模型的训练速度。通过实验验证,使用基于单层GRU的入侵检测模型节约了训练时间,使用Adam方法加快了收敛速度和获得更好的优化效果。本文方法的入侵检测效果接近最新的入侵检测方法。但是随着参与训练的客户端比例下降,本文方法无法充分学习到数据特征,存在检测效果下降等问题。

后继工作将利用差分隐私和同态加密技术来抵御推理攻击,进一步提升本文方法的鲁棒性。此外,通信延迟、设备算力等对客户端实时上传本地参数数据存在重要影响,甚至降低联邦学习的训练效果,本文将进一步针对上述问题开展研究并提出有效解决方案。

猜你喜欢
客户端准确率算法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
高速公路车牌识别标识站准确率验证法
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现