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

一种基于强化学习和脉冲网络的电力网络入侵检测方法与流程

2022-12-13 21:20:47 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,尤其涉及一种基于强化学习和脉冲网络的电力网络入侵检测方法。


背景技术:

2.随着互联网的发展,人们在享受网络带来的诸多便利之外,同时也面临着更多风险,黑客侵入网络盗取数据的案例屡见不鲜,网络安全问题已经日益成为互联网领域的突出问题之一,需要行之有效的方法切实提高网络的安全性。目前,在电力系统的各大部门均部署了电力信息网络,管理着电力系统的各主要领域,涉及生产、配送、控制和用户数据收集等。电力信息网络的安全性极为重要。但是近年来,针对电力信息网络的攻击越来越频繁、攻击方法种类也层出不穷,使网络随时面临着各类安全问题。这就对保障电力信息网络安全的方法提出了更高的要求。
3.入侵检测是一种帮助系统应对网络攻击的有效方式,它扩展了系统管理员的安全管理能力,提高了信息安全基础结构的完整性。入侵检测通过从计算机网络系统中的若干关键点收集的信息,分析查看网络中是否有违反安全策略的行为和遭到袭击的迹象,进而发出警报或采取主动反应措施。与其它安全策略不同的是,入侵检测是一种主动的安全防护技术,在不影响网络和主机性能的情况下进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
4.然而,传统的基于规则的入侵检测系统在面临当下复杂且多样的攻击方式时往往会力不从心,很容易遗漏未被规则收录的入侵,很难胜任网络的防护工作;而基于机器学习(包括深度学习)的入侵检测方法虽然有学习能力、智能等优点,但是也存在着很多不足,主要表现为:需要大量带标签的数据、容易过拟合于训练数据、在面对针对性的对抗样本时准确率会急剧下降、场景适应性弱,因此需要新方法来构建入侵检测系统。
5.强化学习是机器学习的一个分支,具有无特定数据、不需要给出“正确”标签作为监督信息、只需要奖励信号,并通过调整策略来取得最大化的期望回报。强化学习兼备了监督学习和无监督学习的优势,在控制和决策领域获得较多的研究和应用。深度强化学习结合了深度学习和强化学习,利用了深度学习的感知能力,来解决策略和值函数的建模问题,然后使用误差反向传播方法来优化目标函数,同时利用了强化学习的决策能力来定义问题和优化目标。深度强化学习在一定程度上具备了解决复杂问题的通用智能,并在一些领域取得了成功。但是在使用深度强化学习解决具体问题时需要根据实际情况设计模型,来提高最终表现。
6.脉冲神经网络模型使用最拟合生物神经元机制的模型来进行计算,与神经科学的结合更加紧密,更贴近与人脑的工作机理,将脉冲神经网络与深度强化学习方法结合起来会提高整体模型的表现。
7.以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,也不必然会给出技术教导;在没有明确的证据表明上述
内容在本专利申请的申请日之前已经公开的情况下,上述背景技术不应当用于评价本技术的新颖性和创造性。


技术实现要素:

