一种基于GA-PSO-DBN的入侵检测方法
技术领域
本发明涉及入侵检测网络安全领域,具体涉及一种基于GA-PSO-DBN的入侵检测方法。
背景技术
互联网的快速发展和广泛应用给网络用户带来了极大的便利,但同时也使得网络安全形势愈发严峻,安全防护技术日益成为人们关注的焦点。当前,网络环境不断地复杂化,网络入侵行为的数据出现特征维度高、数据量多、冗余度大等特性。传统的入侵检测模型对特征的选择十分依赖,在处理高维度、非线性的海量数据上存在很大局限。深度学习技术可以从海量数据中有效提取入侵数据的深层特征,从而能够更好地检测入侵行为。
深度信念网络(Deep Belief Network,DBN)是由多层受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)网络和单层反向传播(Back Propagation,BP)网络依次堆叠构成的深层神经网络。面向入侵检测提出的深度信念网络模型,很多研究者主要对其网络结构(隐藏层层数及其神经元个数)进行改进优化,忽略网络参数(连接权重和偏置值)对模型性能的影响。对于DBN模型,其初始连接权值具有指向性且易陷入局部最优,从而影响整个模型识别入侵行为的检测性能。
粒子群优化算法规则简单、搜索速度快以及易于实现,但是容易陷入局部最优无法跳出,而遗传算法是通过模仿自然选择过程来寻找最优解的进化算法,能够有效进行概率意义的全局搜索。将这两种算法思想混合,形成遗传-粒子群混合优化算法(HybridGenetic Algorithm-Particle Swarm Optimization,GA-PSO),既保留了粒子群优化算法良好的局部寻优能力,还利用遗传算法的全局搜索能力,可以有效提高问题的求解精度。
发明内容
为了使入侵检测模型的网络参数具有极强的全局搜索和局部寻优自适应能力且不会产生早熟收敛现象,本发明提出一种基于遗传-粒子群混合优化算法-深度信念网络(Deep Belief Network Based on Hybrid Genetic Algorithm-Particle SwarmOptimization,GA-PSO-DBN)的入侵检测方法,利用遗传-粒子群混合优化算法确定深度信念网络模型的网络参数(即网络连接权重和偏置值),并将改进后的深度学习模型应用到入侵检测,从而提高模型的自适应和泛化能力,使得模型在检测准确率、检测率以及误报率方面具有较高的优势。
为实现上述目的,本发明具体技术方案如下:一种基于GA-PSO-DBN的入侵检测方法,包括如下步骤:
1)初始化网络拓扑结构,包括初始化深度信念网络模型的层数N和初始化每层节点数m1、m2…mn;
2)计算初始网络连接权值的个数p和初始偏置值的个数q;
3)利用遗传-粒子群混合优化算法计算深度信念网络模型的最优网络连接权值和最优偏置值;
4)生成面向入侵检测的深度学习模型;
5)利用训练好的深度学习模型分类测试集,根据对测试集中的各类型入侵行为数据的检测准确率和误报率评估入侵检测性能。
进一步的,上述步骤2)中,初始网络连接权值的个数p计算公式如下:
p=m1×m2+m2×m3+…+mn-1×mn;
初始偏置值的个数q计算公式如下:
q=m1+m2+…+mn。
进一步的,上述步骤3)中,包括如下步骤:
3.1)计算GA-PSO混合优化算法中粒子位置维度d,公式为d=p+q;
3.2)定义GA-PSO混合优化算法的适应度函数,定义公式如下:
式中,n、m分别代表样本数量和观测数据维度,xki、x'ki分别代表真实值和重构值;
3.3)对原始数据进行预处理,得到归一化后的特征属性值y*,归一化公式如下:
y为特征属性值,ymax、ymin分别为该属性的最大值和最小值;
3.4)设置GA-PSO混合优化算法的参数,包括种群规模m、迭代次数阈值T、学习因子c1、c2、惯性权重系数wt的调整范围;
3.5)构建粒子在d维空间的位置向量和速度向量,其中,第i个粒子的位置向量记为xi=(xi1,xi2,...,xid),第i个粒子的速度向量记为vi=(vi1,vi2,...,vid);
3.6)初始化具有m个粒子的种群s、粒子自身搜索到的最优位置pi和种群所有粒子中发现的的最优位置pg,其中s={x1,x2,...,xm},pi=(pi1,pi2,...,pid),pg=(pg1,pg2,...,pgd);
3.7)利用粒子群优化算法更新粒子速度和位置;
3.8)利用遗传算法中的交叉和变异操作更新粒子速度和位置;
3.9)判断当前迭代次数是否大于迭代次数阈值T,如果迭代次数大于T,则停止算法执行,得到深度信念网络模型的最优网络连接权值和最优偏置值并输出,转步骤4),否则转步骤3.7);
进一步的,上述步骤4)中,所述深度学习模型的生成方法包括如下步骤:
4.1)模型预训练,即通过对比散度算法的快速学习方法对RBM网络进行逐层无监督训练,更新RBM网络的模型参数θ,直至达到预训练的迭代次数阈值T1;其中θ={W,a,b},W为RBM网络中可视层v和隐藏层h之间的连接权值矩阵,a、b分别表示隐藏层和可视层的偏置向量;模型参数θ更新公式如下:
式中,v1、h1表示v经过CD-1算法后重构的可视层单元和隐藏层单元;
4.2)利用BP算法对模型中的权值进行微调,直至达到权值微调的迭代次数阈值T2。
进一步的,上述步骤3.6)中,利用粒子群优化算法更新粒子速度和位置的方法包括如下步骤:
3.6.1)设置粒子自身最优位置,即对每个粒子,比较当前位置的适应度值和自身历史最优位置pi的适应度值大小,若当前位置的适应度值小,则pi重置为当前粒子位置;
3.6.2)设置种群最优位置,即对每个粒子,比较当前位置的适应度值和种群历史最优位置pg的适应度值大小,若当前位置的适应度值小,则将pg重置为当前粒子位置;
3.6.3)分别对粒子的速度和位置进行更新,其中粒子速度更新公式如下:
粒子的位置更新公式如下:
式中,t为当前迭代次数,r1、r2是服从正态分布于[0,1]之间的两个随机数。
进一步的,上述步骤3.7)中,利用遗传算法中的交叉和变异操作更新粒子速度和位置包括如下步骤:
3.7.1)利用交叉操作对粒子的速度和位置进行更新,即从所有粒子中以一定的交叉概率选择待交叉的粒子,然后两两随机组合进行交叉操作产生相同数目的后代粒子,并用后代粒代替双亲粒子,其中粒子的速度更新公式如下:
粒子的位置更新公式如下:
式中,其中α是小于1的正实数,childk(v)、parentk(v)(k=1,2)分别表示后代粒子和双亲粒子的速度;childk(x)、parentk(x)(k=1,2)分别表示后代粒子和双亲粒子的位置;
3.7.2)利用变异操作对粒子的位置进行更新,即采用xi,old代替第i个粒子历史最优位置pi,xg,old代替种群历史最优位置pg,以及xi,old的累计差的算数平均Δxi,old代替vi,其中
Δxi,old计算公式如下:
粒子的位置更新公式如下:
本发明利用遗传-粒子群混合优化算法和深度信念网络相结合以确定训练模型的初始网络连接权重和偏置值,将优化后的GA-PSO-DBN模型用于入侵检测领域,有效解决深度信念网络的连接权值具有指向性且容易产生早熟收敛的问题,从而模型具有较强的自适应和泛化能力,可以提高整个方法检测入侵行为的检测性能。
附图说明
图1为本发明中基于GA-PSO-DBN的入侵检测方法的执行流程图。
图2为本发明中GA-PSO混合优化算法的执行流程图。
图3为本发明中深度信念网络模型的结构图。
具体实施方式
下面结合附图以及具体实施例对本发明作进一步的说明,需要指出的是,下面仅以一种最优化的技术方案对本发明的技术方案以及设计原理进行详细阐述,但本发明的保护范围并不限于此。
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。
本发明的基于GA-PSO-DBN的入侵检测方法是将遗传-粒子群混合优化算法和深度信念网络相结合,提出一种面向入侵检测的深度学习模型,利用遗传-粒子群混合优化算法确定深度信念网络模型的最优初始网络参数(即网络连接权值和偏置值),并将改进后的深度学习模型应用到入侵检测。
基于GA-PSO-DBN的入侵检测方法执行流程如图1所示,,包括如下步骤:
1)初始化网络拓扑结构,即确定深度信念网络模型的层数N以及其每层节点数m1、m2…mn;
具体实施例中,设置深度信念网络模型的层数为5,各层节点数从底层到高层依次为122、100、80、50和30;
2)计算初始网络连接权值的个数p和初始偏置值的个数q,其中
p=m1×m2+m2×m3+…+mn-1×mn,
q=m1+m2+…+mn;
3)利用遗传-粒子群混合优化算法计算深度信念网络模型的最优网络连接权值和最优偏置值;
本发明中,对于DBN模型,其初始连接权值具有指向性且易于陷入局部最优,从而影响整个网络进行特征提取的学习能力,并且降低模型的训练效果,利用GA-PSO混合优化算法计算最优网络连接权值和最优偏置值,其执行流程如图2所示,包括如下步骤:
3.1)确定GA-PSO混合优化算法中粒子位置维度d,每个粒子的位置表示网络连接权值和偏置值的集合,其中d=p+q;
3.2)定义GA-PSO混合优化算法的适应度函数,将RBM网络的可视层和吉布斯采样重构的可视层之间的平均绝对误差作为该混合优化算法的适应度函数,其定义公式如下:
式中,n、m分别代表样本数量和观测数据维度,xki、x'ki分别代表真实值和重构值;
3.3)对原始数据进行预处理,得到归一化后的特征属性值y*,即首先对输入的数据进行属性映射,将符号型特征转变成数值型数据,然后进行归一化处理,其定义公式如下:
式中,y*为归一化后的特征属性值,y为特征属性值,ymax、ymin分别为该属性的最大值和最小值;
3.4)设置GA-PSO混合优化算法的参数,包括种群规模m、迭代次数阈值T、学习因子c1、c2、惯性权重系数wt的调整范围;
3.5)构建粒子在d维空间的位置向量和速度向量,其中,第i个粒子的位置向量记为xi=(xi1,xi2,…,xid),第i个粒子的速度向量记为vi=(vi1,vi2,…,vid);
3.6)初始化具有m个粒子的种群s、粒子自身搜索到的最优位置pi和种群所有粒子中发现的的最优位置pg,其中s={x1,x2,...,xm},pi=(pi1,pi2,...,pid),pg=(pg1,pg2,...,pgd);
3.7)利用粒子群优化算法更新粒子速度和位置;
3.7.1)设置粒子自身最优位置,即对每个粒子,比较当前位置的适应度值和自身历史最优位置pi的适应度值大小,若当前位置的适应度值小,则pi重置为当前粒子位置;
3.7.2)设置种群最优位置,即对每个粒子,比较当前位置的适应度值和种群历史最优位置pg的适应度值大小,若当前位置的适应度值小,则将pg重置为当前粒子位置;
3.7.3)分别对粒子的速度和位置进行更新,其中粒子速度更新公式如下:
粒子的位置更新公式如下:
式中,t为当前迭代次数,r1、r2是服从正态分布于[0,1]之间的两个随机数;
3.8)利用遗传算法中的交叉和变异操作更新粒子速度和位置;
3.8.1)利用交叉操作对粒子的速度和位置进行更新,即从所有粒子中以一定的交叉概率选择待交叉的粒子,然后两两随机组合进行交叉操作产生相同数目的后代粒子(即对粒子的速度和位置进行更新),并用后代粒代替双亲粒子,其中粒子的速度更新公式如下:
粒子的位置更新公式如下:
式中,其中α是小于1的正实数,childk(v)、parentk(v)(k=1,2)分别表示后代粒子和双亲粒子的速度;childk(x)、parentk(x)(k=1,2)分别表示后代粒子和双亲粒子的位置;
3.8.2)利用变异操作对粒子的位置进行更新,即采用xi,old代替第i个粒子历史最优位置pi,xg,old代替种群历史最优位置pg,以及xi,old的累计差的算数平均Δxi,old代替vi,其中
Δxi,old计算公式如下:
粒子的位置更新公式如下:
3.9)判断当前迭代次数是否大于迭代次数阈值T,如果迭代次数大于T,则停止算法执行,得到深度信念网络模型的最优网络连接权值和最优偏置值并输出,转步骤4),否则转步骤3.6);
4)生成面向入侵检测的深度学习模型(GA-PSO-DBN),即利用最优网络连接权值和最优偏置值对DBN模型进行预训练,利用随机抽取的部分标签信息对网络进行微调;
本发明中,如图3所示,采用DBN对原始数据进行特征提取,通过多层RBM网络级联,底层RBM网络的可视层接收原始数据的特征向量,然后向上传播,逐步抽象化原始特征,从而将其映射至不同的特征空间,提取出更适合后续分类的组合特征。训练深度信念网络模型可以被分为无监督的预训练和基于有监督的反向传播算法的权值微调两个过程,包括如下步骤:
4.1)模型预训练,即通过对比散度(ContrastiveDivergence,CD)算法的快速学习方法对RBM网络进行逐层无监督训练,更新RBM网络的模型参数θ,直至达到预训练的迭代次数阈值T1;其中θ={W,a,b},W为RBM网络中可视层v和隐藏层h之间的连接权值矩阵,a、b分别表示隐藏层和可视层的偏置向量。模型参数θ更新公式如下:
式中,v1、h1表示v经过CD-1算法后重构的可视层单元和隐藏层单元。
具体实施例中,设置T1为50;
4.2)利用BP算法对模型中的权值进行微调,直至达到权值微调的迭代次数阈值T2;具体实施例中,设置T2为15;
5)利用训练好的深度学习模型分类测试集,根据对测试集中的各类型入侵行为数据的检测准确率和误报率评估入侵检测性能。