CN115766241A - 基于dqn算法的分布式入侵检测系统任务调度卸载方法 - Google Patents

基于dqn算法的分布式入侵检测系统任务调度卸载方法 Download PDF

Info

Publication number
CN115766241A
CN115766241A CN202211452367.8A CN202211452367A CN115766241A CN 115766241 A CN115766241 A CN 115766241A CN 202211452367 A CN202211452367 A CN 202211452367A CN 115766241 A CN115766241 A CN 115766241A
Authority
CN
China
Prior art keywords
task
state
value
action
establishing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211452367.8A
Other languages
English (en)
Inventor
赵旭
马硕
江晋
王卫
王立
赵子江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Polytechnic University
Original Assignee
Xian Polytechnic University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Polytechnic University filed Critical Xian Polytechnic University
Priority to CN202211452367.8A priority Critical patent/CN115766241A/zh
Publication of CN115766241A publication Critical patent/CN115766241A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于DQN算法的分布式入侵检测系统任务调度卸载方法,本发明所提出的系统架构可将部分检测任务卸载到位于边缘服务器上性能和资源更好的入侵检测系统处理,建立的时延和能耗模型为卸载决策提供了理论基础。基于DQN算法的任务调度卸载方法可以实现网络边缘入侵检测设备的时延、能耗和丢包率的最小化,同时解决了现有技术中使用Q‑learning算法产生的内存占用过大的问题。

Description