8.为了克服现有技术存在的不足,本发明提供一种基于强化学习和脉冲网络的电力网络入侵检测方法,具体技术方案如下:
9.提供了一种基于强化学习和脉冲网络的电力网络入侵检测方法,包括以下步骤:
10.以强化学习的方式对网络入侵检测问题建立深度学习模型,并初始化环境,所述深度学习模型利用神经网络进行判断,所述神经网络由线性网络和脉冲神经网络构成;
11.依据入侵检测的数据集构建强化学习的多元组,多元组包括状态值、智能体的判断、奖励值以及环境返回的下一个状态值,其中所述状态值包括数据集中的多个输入特征,所述智能体的判断包括对于当前输入数据受到攻击类型的判断,在智能体做出决策之后,环境才给出下一个状态值,所述奖励值为通过智能体决策获得的对应奖励;
12.使用智能体与环境进行交互并将数据以多元组为单位存入经验回放单元,以实现所述经验回放单元的轨迹采样;神经网络通过智能体提取输入特征,利用采样的轨迹进行线性网络的训练与脉冲神经网络参数的更新,进而得到优化的判断结果。
13.进一步地,所述智能体决策获得的对应奖励的计算函数如下:
14.a.系统被入侵,智能体判定为被入侵且类型判断准确:智能体得到奖励值a;
15.b.系统被入侵,智能体判定为被入侵且类型判断错误:智能体得到奖励值b;
16.c.系统被入侵,智能体判定为未被入侵:智能体得到奖励值c;
17.d.系统未被入侵,智能体判定为未被入侵:智能体得到奖励值d;
18.e.系统未被入侵,智能体判定为被入侵:智能体得到奖励值e;
19.其中,a》b》0,a》d》0,c《e《0。
20.进一步地,所述输入特征包括tcp连接的基本特征、tcp连接的内容特征、基于时间的网络流量特征及基于主机的网络流量统计特征;所述深度学习模型根据所述数据集的输入特征将入侵检测的判断结果归结为若干类标签,所述标签包括正常数据、拒绝服务攻击、探查攻击、未授权的本地超级用户特权访问和远程主机的未授权访问。
21.进一步地,假设当前时间步为k,对于智能体的输入特征,采用动态统计均值方差的方式进行数据的标准化,以得到标准化的输入特征;生成一个0至1之间的随机数,若该随机数小于预设的随机探索概率,则随机输出一个判断值,否则将标准化的输入特征作为智能体的输入传入所述神经网络。
22.进一步地,采用以下公式得到智能体的判断,
[0023][0024]
其中,对应训练的智能体,ni对应第i层线性网络(i=1,2,

),p对应脉冲神经单元,对应标准化的输入特征,yk对应智能体的判断;
[0025]
依据奖励计算函数计算智能体获得的奖励,然后获得环境给出的下一个观测值,以构成一个多元组。
[0026]
进一步地,使用深度学习模型计算所述输入特征对应轨迹的时序差分误差,将相应的多元组和时序差分误差一起存入经验回放单元。
[0027]
进一步地,对所述经验回放单元采取带权重的经验回放,所述经验回放单元里的每条轨迹都对应一个采样概率,当所述经验回放单元中的轨迹数目达到预先设置数目时,优先替换采样概率最低的轨迹。
[0028]
进一步地,使用随机梯度下降方法更新所述线性网络的权值。
[0029]
进一步地,使用粒子群方法对所述脉冲神经网络进行更新。
[0030]
进一步地,所述智能体的激活函数采取的是基于lif神经元的脉冲神经网络。
[0031]
与现有技术相比,本发明具有下列优点:利用脉冲神经网络,使得模型判别具有更强的生物学基础和鲁棒性,并提高了入侵检测的准确率。
附图说明
[0032]
图1是本发明实施例提供的基于强化学习和脉冲网络的电力网络入侵检测方法模型架构示意图;
[0033]
图2是本发明实施例提供的基于强化学习和脉冲网络的电力网络入侵检测方法的神经网络示意图;
[0034]
图3是本发明实施例提供的基于强化学习和脉冲网络的电力网络入侵检测方法的流程示意图。
具体实施方式
[0035]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0036]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
[0037]
强化学习是一种基于“试错型”的机器学习方法,它在与环境的交互过程中进行无监督学习,学习如何获得最大的累计式奖励。与监督学习相比,强化学习并不需要准确无误的标签,只需要针对性的设计奖励函数引导智能体进行训练,让智能体在与环境的交互过程中实现自我学习。当前的强化学习智能体通常由深度神经网络组成,在前向传播中只会输出一个值,对噪声、不完整和误导性输入数据具有高度敏感性,而脉冲神经网络在前向传播中传递的是一个个脉冲,具有更强的生物学基础和鲁棒性。
[0038]
在本发明的一个实施例中,提供了一种基于强化学习和脉冲网络的电力网络入侵检测方法,参见图1,包括以下步骤:
[0039]
以强化学习的方式对网络入侵检测问题建立深度学习模型,并初始化环境,所述深度学习模型利用神经网络进行判断,所述神经网络由多个线性网络和脉冲神经网络构成;
[0040]
依据入侵检测的数据集构建强化学习的多元组,多元组包括状态值、智能体的判断、奖励值以及环境返回的下一个状态值,其中所述状态值包括数据集中的多个输入特征,所述智能体的判断包括对于当前输入数据受到攻击类型的判断,在智能体做出决策之后,环境才给出下一个状态值,所述奖励值为通过智能体决策获得的对应奖励;其中,所述智能体决策获得的对应奖励的计算函数如下:
[0041]
a.系统被入侵,智能体判定为被入侵且类型判断准确:智能体得到奖励值a;
[0042]
b.系统被入侵,智能体判定为被入侵且类型判断错误:智能体得到奖励值b;
[0043]
c.系统被入侵,智能体判定为未被入侵:智能体得到奖励值c;
[0044]
d.系统未被入侵,智能体判定为未被入侵:智能体得到奖励值d;
[0045]
e.系统未被入侵,智能体判定为被入侵:智能体得到奖励值e。
[0046]
使用智能体与环境进行交互并将数据以多元组为单位存入经验回放单元,以实现所述经验回放单元的轨迹采样;所述神经网络通过智能体提取输入特征,利用采样的轨迹进行线性网络的训练并完成脉冲神经网络参数的更新,进而得到优化的判断结果。
[0047]
其中,a》b》0,a》d》0,c《e《0。
[0048]
参见图2和图3,下面以多元组为四元组为例进行具体步骤说明:
[0049]
步骤一:环境建模及初始化
[0050]
首先,将入侵检测问题建模为强化学习的交互式环境。以入侵检测常用数据集nsl-kdd数据集为例,其输入特征包含41个维度,主要包括tcp连接的基本特征、tcp连接的内容特征、基于时间的网络流量特征及基于主机的网络流量统计特征;对应判别的标签可以分为五类:正常数据、拒绝服务攻击、探查攻击、未授权的本地超级用户特权访问(user-to-root,u2r)和远程主机的未授权访问(remote-to-user,r2l)。依据该数据集给出强化学习中四元组(z,y,b,z’)的定义,状态值(z):环境给出的观测值,即数据集的41个输入特征;智能体的判断(y):智能体对于当前输入数据受到攻击类型的判断;环境返回的下一个状态值(z’):在智能体做出决策之后,环境给出的下一个状态值;奖励值(b):智能体决策获得的对应奖励,具体计算方式如下:
[0051]
系统被入侵,智能体判定为被入侵且类型判断准确:智能体得到 1奖励;
[0052]
系统被入侵,智能体判定为被入侵且类型判断错误:智能体得到 0.1奖励;
[0053]
系统被入侵,智能体判定为未被入侵:智能体得到-10奖励;
[0054]
系统未被入侵,智能体判定为未被入侵:智能体得到 0.1奖励;
[0055]
系统未被入侵,智能体判定为被入侵:智能体得到-1奖励。
[0056]
随后初始化智能体的模型智能体的模型副本经验回放单元u、衰减因子γ及随机探索概率ε。
[0057]
步骤二:收集数据并计算时序差分误差
[0058]
使用智能体与环境进行交互并将数据以四元组(z,y,b,z’)为单位存入经验回放单元u。假设当前时间步为k,对于智能体的输入zk,采用动态统计均值方差的方式进行数据的标准化,即将数据转化为均值为0方差为1的正态分布。假设当前维护的均值为μk,方差为σk,则对输入数据作如下公式(1)所示的运算,以得到经过标准化的输入然后用如下所示的公式(2)与公式(3)更新维护的均值与方差。
[0059][0060][0061]
σ
k 1
=σk (z
k-σk)*(z
k-μ
k 1
)
ꢀꢀꢀ
(3)
[0062]
接着生成一个0-1的随机数,若该随机数小于随机探索概率ε,则随机输出一个判断值,否则将标准化输入作为智能体的输入传入神经网络,因为输入特征相对简单,所以神经网络由多个线性网络构成,中间的激活函数使用脉冲神经网络。
[0063]
具体的传输过程如下方公式(4)所示,其中对应训练的智能体,ni对应第i层线性网络(i=1,2,3),p对应脉冲神经单元,对应标准化的输入特征,yk对应智能体的判断。智能体的输出为一个长度为5的一维向量,每个数对应每种标签的q值,将最大的值对应标签作为智能体的判断yk。
[0064][0065]
随后依据上文的奖励计算函数计算智能体获得的奖励,然后获得环境给出的下一个观测值z’k
,由此即可构成一个四元组(zk,yk,bk,z’k
),同时使用模型计算该条轨迹的时序差分误差(td-error),td-error衡量了当前网络对于状态动作对的q值估计的精确程度,具体计算方式如公式(5)所示,取即时奖励加上衰减因子倍数的下一个状态的最大估计q值减去当前状态动作对的估计q值的绝对值,公式中γ为衰减因子,i代表当前的回合数。最后将四元组和计算得到的td-error一起存入经验回放单元u,td-error作为下一步计算采样权值的依据。
[0066][0067]
步骤三:轨迹采样
[0068]
当经验回放单元u中的轨迹数目达到预先设置数目时,从经验回放单元u中采样轨迹进行更新。为了加快智能体的训练速度与学习进程,采样时采取带权重的经验回放,提升高质量轨迹被采样的概率,用高采样概率的轨迹替换低采样概率的轨迹。经验回放单元里的每条轨迹都对应一个采样概率p,计算方法如公式(6)所示,用收集数据时计算得到的td-error衡量对应轨迹的价值和对应的采样概率,公式中o为调节系数,用于调整优先级占据的比例,|u|表示当前经验回放单元的轨迹总数。
[0069][0070]
需要说明的是,当经验回放单元即经验池已满之前,都会重复执行步骤二,直到满足经验池已满,然后依据权值进行采样以训练神经网络,直到模型收敛,再输出模型,否则重新返回执行步骤二,再次进行上述流程进行判断是否收敛。
[0071]
步骤四:模型更新
[0072]
模型的更新分为两部分:线性网络的更新与脉冲神经网络的更新。
[0073]
首先是对线性网络的更新。采样完成之后,采用如下公式(7)计算梯度,其中为保存的智能体网络的副本,每隔固定轮次之后拷贝的权值进行更新,用于缓解智能体q值
估值偏大的问题;对应网络对于状态z下采取动作y的估计q值;b为当前批次采样得到的数据。
[0074][0075]
在计算完梯度之后,使用随机梯度下降方法更新网络的权值,同时为了限制网络的更新速度,采取如下公式(8)所示的滑动平均的方式进行软更新。
[0076][0077]
接着是脉冲神经网络的更新。本实施例使用粒子群方法对脉冲神经网络进行更新,群大小设置为13,每个粒子的适合度由超过100回合的平均奖励给出,粒子群的优化方式如公式(9)所示,i对应群中的第i个粒子,为粒子的当前位置,a为粒子的速度,c1、c2为对应的学习率,rand()为0-1之间的随机数,pbest为自身的最佳过去位置,gbest为整个群或近邻的最佳过去位置,本发明中,粒子位置第i维的值对应缩放脉冲神经网络的第i层。
[0078][0079]
其中,
[0080]
需要说明的是,在上述实施例中,步骤一主要工作是环境的建模和模型的初始化,步骤二主要工作是与环境交互收集数据,步骤三和四主要工作是更新模型。其中,步骤二中智能体的激活函数采取的是脉冲神经网络p,此处的p采取lif(leaky integrate and fired,lif)神经元的实现方式,它的传输过程如公式(10)-(12)所示,首先,计算输入h,它由多个输入累加得到,随后lif神经元累积输入h到模电压em,再计算em与临界电压e
th
差值得到最后的输出脉冲θ。公式中f为单位阶跃函数,满足输出1,不满足输出0,w和b为权值和偏置,其中权值是通过输入特征一系列计算得到的。
[0081][0082]em
(t)=vm(t-1) h(t)-e
th
θ(t)
ꢀꢀꢀ
(11)
[0083]
θ(t)=f(em(t)-e
th
)
ꢀꢀꢀ
(12)
[0084]
与传统的人工神经网络不同,脉冲神经网络需要进行一段时间的模拟,以生成脉冲序列并解释所产生的活动,仿真是在离散时间步骤中完成的。
[0085]
在上述实施例的基础,得到优化模型,进而得到更加精确的判断标签,若该标签属于预设的警报标签范围,则认为发现可疑传输,发出警报,进而提升网络安全。
[0086]
本发明提供的强化学习入侵检测方法采用脉冲神经网络的方法来进行入侵检测,训练一个引入脉冲神经网络的智能体来判定系统是否被入侵及入侵者的攻击类型,以强化学习的方式对入侵检测问题进行建模,然后使用神经网络提取输入的特征,接着使用深度q网络进行线性网络的训练,使用粒子群方法更新脉冲神经网络的参数,提升系统对于入侵行为检测的检测准确率和鲁棒性。
[0087]
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献