模块化免疫神经网络模型在计算机病毒分类检测中的
0 引言
本文引用地址:http://www.amcfsurvey.com/article/202688.htm随着信息技术的发展和互联网应用的普及,计算机系统受到计算机病毒的威胁。计算机病毒分类检测,指将可疑文件作为输入,执行某病毒检测算法后输出结果(无毒、带毒/带何种毒)的过程,实质上是对文件的分类。病毒分类检测应属于模式识别范畴。由于单一的技术无法有效地对抗计算机病毒,技术的融合并用及智能化,将是未来计算机病毒检测的趋势。故采用免疫算法和神经网络的新型网络模型,对计算机病毒分类检测进行研究。
人工神经网络和人工免疫系统都是受生物学的启发发展而来的理论和技术,两者在生物学原理和人工原理上各有异同。研究表明,免疫原理可以应用到神经网络中,以提高神经网络的性能;反之,神经网络理论也可以应用到人工免疫系统中,从而产生一个相互之间可以受益的研究领域。
图1中,抗原(Ag)表示神经网络中输入神经元到输出神经元的权向量Wk(由抗体Ab和自体库集S共同作用后,基本调节好的权向量),基于计算机病毒的入侵检测中,代表一类网络数据包,以二进制串表示。抗体(Ab)表示神经网络中的输入样本。S代表自体库集合。权值及输入样本和输出单元都使用二进制,即只使用0和1表示,如图2。
首先抗体库中的向量都会和白体库的向量进行识别。如果抗体库中的向量一旦和自体库中的向量匹配,则会进行剪枝操作。
沿用传统的抗体网络特征,规定ξj表示网络中抗体j的抗原浓度,即抗体j所能识别的抗原个数。1个抗体细胞k与某种抗原细胞的亲和力,由权向量与该抗体的汉明距离(Hamming)决定,可由式(1)得到与Ag可能性的最大状态序列δ:
亲和力δ越大,说明这种抗体能够对此抗原进行较好的应答,保留。相反,通过剪枝的方式,从网络中删掉。把不与自身反应的抗体保留,进行对抗原的识别,进行后续的工作。
否定选择后的抗体与抗原进行神经网络的作用,规则如上,如果抗体不匹配,按照已有的神经网络的权值算法的改进步骤进行权值的调整,以达到在给定抗体空间中拥有最大的解空间度,即2个抗体之间有最大的不相同度。
更新抗体种群,经过若干次的叠代运算,把抗体种群训练收敛于一个较稳定的集合,即学习过程完毕。学习完成后,可以用于计算机病毒检测中。
2 模型设计思路
整个网络的竞争学习步骤分为2部分:
第1部分:首先从抗体库里根据概率密度P(Ab)选择出1个抗体进行输入。并和自体库S进行运算,并设定阈值ε,当满足式(2)时:
抗体经过了自体耐受,变为成熟的检测器,且不与自体发生免疫应答,是合格的检测器。如果超过阈值ε,则从网络中删除此抗体节点。抗体Ab1和自体集S中的S1产生了免疫应答。
第2部分:经过自体耐受的抗体分别和某个抗原Agk进行作用,在抗体内部设定1个ξi,一旦抗原的权向量和抗体的汉明距离超过阈值ε,ξj增加1,如果ξj长时间等于0,将此抗体从网络中删去。当ξj增加到1个常值M时,不再继续增加,启动1个计时器,按一定的间隔时间t递减ξj,避免了长时间未产生应答的抗体继续残留在抗体库中。新模型中的神经网络处理单元如图3。
评论