基于DQN算法的分布式入侵检测系统任务调度卸载方法
技术领域
本发明属于网络安全技术领域,涉及一种基于DQN算法的分布式入侵检测系统任务调度卸载方法。
背景技术
由于网络边缘设备的性能和资源受限,传统的入侵检测技术由于对硬件性能依赖性高,所以无法直接部署在网络边缘。现有技术中基于Q-learning算法的任务调度方法虽然能降低边缘网络中入侵检测系统的压力,但是在任务调度过程中容易产生因为状态空间和动作空间过大而导致内存占用过大的问题。
发明内容
本发明的目的是提供一种基于DQN(DeepQ-Network)算法的分布式入侵检测系统(DistributedIntrusionDetectionSystem,DIDS)的任务调度卸载方法,该方法可以实现网络边缘入侵检测设备的时延、能耗和丢包率的最小化,同时解决了现有技术中使用Q-learning算法产生的内存占用过大的问题。
本发明所采用的技术方案是,基于DQN算法的分布式入侵检测系统任务调度卸载方法,具体包括如下步骤:
步骤1,建立用于边缘计算环境的DIDS的架构;
步骤2,基于步骤1建立的DIDS架构,建立卸载模型;
步骤3,在步骤2的基础上,建立时延模型;
步骤4,在步骤3的基础上,建立能耗模型;
步骤5,在步骤4的基础上,建立最优成本模型;
步骤6,基于步骤5建立的最优成本模型,定义马尔可夫决策过程模型参数;
步骤7,基于步骤6所得结果,建立状态空间;
步骤8,基于步骤7所得结果,建立动作空间;
步骤9,基于步骤8所得结果,建立状态转移概率矩阵;
步骤10,基于步骤9所得结果,建立奖励函数;
步骤11,基于步骤10所得结果,建立状态-动作价值函数;
步骤12,基于步骤11所得结果,通过Q-learning算法进行策略迭代,不断寻找最佳策略,使状态动作价值函数最优;
步骤13,基于步骤12所得结果,建立估计Q值函数和损失值函数;
步骤14,基于步骤13所得结果,建立DQN的目标Q值函数;
步骤15,基于步骤14所得结果,建立神经网络和记忆单元。
本发明的特点还在于:
步骤2中,假设卸载模型中有N个独立的检测任务可以被EIDS分配到M个DE去检测,如果决策引擎经过判断,将检测任务在本地执行,会把任务i是否卸载的标志位xik设置为0,其中i∈{1,2,…,N}并且k∈{1,2,…,M};如果决策引擎决定将检测任务卸载到EIDS执行,那么xik的值会被设置为1;对于N个检测任务和M个DE来说,这些标志位会形成任务分配矩阵X={xik}∈{0,1}N×(M+1),其中,
Figure BDA0003952110110000031
并且,xk=[x1k,x2k,…,xNk]T
步骤3的具体过程为:
步骤3.1,设任务i的数据量为Di,检测任务i所需的CPU周期数为Ci,EMIDS的CPU频率为Fl,任务i在本地执行的时间为Ti l=Ci/Fl,本地执行的总时延为:
Figure BDA0003952110110000032
步骤3.2,如果检测任务i被选择卸载到EIDS执行,从时间上可分为三个阶段:上传阶段、检测阶段、检测结果回传阶段,在上传阶段,任务i的上传数据量仍为Di,返回的检测结果的数据量为Di dn,检测所需的CPU周期数为Ci,设从EMIDS上传到EIDS的网络速率为NSup,那么任务i上传阶段需要的时间为:
Ti up=Di/NSup (2);
对所有被卸载的任务,上传阶段的总时延为:
Figure BDA0003952110110000033
步骤3.3,在EIDS中,设DE的CPU总时钟频率为Fs,则任务i在检测阶段耗费的时间为:
Ti d=Ci/Fs (4);
检测阶段的总时延为:
Figure BDA0003952110110000034
步骤3.4,在检测结果回传阶段,设回传的网络速率为NSdn,则任务i的检测结果需要的回传时间为:
Ti dn=Di dn/NSdn (6);
对所有被卸载的任务,回传阶段的总时延为:
Figure BDA0003952110110000041
步骤3.5,整个卸载过程的总时延建模,具体过程为:
对任务i整个卸载过程的时间为:
Figure BDA0003952110110000042
对于所有被卸载的任务,整个卸载过程的时间为:
Figure BDA0003952110110000043
步骤4的具体过程为:
步骤4.1,对任务i,设Pup和Pdn分别为边缘层DTU上传任务和回传结果时的功率,则卸载过程的能耗Ei为:
Ei=PupTi up+PdnTi dn (10);
对于所有被卸载的任务,整个卸载过程的能耗E为:
Figure BDA0003952110110000044
步骤4.2,如果任务i在本地执行,设EMIDS的CPU功率为Pl,将Pl建模为CPU频率Fl的超线性函数,所以本地执行的能耗
Figure BDA0003952110110000045
为:
Figure BDA0003952110110000046
对于所有本地执行的任务,整个过程的能耗El为:
Figure BDA0003952110110000047
步骤5中,建立的最优成本模型如下:
cost=min(βtTl+β′tTofeEl+β′eEofpPRLl+β'pPRLof),xik∈{0,1} (14);
式中,βt,β′te,β′ep,β′p分别是本地执行时间权重、能耗权重、丢包率权重及卸载执行时间权重、能耗权重和丢包率权重,PLRl表示EMIDS的丢包率,PLRof是EIDS上每个检测引擎的平均丢包率。
步骤7的具体过程为:
对于要检测的任务,状态空间S划分为若干个子空间,S定义为:
Figure BDA0003952110110000051
其中sdec表示决策过程的子空间,strs表示被DTU传输过程的子空间,sloc表示本地执行的子空间,soff表示卸载执行的子空间。
步骤8的具体过程为:
当待检测任务到达时,对于DIDS决策引擎来说,有卸载执行或本地执行两种选择,动作空间表示为:
A={a|ai={xij,xik}} (16);
其中,xij∈{0,1},xik∈{1,2,…,K},当xij的值为“0”时,表示待检测任务i在本地执行,值为“1”表示待检测任务i被卸载执行;xik意味着第i个任务被卸载到第k个EIDS检测;
步骤9的具体过程为:
由于DIDS不断与变化的网络状态保持交互,在每个时间t,DIDS会根据当前网络环境的状态转移概率s(a∈S)选择最合适的动作a,用π来表示策略集,其元素π(a|s)是在状态s上采取行动a的概率,即:
π(a|s)=P(At=a|St=s) (17);
其中,状态转移概率矩阵P可以表示为下式,其中n表示状态个数,Pnn表示从状态sn到状态s'n的概率:
Figure BDA0003952110110000061
步骤10的具体过程为:
当DIDS选择的动作a应用到下一个时间片t+1时,DIDS则获得奖励和惩罚值rt+1,r∈R,DIDS将从状态s变为状态st+1,奖励函数定义如下:
Figure BDA0003952110110000062
其中,βt、βe和βp分别是时间、能耗和丢包率的权重,PLRl表示EMIDS的丢包率并且PLRl>0,PLRof表示EIDS的丢包率;
令Gt为从时间t起所有带折扣的奖励之和,Gt表示为:
Figure BDA0003952110110000063
式中,rt和rt+1分别是当前时刻和下一时刻的奖励或惩罚,衰减系数γ∈[0,1]反映了自当前时刻之后的奖励的价值比例。
步骤11的具体过程为:
状态-动作价值函数,也称为Q函数,Qπ(s,a)表示在状态s采取动作a后的期望累积收益,即
Qπ(s,a)=Eπ[Gt|At=a,St=s] (21);
上式中,Eπ表示策略π的期望值;
最优状态-动作值函数是所有策略生成的行为值函数中,选择状态动作<s,a>值最大的函数,即:
Q*(s,a)=maxπQπ(s,a) (22);
对应的贝尔曼方程为:
Q*(s,a)=Eπ[rt+γmaxπQ*(st+1,at+1)|st,at] (23);
其中,st+1代表智能体到达的下一个状态,而αt+1代表下一个状态下的最佳动作。
步骤12的具体过程为:
在Q-learning算法中,Q值即Q(s,a)的值表示在某个网络状态s下采取动作a后可以获得低负载的期望,Q-learning算法采用时间差分法进行更新,更新公式如下公式(24)所示:
Q(s,a)←Q(s,a)+δ[r+γmaxa′Q(s′,a′)-Q(s,a)] (24);
上式表示更新Q值时,选择Q(s',a')的最大值,s’和a’分别表示下一时刻的状态和动作。
步骤13的具体过程为:
用函数近似的方式去估计公式(23)的最优状态动作值函数,则估计Q值的函数为:
Q(s,a,θ)≈Q*(s,a) (25);
DQN的更新方法与Q-learning相同,如公式(24)所示,基于公式(24)的第二项,DQN的损失函数可确定为:
L(θ)=E[(TargetQ-Q(s,a;θ))2] (26);
步骤14的具体过程为:
建立DQN的目标Q值函数:
TargetQ=r+γmaxa′Q(s′,a′;θ) (27)。
本发明的有益效果是,本发明构建了两个结构相同的卷积神经网络。一种是预测网络(MainNet)Q(s,a,θ),用于评估当前状态和动作的价值函数。另一个是目标网络(TargetNet)Q(s,a,θ-),用于生成公式(29)中的目标Q。在初始时刻,本发明将MainNet的参数θ分配给TargetNet的参数θ-,然后根据损失函数更新MainNet中的参数θ,TargetNet的参数θ是固定的。经过N轮迭代,将MainNet的参数θ复制到TargetNet的参数θ-中。通过引入目标网络,可以使目标Q值在一段时间内保持不变,在一定程度上降低了预测Q值与目标Q值的相关性,降低了振荡发散的可能性,提高了算法的稳定性。
另外,为了让强化学习的非独立同分布数据更接近于深度学习所需要的独立同分布数据,本发明在学习过程中设置了一个“记忆单元”来组合state、action、state_(下一次状态)和奖励存储在记忆库中。每次训练神经网络时,都会从记忆库中随机选择一批记忆数据,打乱了原始数据的顺序,削弱了数据的相关性。
附图说明
图1是本发明基于DQN算法的分布式入侵检测系统任务调度卸载方法与QL算法的内存占用率对比图;
图2是本发明基于DQN算法的分布式入侵检测系统任务调度卸载方法与QL算法的时延对比图;
图3是本发明基于DQN算法的分布式入侵检测系统任务调度卸载方法与QL算法的能耗对比图;
图4是本发明基于DQN算法的分布式入侵检测系统任务调度卸载方法与QL算法的丢包率对比图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于边缘计算环境下基于DQN算法的分布式入侵检测系统任务调度卸载方法,具体按照以下步骤实施:
步骤1,建立用于边缘计算环境的DIDS的架构;
整个架构被分为边缘层和边缘服务器层。在边缘层,设备的性能受到限制。为了对设备就近检测,边缘微型IDS(Edge micro intrusion detection system,EMIDS)被部署在距离设备最近的网络边缘。边缘服务器层作为网络边缘与云的中介,被部署在靠近网络边缘的位置或边缘数据中心,为计算能力不足的边缘设备提供就近计算服务。EMIDS的计算能力有限,在小规则库(small rule database,SRD)的帮助下,可以对边缘设备进行低计算量的检测。
如果遇到大计算量的检测任务,可以由位于边缘层的决策引擎进行决策,判断是否需要卸载给位于边缘服务器层的边缘IDS(edge intrusion detection system,EIDS)处理。边缘IDS(edge intrusion detection system,EIDS)放置在计算性能较好的边缘服务器层中,一个EIDS可以带有多个检测引擎(Detection engine,DE),帮助多个EMIDS进行任务检测。边缘层和边缘服务器层通过数据传输单元(data transmission unit,DTU)进行数据交换。在DTU中和DTU之间设有缓存,可以降低因网络传输问题导致的数据丢失。
步骤2,基于步骤1所得结果,对卸载过程建立模型;具体为:假设卸载模型中有N个独立的检测任务可以被EIDS分配到M个DE去检测。对于持续的网络流量,可以以会话为基本单位进行任务分配。如果决策引擎经过判断,将检测任务在本地执行,会把任务i是否卸载的标志位xik设置为0,其中i∈{1,2,…,N}并且k∈{1,2,…,M}。如果决策引擎决定将检测任务卸载到EIDS执行,那么xik的值会被设置为1。这样,对于N个检测任务和M个DE来说,这些标志位会形成任务分配矩阵X={xik}∈{0,1}N×(M+1),其中
Figure BDA0003952110110000101
并且xk=[x1k,x2k,…,xNk]T
步骤3,基于步骤2所得结果,建立时延模型;
步骤3.1,对本地执行的总时延建模;
任务在本地执行的时延仅是EMIDS检测该任务所消耗的时间。设任务i的数据量为Di,检测任务i所需的CPU周期数为Ci,EMIDS的CPU频率为Fl。通常CPU周期数与所检测的数据量正相关,它们的转换关系即计算—数据比的单位是CPUcycle/byte;那么将任务i在本地执行的时间为Ti l=Ci/Fl,本地执行的总时延Tl为:
Figure BDA0003952110110000102
步骤3.2,基于步骤3.1所得结果,对上传阶段的总时延建模;
如果检测任务i被选择卸载到EIDS执行,从时间上可分为3个阶段:上传阶段、检测阶段、检测结果回传阶段。在上传阶段,任务i的上传数据量仍为Di,返回的检测结果的数据量为Di dn,检测所需的CPU周期数为Ci。设从EMIDS上传到EIDS的网络速率为NSup,那么任务i上传阶段需要的时间Ti up为:
Ti up=Di/NSup (2);
对所有被卸载的任务,上传阶段的总时延Tup为:
Figure BDA0003952110110000111
步骤3.3,基于步骤3.2所得结果对检测阶段的总时延建模;
在EIDS中,设DE的CPU总时钟频率为Fs,则任务i在检测阶段耗费的时间Ti d为:
Ti d=Ci/Fs (4);
检测阶段的总时延Td为:
Figure BDA0003952110110000112
步骤3.4,基于步骤3.3所得结果对回传阶段的总时延建模;
在检测结果回传阶段,设回传的网络速率为NSdn,则任务i的检测结果需要的回传时间Ti dn为:
Ti dn=Di dn/NSdn (6);
对所有被卸载的任务,回传阶段的总时延Tdn为:
Figure BDA0003952110110000113
步骤3.5,基于步骤3.4所得结果,对整个卸载过程的总时延建模;
整个卸载过程的总时延建模,具体过程为:
对任务i整个卸载过程的时间Ti为:
Ti=Di/NSup+Ci/Fs+Di dn/NSdn (8);
对于所有被卸载的任务,整个卸载过程的时间Tof为:
Figure BDA0003952110110000121
步骤4,基于步骤3所得结果,建立能耗模型;
步骤4.1,卸载过程的能耗建模,具体过程为:
在能耗方面决策引擎只需要考虑卸载时,上传和回传过程对边缘设备DTU的能耗和本地执行的能耗哪个更多,不需要考虑在EIDS检测过程的能耗。对任务i,设Pup和Pdn分别为边缘层DTU上传任务和回传结果时的功率,则卸载过程的能耗Ei为:
Figure BDA0003952110110000122
对于所有被卸载的任务,整个卸载过程的能耗E为:
Figure BDA0003952110110000123
步骤4.2,本地执行的能耗建模;具体过程为:
如果任务i在本地执行,设EMIDS的CPU功率为Pl,将Pl建模为CPU频率Fl的超线性函数,所以本地执行的能耗为:
Figure BDA0003952110110000124
对于所有本地执行的任务,整个过程的能耗为:
Figure BDA0003952110110000125
步骤5,基于步骤4所得结果,建立最优成本模型;
步骤5的具体过程为:
对于所有本地执行或者被卸载的任务,本发明希望它们在延迟、能耗和丢包率方面具有最优的执行成本,即:
cost=min(βtTl+β′tTofeEl+β′eEofpPRLl+β′pPRLof),xik∈{0,1} (14);
上式中,βt,β′te,β′ep,β′p分别是本地执行和卸载执行时间、能耗和丢包率的权重,可以根据3个指标的重要性来设定,PLRl表示EMIDS的丢包率,PLRof是EIDS上每个检测引擎的平均丢包率。
步骤6,基于步骤5所得结果,定义马尔可夫决策过程模型参数;
马尔可夫决策过程(MDP)是一种用于顺序决策的数学模型。它的特点是在环境交互过程中根据环境给予的奖惩不断地学习,从而修正自己的行为以获得最大的利益。本发明研究的任务卸载问题需要根据网络状态的变化及时调整策略,因此要在待检测数据包的卸载决策过程中建立MDP模型。
MDP是一个五元组<S,A,P,R,γ>。其中,S为包含所有状态的状态空间,A为包含所有动作的动作空间,P为状态转移概率矩阵,R为奖励函数,γ为衰减系数。
步骤7,基于步骤6所得结果,建立状态空间;
对于要检测的任务,其在整个系统中的状态包括决策过程、传输过程和执行过程的状态。执行分为本地执行和卸载执行。所以状态空间S可以划分为多个子空间。S定义为:
Figure BDA0003952110110000131
其中sdec表示决策过程的子空间,strs表示被DTU传输过程的子空间,sloc表示本地执行的子空间,soff表示卸载执行的子空间。
步骤8,基于步骤7所得结果,建立动作空间;
具体过程为:当待检测任务到达时,对于DIDS决策引擎来说,有卸载执行或本地执行两种选择,所以动作空间可以表示为:
A={a|ai={xij,xik}} (16);
在上式中,xij∈{0,1},xik∈{1,2,…,K}。当xij的值为“0”时,表示待检测任务i在本地执行,值为“1”表示待检测任务i被卸载执行。xik意味着第i个任务被卸载到第k个EIDS检测。
步骤9,基于步骤8所得结果,建立状态转移概率矩阵;
具体过程为:在本发明设计的框架中,DIDS不断与变化的网络状态保持交互。在每个时间t,DIDS会根据当前网络环境的状态转移概率s(a∈S)选择最合适的动作a(a∈A)。这个选择过程就是策略。用π来表示策略集,其元素π(a|s)是在状态s上采取行动a的概率,即:
π(a|s)=P(At=a|St=s) (17);
上式中的状态转移概率矩阵P可以表示为下式,其中n表示状态个数,Pnn表示从状态sn到状态s'n的概率。
Figure BDA0003952110110000141
步骤10,基于步骤9所得结果,建立奖励函数;
具体过程为:当DIDS选择的动作a应用到下一个时间片t+1时,DIDS可以获得奖励和惩罚值rt+1(r∈R),DIDS将从状态s变为状态st+1。因此,DIDS与网络环境的交互产生了一个序列:s0,a0,r1,s1,a1,r2,…。在这个序列中,动作选择的好坏通过奖惩值来体现。当决策引擎决定卸载检测任务i时,本地执行和卸载执行在时间、能耗上的差值和当前丢包率是卸载执行的主要考虑因素。如果卸载执行比本地执行的时间成本和能耗成本更小,或者EMIDS出现丢包,但EIDS没有丢包,这些都可以促使决策引擎做出将任务i卸载的决定,所以将这些因素可以作为奖励值。奖励函数定义如下:
Figure BDA0003952110110000151
在上式中,βte和βp分别是时间、能耗和丢包率的权重,可以根据3个指标的重要性来设定,PLRl表示EMIDS的丢包率并且PLRl>0,PLRof表示EIDS的丢包率。
令Gt为从时间t起所有带折扣的奖励之和,Gt可表示为:
Figure BDA0003952110110000152
上式中,rt和rt+1分别是当前时刻和下一时刻的奖励或惩罚,衰减系数γ∈[0,1]反映了自当前时刻之后的奖励的价值比例。γ越接近1,则考虑的长期收益越多。
步骤11,基于步骤10所得结果,建立状态-动作价值函数;
具体过程为:状态-动作价值函数(也称为Q函数)Qπ(s,a)表示在状态s采取动作a后的期望累积收益,即
Qπ(s,a)=Eπ[Gt|At=a,St=s] (21);
上式中,Eπ表示策略π的期望值。
为了找到最优策略π*实现最低负载,需要求解最优状态动作值函数。最优状态-动作值函数是所有策略生成的行为值函数中,选择的状态动作<s,a>值最大的函数,即:
Q*(s,a)=maxπQπ(s,a) (22);
对应的贝尔曼方程为:
Q*(s,a)=Eπ[rt+γmaxπQ*(st+1,at+1)|st,at] (23);
其中st+1代表智能体到达的下一个状态,而αt+1代表下一个状态下的最佳动作。
步骤12,基于步骤11所得结果,通过Q-learning算法进行策略迭代,不断寻找最佳策略,使状态动作价值函数最优。
具体过程为:本发明使用Q-learning算法的目的是让决策引擎自动学习一种策略,以达到最低的延迟、能耗和丢包率,并根据在网络环境中积累的经验选择最佳动作。在Q-learning算法中,Q值即Q(s,a)的值表示在某个网络状态s下采取动作a后可以获得低负载的期望。
因此,本发明构造成一个专门存储Q值的表格(即Q表)来存储状态、动作和Q值,然后在Q表中根据Q值选择能够获得最低延迟、能耗和丢包率的动作。决策引擎在做决策时,只需要比较状态s中每个动作对应的Q值,就可以确定状态s中的最优策略,而不需要考虑状态s的后续状态。这一步可以简化决策过程。
Q-learning算法采用时间差分法进行更新,更新公式如下。在下面的公式中,δ是学习率,δ越大,表示采用新的尝试得到的结果比例越大,保持旧的结果的比例越小。
Q(s,a)←Q(s,a)+δ[r+γmaxa′Q(s′,a′)-Q(s,a)] (24);
上式表示更新Q值时,选择Q(s',a')的最大值。即采用Q(s',a')为最大值时的动作,与当前执行的策略无关。s’和a’分别表示下一时刻的状态和动作。
经过以上算法的迭代,即可选取能够获得最大的收益的动作,使状态动作价值函数最优,也就是说能够获得网络边缘入侵检测设备在时延、能耗和丢包率的最小化。
下面来证明策略的价值会随着策略的每次迭代而增加。假设当前策略为π,则可以得到对应的价值函数v(π)和基于策略π的动作价值函数Qπ(s,a)。当有一个状态
Figure BDA0003952110110000171
Figure BDA0003952110110000172
满足
Figure BDA0003952110110000173
那么这部分策略可以被更新,得到一个新的策略π'。新的策略π'完全一样,只是状态
Figure BDA0003952110110000174
中的决策与原来的策略不同。它的形式是:
Figure BDA0003952110110000175
那么,对于任何状态s,都可以推导如下:
Figure BDA0003952110110000176
通过以上推导可以证明,每一次策略改进都不会降低当前策略的价值。同理可以证明,如果策略π1下的状态值不高于策略π2下的状态值(vπ1(s)≤vπ2(s)),且π2下的状态值不高于π3(vπ2(s)≤vπ3(s)),则π1下的状态不高于π3(vπ1(s)≤vπ3(s))。基于这种传递性,可以得到策略迭代不断逼近最优的性质。
步骤13,基于步骤12所得结果,建立估计Q值函数和损失值函数;
具体过程为:在步骤12中,当状态和动作空间离散且维度不高时,可以使用Q表来存储每个状态动作对应的Q值。当状态和动作空间高维连续时,往往会导致动作空间和状态空间过大。本发明检测的数据有时承载着视频、图像、声音等高维连续流量,因此存在具有较大且连续的状态空间和动作空间可能,在这种情况下不宜用Q表存储。本发明提出的解决方法是将Q表的更新问题转化为函数拟合问题,通过拟合函数而替代Q表生成Q值,使得相似的状态可以得到相似的输出动作。
当状态或动作的个数过多时,通过步骤12分别去求每一个值函数可能会使速度降低。因此本发明用函数近似的方式去估计公式(23)的最优状态动作值函数,那么估计Q值的函数为:
Q(s,a,θ)≈Q*(s,a) (27);
DQN的更新方法与Q-learning相同,如公式(24)所示。基于公式(24)的第二项,DQN的损失函数可以确定为
L(θ)=E[(TargetQ-Q(s,a;θ))2] (28);
公式中的θ是步骤15中构建的神经网络的权重参数,即均方误差损失。这个损失函数的目的是最小化贝尔曼方程对Q值的与神经网络对Q值的估计之间的差异。上式中的TargetQ为目标Q值。
步骤14,基于步骤13所得结果,建立DQN的目标Q值函数;
具体过程为:建立DQN的目标Q值函数:
TargetQ=r+γmaxa′Q(s′,a′;θ) (29);
公式(29)可使当前Q值接近TargetQ值。接下来,求解L(θ)相对于θ的梯度,并使用随机梯度下降(SGD)方法更新网络参数θ。
步骤15,基于步骤14所得结果,建立神经网络和记忆单元。
具体过程为:由公式(27)可以看出,预测Q值和目标Q值采用相同的参数模型。当预测Q值增加时,目标Q值也会增加,这在一定程度上增加了模型振荡和发散的可能性。
为了解决这个问题,本发明构建了两个结构相同的卷积神经网络。一种是预测网络(MainNet)Q(s,a,θ),用于评估当前状态和动作的价值函数。另一个是目标网络(TargetNet)Q(s,a,θ-),用于生成公式(29)中的目标Q。在初始时刻,本发明将MainNet的参数θ分配给TargetNet的参数θ-,然后根据损失函数更新MainNet中的参数θ,TargetNet的参数θ是固定的。经过N轮迭代,将MainNet的参数θ复制到TargetNet的参数θ-中。通过引入目标网络,可以使目标Q值在一段时间内保持不变,在一定程度上降低了预测Q值与目标Q值的相关性,降低了振荡发散的可能性,提高了算法的稳定性。
另外,为了让强化学习的非独立同分布数据更接近于深度学习所需要的独立同分布数据,本发明在学习过程中设置了一个“记忆单元”来组合state、action、state_(下一次状态)和奖励存储在记忆库中。每次训练神经网络时,都会从记忆库中随机选择一批记忆数据,打乱了原始数据的顺序,削弱了数据的相关性。
下面在实验中,将本发明所用的基于DQN算法的方法与现有的几种算法进行对比测试。对比算法有:
1)本地执行(Local Execution,LE):所有任务都在本地EMIDS中执行;
2)卸载执行(Offloading Execution,OE):所有任务都卸载到EIDS执行;
3)轮询算法(Round-Robin,RR):将要卸载的任务依次卸载到边缘服务器执行;
4)强化学习(Reinforcement Learning,RL):强化学习算法不需要建立Q表和神经网络,只需要通过最优状态动作值函数达到最大累积奖励。
5)Q-learning(QL):在强化学习基础上,建立Q表,通过不断寻找最佳策略,使状态动作价值函数最优。
在实验的图1、图2、图3和图4中,可以看到基于DQN算法的方法跟对比算法相比,在时延、能耗、丢包率3个指标上均具有较低的优势。在内存占用测试上,基于DQN算法的方法比对比算法具备更低的内存占用。所以以上实验证明本发明提出方法的有效性。

Claims (10)

1.基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:具体包括如下步骤:
步骤1,建立用于边缘计算环境的DIDS的架构;
步骤2,基于步骤1建立的DIDS架构,建立卸载模型;
步骤3,在步骤2的基础上,建立时延模型;
步骤4,在步骤3的基础上,建立能耗模型;
步骤5,在步骤4的基础上,建立最优成本模型;
步骤6,基于步骤5建立的最优成本模型,定义马尔可夫决策过程模型参数;
步骤7,基于步骤6所得结果,建立状态空间;
步骤8,基于步骤7所得结果,建立动作空间;
步骤9,基于步骤8所得结果,建立状态转移概率矩阵;
步骤10,基于步骤9所得结果,建立奖励函数;
步骤11,基于步骤10所得结果,建立状态-动作价值函数;
步骤12,基于步骤11所得结果,通过Q-learning算法进行策略迭代,不断寻找最佳策略,使状态动作价值函数最优;
步骤13,基于步骤12所得结果,建立估计Q值函数和损失值函数;
步骤14,基于步骤13所得结果,建立DQN的目标Q值函数;
步骤15,基于步骤14所得结果,建立神经网络和记忆单元。
2.根据权利要求1所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤2中:假设卸载模型中有N个独立的检测任务可以被EIDS分配到M个DE去检测,如果决策引擎经过判断,将检测任务在本地执行,会把任务i是否卸载的标志位xik设置为0,其中i∈{1,2,…,N}并且k∈{1,2,…,M};如果决策引擎决定将检测任务卸载到EIDS执行,那么xik的值会被设置为1;对于N个检测任务和M个DE来说,这些标志位会形成任务分配矩阵X={xik}∈{0,1}N×(M+1),其中,
Figure FDA0003952110100000021
并且,xk=[x1k,x2k,...,xNk]T
3.根据权利要求2所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤3的具体过程为:
步骤3.1,设任务i的数据量为Di,检测任务i所需的CPU周期数为Ci,EMIDS的CPU频率为Fl,任务i在本地执行的时间为Ti l=Ci/Fl,本地执行的总时延为:
Figure FDA0003952110100000022
步骤3.2,如果检测任务i被选择卸载到EIDS执行,从时间上分为三个阶段:上传阶段、检测阶段、检测结果回传阶段,在上传阶段,任务i的上传数据量仍为Di,返回的检测结果的数据量为
Figure FDA0003952110100000023
检测所需的CPU周期数为Ci,设从EMIDS上传到EIDS的网络速率为NSup,那么任务i上传阶段需要的时间为:
Ti up=Di/NSup (2);
对所有被卸载的任务,上传阶段的总时延为:
Figure FDA0003952110100000031
步骤3.3,在EIDS中,设DE的CPU总时钟频率为Fs,则任务i在检测阶段耗费的时间为:
Ti d=Ci/Fs (4);
检测阶段的总时延为:
Figure FDA0003952110100000032
步骤3.4,在检测结果回传阶段,设回传的网络速率为NSdn,则任务i的检测结果需要的回传时间为:
Figure FDA0003952110100000033
对所有被卸载的任务,回传阶段的总时延为:
Figure FDA0003952110100000034
步骤3.5,整个卸载过程的总时延建模,具体过程为:
对任务i整个卸载过程的时间为:
Figure FDA0003952110100000035
对于所有被卸载的任务,整个卸载过程的时间为:
Figure FDA0003952110100000036
4.根据权利要求3所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤4的具体过程为:
步骤4.1,对任务i,设Pup和Pdn分别为边缘层DTU上传任务和回传结果时的功率,则卸载过程的能耗Ei为:
Ei=PupTi up+PdnTi dn (10);
对于所有被卸载的任务,整个卸载过程的能耗E为:
Figure FDA0003952110100000041
步骤4.2,如果任务i在本地执行,设EMIDS的CPU功率为Pl,将Pl建模为CPU频率Fl的超线性函数,所以本地执行的能耗
Figure FDA0003952110100000042
为:
Figure FDA0003952110100000043
对于所有本地执行的任务,整个过程的能耗El为:
Figure FDA0003952110100000044
5.根据权利要求4所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤5中,建立的最优成本模型如下:
cost=min(βtTl+β’tTofeEl+β’eEofpPRLl+β'pPRLof),xik∈{0,1} (14);
式中,βt,β’te,β’ep,β'p分别是本地执行时间权重、能耗权重、丢包率权重及卸载执行时间权重、能耗权重和丢包率权重,PLRl表示EMIDS的丢包率,PLRof是EIDS上每个检测引擎的平均丢包率。
6.根据权利要求5所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤7的具体过程为:
对于要检测的任务,状态空间S划分为若干个子空间,S定义为:
Figure FDA0003952110100000045
其中sdec表示决策过程的子空间,strs表示被DTU传输过程的子空间,sloc表示本地执行的子空间,soff表示卸载执行的子空间;
所述步骤8的具体过程为:
当待检测任务到达时,对于DIDS决策引擎来说,有卸载执行或本地执行两种选择,动作空间表示为:
A={a|ai={xij,xik}} (16);
其中,xij∈{0,1},xik∈{1,2,…,K},当xij的值为“0”时,表示待检测任务i在本地执行,值为“1”表示待检测任务i被卸载执行;xik意味着第i个任务被卸载到第k个EIDS检测;
所述步骤9的具体过程为:
由于DIDS不断与变化的网络状态保持交互,在每个时间t,DIDS会根据当前网络环境的状态转移概率s,a∈S选择最合适的动作a,用π来表示策略集,其元素π(a|s)是在状态s上采取行动a的概率,即:
π(a|s)=P(At=a|St=s) (17);
其中,状态转移概率矩阵P可以表示为下式,其中n表示状态个数,Pnn表示从状态sn到状态s'n的概率:
Figure FDA0003952110100000051
7.根据权利要求6所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤10的具体过程为:
当DIDS选择的动作a应用到下一个时间片t+1时,DIDS则获得奖励和惩罚值rt+1,r∈R,DIDS将从状态s变为状态st+1,奖励函数定义如下:
Figure FDA0003952110100000052
其中,βt、βe和βp分别是时间、能耗和丢包率的权重,PLRl表示EMIDS的丢包率并且PLRl>0,PLRof表示EIDS的丢包率;
令Gt为从时间t起所有带折扣的奖励之和,Gt表示为:
Figure FDA0003952110100000061
式中,rt和rt+1分别是当前时刻和下一时刻的奖励或惩罚,衰减系数γ∈[0,1]反映了自当前时刻之后的奖励的价值比例。
8.根据权利要求7所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤11的具体过程为:
状态-动作价值函数,也称为Q函数,Qπ(s,a)表示在状态s采取动作a后的期望累积收益,即
Qπ(s,a)=Eπ[Gt|At=a,St=s] (21);
上式中,Eπ表示策略π的期望值;
最优状态-动作值函数是所有策略生成的行为值函数中,选择状态动作<s,a>值最大的函数,即:
Q*(s,a)=maxπQπ(s,a) (22);
对应的贝尔曼方程为:
Q*(s,a)=Eπ[rt+γmaxπQ*(st+1,at+1)|st,at] (23);
其中,st+1代表到达的下一个状态,而αt+1代表下一个状态下的最佳动作。
9.根据权利要求8所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤12的具体过程为:
在Q-learning算法中,Q值即Q(s,a)的值表示在某个网络状态s下采取动作a后可以获得低负载的期望,Q-learning算法采用时间差分法进行更新,更新公式如下公式(24)所示:
Q(s,a)←Q(s,a)+δ[r+γmaxa′Q(s′,a′)-Q(s,a)] (24);
上式表示更新Q值时,选择Q(s',a')的最大值,s’和a’分别表示下一时刻的状态和动作。
10.根据权利要求9所述的基于DQN算法的分布式入侵检测系统任务调度卸载方法,其特征在于:所述步骤13的具体过程为:
用函数近似的方式去估计公式(23)的最优状态动作值函数,则估计Q值的函数为:
Q(s,a,θ)≈Q*(s,a) (25);
DQN的更新方法与Q-learning相同,如公式(24)所示,基于公式(24)的第二项,DQN的损失函数确定为:
L(θ)=E[(TargetQ-Q(s,a;θ))2] (26);
所述步骤14的具体过程为:
建立DQN的目标Q值函数:
TargetQ=r+γmaxa′Q(s′,a′;θ) (27)。
CN202211452367.8A 2022-11-21 2022-11-21 基于dqn算法的分布式入侵检测系统任务调度卸载方法 Pending CN115766241A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211452367.8A CN115766241A (zh) 2022-11-21 2022-11-21 基于dqn算法的分布式入侵检测系统任务调度卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211452367.8A CN115766241A (zh) 2022-11-21 2022-11-21 基于dqn算法的分布式入侵检测系统任务调度卸载方法

Publications (1)

Publication Number Publication Date
CN115766241A true CN115766241A (zh) 2023-03-07

Family

ID=85333069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211452367.8A Pending CN115766241A (zh) 2022-11-21 2022-11-21 基于dqn算法的分布式入侵检测系统任务调度卸载方法

Country Status (1)

Country Link
CN (1) CN115766241A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117041068A (zh) * 2023-07-31 2023-11-10 广东工业大学 一种深度强化学习的可靠性感知服务装配集成方法及系统
CN118282919A (zh) * 2024-05-31 2024-07-02 常州联元微科技有限公司 基于人工智能的电通信网络流量控制方法及控制系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405568A (zh) * 2020-03-19 2020-07-10 三峡大学 基于q学习的计算卸载和资源分配方法及装置
CN112839048A (zh) * 2020-05-21 2021-05-25 西安工程大学 边缘计算环境下基于强化学习的dids任务调度算法
CN112860350A (zh) * 2021-03-15 2021-05-28 广西师范大学 一种边缘计算中基于任务缓存的计算卸载方法
CN113641496A (zh) * 2021-08-13 2021-11-12 西安工程大学 基于深度强化学习的dids任务调度优化方法
WO2022027776A1 (zh) * 2020-08-03 2022-02-10 威胜信息技术股份有限公司 边缘计算网络任务调度与资源分配方法和边缘计算系统
CN114706631A (zh) * 2022-04-22 2022-07-05 哈尔滨工业大学 基于深度q学习的移动边缘计算中卸载决策方法及系统
EP4024212A1 (en) * 2020-12-29 2022-07-06 Telefonica Digital España, S.L.U. Method for scheduling interference workloads on edge network resources
CN115243217A (zh) * 2022-07-07 2022-10-25 中山大学 车联网边缘环境下基于ddqn的端边云协同调度方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405568A (zh) * 2020-03-19 2020-07-10 三峡大学 基于q学习的计算卸载和资源分配方法及装置
CN112839048A (zh) * 2020-05-21 2021-05-25 西安工程大学 边缘计算环境下基于强化学习的dids任务调度算法
WO2022027776A1 (zh) * 2020-08-03 2022-02-10 威胜信息技术股份有限公司 边缘计算网络任务调度与资源分配方法和边缘计算系统
EP4024212A1 (en) * 2020-12-29 2022-07-06 Telefonica Digital España, S.L.U. Method for scheduling interference workloads on edge network resources
CN112860350A (zh) * 2021-03-15 2021-05-28 广西师范大学 一种边缘计算中基于任务缓存的计算卸载方法
CN113641496A (zh) * 2021-08-13 2021-11-12 西安工程大学 基于深度强化学习的dids任务调度优化方法
CN114706631A (zh) * 2022-04-22 2022-07-05 哈尔滨工业大学 基于深度q学习的移动边缘计算中卸载决策方法及系统
CN115243217A (zh) * 2022-07-07 2022-10-25 中山大学 车联网边缘环境下基于ddqn的端边云协同调度方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XU ZHAO等: ""Task offloading of cooperative intrusion detection system based on Deep Q Network in mobile edge computing"", 《EXPERT SYSTEMS WITH APPLICATION, 16 June 2022 (2022-06-16), pages 2 - 4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117041068A (zh) * 2023-07-31 2023-11-10 广东工业大学 一种深度强化学习的可靠性感知服务装配集成方法及系统
CN118282919A (zh) * 2024-05-31 2024-07-02 常州联元微科技有限公司 基于人工智能的电通信网络流量控制方法及控制系统
CN118282919B (zh) * 2024-05-31 2024-10-11 常州联元微科技有限公司 基于人工智能的电通信网络流量控制方法及控制系统

Similar Documents

Publication Publication Date Title
CN113242568B (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN115766241A (zh) 基于dqn算法的分布式入侵检测系统任务调度卸载方法
He et al. QoE-driven content-centric caching with deep reinforcement learning in edge-enabled IoT
CN108958916B (zh) 一种移动边缘环境下工作流卸载优化方法
CN110928654B (zh) 一种边缘计算系统中分布式的在线任务卸载调度方法
CN113225377B (zh) 物联网边缘任务卸载方法及装置
US7890297B2 (en) Predictive monitoring method and system
CN115345212A (zh) 一种基于机器学习模型的控制方法和装置
CN113039506A (zh) 基于因果学习的数据中心基础结构优化方法
CN111970154B (zh) 基于深度增强学习和凸优化的卸载决策及资源分配方法
Tang et al. Adaptive inference reinforcement learning for task offloading in vehicular edge computing systems
CN115858048A (zh) 一种面向混合关键级任务动态到达边缘卸载方法
CN118193209A (zh) 一种基于阶段性策略梯度的预测式云平台资源调度方法
CN117560724A (zh) 联邦学习的参与者选择与资源分配联合优化方法及系统
CN117195728A (zh) 一种基于图到序列强化学习的复杂移动任务部署方法
Chai et al. A dynamic queuing model based distributed task offloading algorithm using deep reinforcement learning in mobile edge computing
CN117369964A (zh) 边缘计算系统的任务处理方法及相关装置
CN113157344B (zh) 移动边缘计算环境下基于drl的能耗感知任务卸载方法
Gao et al. Deep reinforcement learning and markov decision problem for task offloading in mobile edge computing
CN116204319A (zh) 基于sac算法与任务依赖关系的云边端协同卸载方法及系统
CN116193516A (zh) 一种物联网场景下用于高效联邦学习的成本优化方法
CN115865914A (zh) 车辆边缘计算中基于联邦深度强化学习的任务卸载方法
Yao et al. Performance Optimization in Serverless Edge Computing Environment using DRL-Based Function Offloading
Arzo et al. Proactive and reactive decision based agent placement: Reliability and latency perspective
CN118250308B (zh) 车联网中元强化学习边缘计算卸载方法、终端及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination