基于BP神经网络的软件可靠性安全性评价方法
基于BP神经网络的网络安全评价方法研究

中图法分 类号 : P 9 T 33
文献标 识码 : A
文章 编号 :0 07 2 2 o )t b t . i h e l se n l o t m a e nr u h s t t u e. g t dcu tr g ag r h b s do g e i r we i i o
2 .Deat et f o ue c n e n eh oo,T i a nv rt, aa 7 0 1 C ia pr n o C mp t Si c dT cn ly a hnU i s T in2 12 , h ) m r e a s ei y ’ n
Ab t a t Newo k s c rt v l e o u e, t l c mmu ia i n p y i s m ah b o o y ma a e n , s c a n a y o h r sr c : t r e u i i ov sc mp t r ee o yn n c to , h sc , t, ilg , n g me t o i l dm n t e a
o nAHP whc a e s do o rh n ieas sme t f e oks c r , , ihC b e nc mp e e sv ses n n t r eu i Byti y mo esin i ca dr ao a l s l a n u o w y t swa , h r ce t sn ber ut cn i f n e e s b b an d T en w e dmeh da e rv d df r v rla ssigsc rt tt s f o ue e o ks se . Th td eut eo ti e . h e i aa to r o ie o eal se sn e u i sau mp tr t r y tm d n p o y oc nw es yrs l u s h v o n e rt a au db o da piainp op cs nt ee au t na dc ric t n o n t oks c r . a ei  ̄a th oei l lea r a p l t r s e t v lai n et ai f e r eu i mp t c v n c o o h o i f o w y t Ke r s e ok sc rt; eu i ses n; n ayia ir c yp o es weg t atf il e rl e ok ywo d : t r e ui s c r as sme t n w y y t a ltc l ea h r c s; h r ih ; ri ca u a t r i n nw
基于BP神经网络的信息安全风险评估

文 章编 号 :0 2 8 3 (0 7 0 — 19 0 文献 标 识 码 : 中 图分 类 号 : P 9 10 — 3 1 20 )10 3 — 3 A T33
1 引言
信 息安全风险评估 , 指依据有关 信息技 术标准 , 对信息 系 统 及 由其处理 、 传输和存储 的信息的保密 性、 整性 和可用 性 完
定量方法 。 主要的评价方法有 层次分析法、 决策树分 析法 、 马尔 可夫建模 等 , 但是这 些方法具 有很强的人为性 。 响评 价结果 影
的准 确 性 和 客 观 性 。 本文 采 用 定性 和定 量 相 结 合 的 方 法 评 价 信
息安全的风险等级 , P神经 网络的应用 , B 很好 地克服 了评 价中
维普资讯 //
C m u rE gneiga d A pi ̄ n o p t nier n p l tos计算 机工程与应用 e n ci
20 ,3 1 19 074 () 3
基于 B P神 经 网络 的信 息安全风 险评估
赵 冬梅 。 海峰 。 晨光 刘 刘
摘
耍 : 文详 细给 出了信 息安 全 的 风 险 评 估 流 程 厦 评 价 方 法 。 论 建立 的 信 息 安 全 风 险评 估 体 系采 用 B P神 经 网络 方 法 。 一 种 非线 是
性 方法 , 不带有 明显的主观成分和人为因素, 使评价结果更有效 、 更客观 。实例表明计算结果贴近成功案例结果。
i n nierm t d, pl d t ik ass n m d lo nom t n scryT e s b cit n a - ae i oecme t s o l a e o i a pi o r es t o e fi r ai eui .h uj t i a d m n h s e s s me f o t e vy n m d s vro . ’ Is
基于BP神经网络的网络安全评价方法研究

况下,建立 了可靠、 有效 的网络安全 综合评价模 型。通过 实例 对 网络安全进行研 究 , 选择合适 的学习样本及参数进
行训 练, 并获得较好的评价结果 , 评价 结果客观 、 正确 , 算结果贴近成 功案例结果。 计
关键词 : B P神 经 网络 ;
第l O卷
第 4期
山 东商 业职 业技 术 学 院 学 报
J u n lo h n o g I si t fC mme c n e h oo y o r a fS a d n n t u e o o t re a d T c n l g
V 1 1 No 4 o. 0 . Au . 0 0 g 2 1
Ab t a t F rt h s p p r ito c d h a i h o e sr c : is ,t i a e n r du e te b sc t e r s,ag rt ms a d dee t f BP Ne r l Newo k. i lo ih n tc s o u a t r Co li g wi h a i rncp e nd se o sa ls i g BP—mo e ,i e tbl h d r la e a d e e tv e— mpy n t t e b sc p i i ls a tpsf re tb ih n h d l t sa i e eibl n f cie n t s wo k s c rt o r e u y c mpr h nsv v l a in mo e .Th o g e wo k s c rt a e su y n i e e i ee au t d 1 o r u h n t r e u y c s t d i g,a pr p ae tan n e a i p o r t r i i g s td — i t n a a tr ee to a a d p r me e ss lc in,b te v l ai n r s lsh v e n a he e et re au t e u t a e b e c iv d.Th v l ai n r s lsa e i o ee a u to e u t r mpe s n la d ro a n c re t r s i g co e t h e u t ft e s c e su a e . o r c ,p e sn l s o t e r s ls o h u c sf lc s s Ke y wor BP u a t r n t r e u t mo e ;n e fe au to ds: Ne r lNewo k; ewo k s c r y; d l i d x o v la in i
基于自适应BP神经网络的计算机网络安全评价

非线性特性有效预测。人工神经网络克服了传统方法 中 难 以 构 建 统 计 模 型 的 缺 陷 ,具 有 实 现 简 单 、鲁 棒 性 强 等特点,可有效评估计算机网络安全。
BP 神经网络作为目前应用最为广泛的神经网络, 其采用基于梯度的最速下降法,以误差平方为目标函数 进行全局搜索,因而具有较强的非线性映射能力和高度 自学习自适应能力。同时,BP 神经网络在模式分类过 程充分考虑网络中分类对象的正确分类以及学习训练 后 模 式 及 噪 声 污 染 的 分 类 ,因 而 具 有 较 强 非 泛 化 能 力 。 此外,BP 神经网络还具有较强的容错能力,当网络中局 部神经元受损时,整个系统还可继续完成相应的任务。
ZHAN Jun
(Jingdezhen University,Jingdezhen 333000,China)
Abstract:Since the modern computer network has the problems of various security evaluation indicators and strong nonlinear characteristic of each indicator,and the traditional evaluation method has difficult operation and low accuracy,an evaluation al⁃ gorithm of computer network security based on adaptive BP neural network is proposed. In the algorithm,the artificial fish swarm algorithm(AFSA)is established to optimize and determine the structure parameters of the traditional BP neural network, and then the sample indicators are trained and learned according to the optimized network,finally the validity of the algorithm is tested and evaluated by means of the test data of expert evaluation. The simulation experiment results show that the algorithm has the validity in the evaluation of computer network security.
BP神经网络在安全评价中的应用

( h aU irt C/ nvsyo n gadTcnl g X zo ,J  ̄s 2 16 n e i fMin e o y uhu i gu2 11) i n h o a
Ab t a t T o v h i iu t so ri ca a tr n ua t l gw e r dt n l x e in e—b s d me o r s d i s s e s n ・ s r c o s le t e df c l e f t i fco sa d q ni n h n t i o a p re c i a f l i z a i e a e t d a eu e nr ka s s me t h i n u a ewok si t d c d,w ih r d c st ee e t f ri ca a tr n k eq a tzt n t ep s il e r ln t r si n r u e o h c e u e f cso t i fco sa d ma e t u n i i ob o s e.B td ig te oii a h a f l i sh ao b y s yn r n u h g l
s t oii s dey p l e . c
Ke wo d n u a e o s s f t ss me t q a t ig a ay i y rs e r ln t r ae y a e s n u n i n n lss w k s z
安全 性 评 价 是 促 进 生 产 一 线 班 组 安 全 生 产 的一 种 有 效
性 。B P网 络 是 一 种 多 层 前 向 反 馈 神 经 网 络 , 网 络 拓 卜结 其
网络 来 评 价 企 业 的安 全 状 况 。 2 B P网 络在 安 全 评 价 中 应 用
基于LM-BP神经网络的软件质量综合评价

基于LM-BP神经网络的软件质量综合评价郑鹏【摘要】由于传统软件质量评价存在主观性等缺陷。
针对这种情况,提出基于LM‐BP神经网络的软件质量综合评价方法。
算法以ISO/IEC 9126为软件质量度量标准,解决了标准BP算法存在的问题,建立了LM-BP神经网络软件质量综合评价模型,为软件质量综合评价提供了一种新的方法。
实验结果表明,LM-BP神经网络的软件质量综合评价能客观、定量、快速且准确得到软件质量综合评价结果,该评价模型具有客观性和实用性。
%Because traditional software quality evaluation has some defects such as subjectivity , we proposed a method based on levenberg marquardt-back propagation(LM-BP) neural network software quality comprehensive evaluation .Based on ISO/IEC 9126 software quality model ,the algorithm solves the problems existing in the standard BP algorithm ,establishes the LM-BP neu‐ral network software quality comprehensive evaluation model ,and offers a new method forcom‐prehensive evaluation of software quality .Experimental results show that the LM-BP neural net‐work software quality comprehensive evaluation is objective ,quantitative ,fast and accurate .The evaluation model is objective and practical .【期刊名称】《山东理工大学学报(自然科学版)》【年(卷),期】2016(000)003【总页数】5页(P74-78)【关键词】软件质量;ISO/IEC 9126标准;神经网络;LM-BP;综合评价【作者】郑鹏【作者单位】莆田学院信息工程学院,福建莆田351100【正文语种】中文【中图分类】TP311.52软件产品质量的评价,即软件产品质量特性的检测与度量.随着计算机技术和软件产业的发展,软件质量评价成为软件工程领域的热点问题.神经网络方法是通过模拟大脑神经网络处理、记忆信息的方式进行信息处理,具有自我学习以及自适应的能力.将神经网络应用于软件质量评价之中,能克服传统软件质量评价方法的一些缺陷,能快速、准确地得到软件质量评价结果.为量化且客观地对软件质量进行评价,本文以ISO/IEC9126软件质量为度量标准,利用改进的BP神经网络算法来建立软件质量综合评价模型,并应用构建的算法模型对软件质量进行评价.神经网络[1]是一种以动物的神经网络行为特征作为模拟对象的分布式数学模型,通过模拟对信息进行并行分布式处理.神经网络是把若干个可以调整的神经元的权值连接起来,具有可大规模并行处理以及优良自我组织、自我学习能力等特点,在计算机处理、智能信息控制等诸多领域得到很好的应用.迄今为止,神经网络已发展成为了数十种优秀的模型,比如: Hinton模型、Hopficld模型、以及Kohonen的自我组织网络模型和Rumelhart等的多层自我感知机模型等等.其中,应用最广泛的是多层感知机神经网络[2],即BP网络.BP因其采用误差反向传播算法而得名,上个世纪八十年代,D.E.Rumelhart与McCelland等几个科学家提出了BP算法,BP算法的特点是结构比较简单且容易实现.经过了数十年的发展,在实际应用中已经有了很多的神经网络模型变式.BP网络的结构是一种分层型的网络,由三层:输入层、隐层和输出层组成(图1).BP网络各层之间既互连又独立,网络的各层间全互连,每一层中的各单元则相互独立.BP网络中可有一个或多个的隐层.BP算法步骤如下:(1)选择学习训练集,设定n个学习样本.(2)参数的初始化,即对神经网络模型中涉及的权值和阀值初始化赋值,初始值通常设为(-1,1)之间的随机数,并将训练集里的各个样本实行归一化处理.(3)计算将输入层中的加权数据输入到隐含层中的激活函数得到的新值,再进行加权输入处理到输出层激活函数以得到输出层的计算结果.(4)如果计算的结果与预期结果存在误差,那调整权值、阀值并重新计算每一层的输出结果直至误差在误差范围内为止.标准BP网络算法的优点是:结构严谨、可操作性强等,但BP算法在收敛过程中存在收敛速度比较慢、“局部最小值”问题以及学习速率不易确定的缺点.这些缺陷可以通过Levenberg-Marquardt BP算法(简称LM-BP算法)来克服.相对于普通的神经网络算法LM-BP优化算法的鲁棒性好、收敛速度快.LM-BP算法是把高斯牛顿算法与梯度下降算法的结合起来,同时改善了快速特性和全局收敛特性,进而最终有效的改进收敛性能.LM-BP算法的基本思想就是在应用中要解决非最优点奇异性的问题,做法是让目标函数在靠近最优点时对极值点附近的特性近似二次性,以加快寻优收敛过程.对于新的权值与阀值的计算,可设x(m)以表示第m次的迭代里权值与阈值组成的向量,新的向量xm+1可表示为:x(m+1)=x(m)+ΔxLM-BP算法是改进的高斯—牛顿法,其形式[3]为:Δx=-[JT(x)J(x)+μI]-1J(x)e(x)式(2)中比例系数μ>0为常数,I是单位矩阵.当比例系数μ取值为0时,式(2)就是高斯—牛顿算法.算法在μ的取值变大时就会靠近梯度下降法.随着成功迭代次数的增加,μ的值会减小.高斯—牛顿法的计算速度和精度在接近误差最小值时会变得更快、更高.通过许多的实例证明,采用了近似二阶导数信息的LM-BP算法的速度可比梯度下降法的速度高数十倍以上.除此之外,因为[JT(x)J(x)+μI]本身是正定的,因此式(2)中的存在解,从这方面来看,LM 算法也比高斯—牛顿法来的优.软件产品中衡量明确或隐含的能力的有关特征的指标综合,即是软件质量.软件质量的评价评估,是充分保障质量的重要方法.软件产品的相关质量特性,通常采用经过确认或被广泛接受之尺度来评估.ISO/IEC 9126软件质量模型是国际标准化组织制定的一种评价软件质量通用模型.该标准定义了六种质量特性,并描述了软件质量评估过程的模型.ISO/IEC 9126软件质量度量模型[4-5]分为特性、子特性和度量三层.该度量模型中,一个质量特性由一些子特性来衡量,而每一子特性又由若干个指标来度量.按照独立与最小关联的原则,ISO/IEC 9126把软件产品划分为六大个质量特性:功能性(Enctionality)、可靠性(Reliability)、易用性(Esability)、效率(Efficiency)、维护性(Maintainability)和可移植性(Portability) (如图2所示),并选择了与其对应的21个子特性.ISO/IEC 912软件度量模型中包含的软件度量指标体系,这些指标体系针对的度量模型的三层,涵括了软件内、外部质量度量的因素,都为定量客观的评价软件质量打下基础,更为质量控制作了坚实的保障.4.1 指标体系及评价分级标准依据ISO/IEC 9126标准,选取功能性、可靠性、易用性、效率、维护性、可移植性这6大特性以及下属的21个指标作为软件质量综合评价的评价指标,用I1~I21表示(表1)[6].确定指标体系后,把软件质量根据评价结果分为4个等级,分别用V1,V2,V3,V4来表示软件质量的优秀,良好,合格,不合格.向量表示为优秀V1=(1,0,0,0),良好V2=(0,1,0,0),合格V3=(0,0,1,0),不合格V4=(0,0,0,1).4.2 确定神经网络的拓扑结构神经网络的模型的确定需要先设定其拓扑结构:每层的节点数,以及隐含层的层数.根据21个评价指标,因此输入层的神经元个数个数可以确定为21.根据评价结果的评价等级,可确定输出层的神经元个数为4.隐含层的层数设为1.最后,根据经验公式和学习训练结果相结合来确定隐含层的神经元的个数.本文采用通常用于分类的经验公+a来设计.式中:i为输入层神经元数;o为输出层神经元数;v为隐含层神经元数;a为[1,10]之间的常数.按照测试的情况以及实验经验,将隐含层神经元数设定为7.因此,最终得到的拓扑结构为(21,7,4).4.3 模型参数及数据初始化对模型进行初始化[8],包括设定训练精度、学习因子,提供网络初始权重文件、学习样本文件.对于样本数据,训练之前将数据处理在[0,1]之间,可按式(3)进行归一化处理:x′=(x-xmin)/(xmax-xmin)设输入向量为P=[p1,p2,…,pC]T,输出向量为t;中间层激活值向量为U=[u1,u2,…,um1]T,中间层输出变量为Z=[z1,z2,…,zs1]T;实际输出向量为;输入层与隐含层的连接权值向量为W1ab,a=1,2,…,m1;b=1,2,…,C;隐含层与输出的连接权值向量为W2ab,a=1,2,…,m2;b=1,2,…,m1.4.4 计算模型实际输出利用非线性激活函数计算隐含层的输入激活值U=W1×P以及隐含层的输出值.这样可以计算输出层单元的输入O=W2×Z和实际的输出向量:=f(O),接着可以得出各样本的误差、误差的信号项和对权的偏导数:b,最后把计算的每个权值偏导数填入到Jacobian矩阵,并将所有训练样本输入.4.5 权值调整为满足迭代要求,利用递归方法按以下公式调整权值让输出节点返回到隐层节点:Wk+1=Wk-[JT(WK)J(WK)+μI]-1JT(Wk)E(Wk)对权值矩阵迭代,直至满足停止迭代要求为止.4.6 软件质量综合评价在进行软件质量综合评价前,应选取多组能尽可能地反映各种软件质量等级软件质量的特征参数值供网络系统作为学习样本学习.网络系统在确定各层输入输出节点及隐节点并调整权值并进行学习训练后,形成了一个推理机制,最终构成一个可进行软件质量综合评价的知识库.此外,还可以利用每次的软件的评价结果不断更新原有的软件质量评价知识库.如此,在对待评价软件进行软件质量评价时,只需要在训练好的网络评价模型中输入指标值,经过模型计算,即可得到该软件质量的综合评价值.该标准定义了六种质量特性,并描述了软件质量评估过程的模型.笔者根据软件质量标准化自评和正式评价的结果及相关资料,结合评分标准,收集了20组数据,其中前18组作为训练样本建立软件质量综合评价知识库,最后两组作为检验样本(表2).5.1 网络参数设置与训练本文使用MATLAB编写程序进行仿真.当采用经典BP算法时,根据以上所述的神经网络模型生成神经网络,系统原始初始化权值以及隐藏层和输出层的阈值后,设定学习率为0.3、最大训练次数为100000以及误差精度为0.00001,输入训练集中的样本数据,对神经网络进行训练.历时262s,经过29736次迭代之后,训练结束(图3).当采用LM-BP算法时,根据以上所述的神经网络模型生成神经网络,系统原始初始化权值以及隐藏层和输出层的阈值后,设定学习率为0.25、最大训练次数为100000、隐含层神经元数为7以及误差精度为0.00001,阀值初始化为0,输入训练集中的样本数据,对神经网络进行训练.历时8s,经过8次迭代之后,训练结束(图4).本文采用仿真的计算机硬件配置是:CPU为Intel(R) Celeron(R) G530,内存1G,硬盘120G.5.2 实例验证系统训练后,使用最后2组数据验证的指标值(表2),经过模型验证计算出最终的计算输出结果(表3).实例证明,实际的评价结果和改进算法的预测结果一致,由此可以证明此LM-BP神经网络综合评价方法能够达到预期效果.5.3 与标准BP算法的比较从图3、图4的训练曲线与表3的评价结果中发现,相比于标准的BP算法,采用LM-BP算法的模型精度优于标准的BP算法.LM-BP算法的误差在训练中急剧下降,可见该算法可节省大量的训练时间,运算速度比标准BP算法快很多.样本的预测结果说明此网络的收敛速度不仅快,而且收敛性也很好,软件质量的综合评价精度高. 本文通过系统的规划、设计、实现证明,人工神经网络方法克服了传统分析过程的复杂性,是一种自然的非线性建模过程.然后为了解决标准BP算法收敛速度慢、计算量大的缺点,引入了基于LM-BP算法的神经网络软件质量综合评价模型.实验表明,LM-BP算法可提高网络的训练速度,而且预测的精度更高.因此,基于LM-BP算法的神经网络模型为软件质量综合评价提供了一种新的研究思路,该方法用于实际的软件质量综合评价中将给决策者提供重要的参考,具有一定的科学和实用价值.【相关文献】[1] 艾洪福,石莹.基于BP人工神经网络的雾霾天气预测研究 [J]. 计算机仿真,2015,32(01):402-415.[2] 陈涛.专家知识与神经网络在舰载软件质量评价中的应用[J]. 电子制作,2015(01):77-78.[3] 王欣彦,王立鹏,李新. 基于LM-BP神经网络的电机转子裂纹故障诊断[J]. 微特电机,2015,43(04):18-21.[4] 洪流,黄海波,贾春晖,肖静. 基于外部质量特性的软件质量模糊综合评价方法的研究[J]. 现代计算机(专业版) 2015, 5(15):6-8.[5] 夏刚,楼文高,娄元英. 软件质量综合评价的投影寻踪模型[J].信息技术,2014(03):72-74.[6]郑鹏. 基于灰色-Vague集的软件质量综合评价[J].莆田学院学报,2014(2):55-59.[7] 王晶晶,王剑. 一种BP神经网络改进算法研究[J].软件导刊,2015(3):56-57.[8] 路阔,钟伯成. 基于LMBP神经网络的建筑能耗预测[J]. 计算机技术与发展,2015(06):243-246.。
基于神经网络的网络安全评估方法研究

基于神经网络的网络安全评估方法研究随着互联网在国内的普及和应用范围的不断扩大,网络安全问题愈加凸显。
各类安全威胁层出不穷,传统安全技术已经难以满足安全需求,网络安全的研究和保障任务日益繁重。
针对当前网络安全问题,国内外的学者和专家们不断探索新的安全技术和方法,其中基于神经网络的网络安全评估方法备受关注。
一、基于神经网络的网络安全评估方法原理神经网络是一种机器学习的算法,其模型受到人类神经系统的启发,可以用于模拟人脑对信息的处理过程。
网络安全评估是指对网络系统的安全性能进行评估,包括安全需求、安全目标、安全策略等多个方面。
基于神经网络的安全评估方法,其核心就是将大量的安全数据输入到神经网络中,通过训练使神经网络自动学习网络安全模式,从而建立网络安全评估模型。
该模型可用于对网络安全问题进行预测、检测和防御。
二、基于神经网络的网络安全评估方法的优劣势分析1. 优势:(1)基于神经网络的网络安全评估方法具有强大的数据处理能力,可以处理大量的网络安全数据,将数据转化为可供评估的信息。
(2)该方法的自适应性和自学习能力强,可以动态更新网络安全模型,提高对新兴网络安全威胁的检测和防御能力。
(3)基于神经网络的网络安全评估方法不受网络结构的限制,适用于各种不同的网络结构和设备。
2. 缺陷:(1)基于神经网络的网络安全评估方法需要大量的安全数据进行训练,缺乏充足的安全数据会影响模型的准确性。
(2)该方法虽然可以适应新的安全威胁,但模型泛化能力有限,可能会存在误判问题。
(3)基于神经网络的网络安全评估方法需要专门的算法和技术支持,技术门槛较高,需要专业人员进行研究和开发。
三、基于神经网络的网络安全评估方法在实际应用中的场景1. 基于神经网络的入侵检测入侵检测是指对网络系统进行检测和识别,判断是否遭到入侵。
基于神经网络的入侵检测可以更加准确地识别入侵行为,并及时进行防御。
2. 基于神经网络的网络威胁分析网络威胁分析是指对网络系统中安全威胁情况进行分析和评估,以及对威胁进行预测和抵御。
基于神经网络组合模型的软件可靠性评估研究

难于收敛, 网络的泛化能力, 网络规模, 局部极小等 问题都很 难解决。从而限制 了神 经网络 对软 件可靠 性预 测精 度的进 一步提高。
文献 [ 9]研 究表明: 如 果神经 网络的 核心组 成部 分的神 经元传递函数 选择不合适, 则神经网络 无论如何都 难以获得 好的外推泛化 性能。文 献 [ 10]中, Segee对常用的 BP网络研 究发现, 采用固定的 S- 型传 递函数 神经元模 型的网 络来解 决某些问题时 , 很 难获 得满意 结果, 而 且网络 收敛 慢。实际 上, 生物神经系统的神经元类型很多, 生物的 学习过程 中, 除 了神经元细胞间连接强 度的调整外, 其 神经元细胞 本身的响 应特性也不同 。文献 [ 11, 12]采用一种特殊的非线 性函数作 为传递函数, 利用待 解问题 的先 验知识 来确 定传 递函数, 得 到很有意义的 结果。因 此, 在解 决实际 问题 时, 根据问 题的 先验知识, 选用传递 函数使 它和 待解问 题相 适应, 可 以使网 络结构大大简 化, 而且采用这种措施来 设计网络会 得到更好 的效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Computer Science and Application 计算机科学与应用, 2019, 9(2), 214-219Published Online February 2019 in Hans. /journal/csahttps:///10.12677/csa.2019.92025Software Reliability Safety EvaluationMethod Based on BP Neural NetworkXiaohui Jiang1, Yong Hu1, Chuyuan Peng2, Wei Meng21Beijing Research Institute of Mechanical & Electrical Technology, Beijing2Beijing Jinghang Institute of Computing and Communication, BeijingReceived: Jan. 13th, 2019; accepted: Jan. 23rd, 2019; published: Jan. 30th, 2019AbstractWith FPGA becoming increasingly popular for use in the field of aerospace, the importance of FPGA software reliability and safety to safety critical systems is particularly prominent. However, research on FPGA software reliability and safety is quite insufficient. Concerning this issue, it is necessary to carry out research on FPGA software reliability and safety. In this paper, a reliability and safety metric model based on FPGA software lifecycle is created and safety evaluation net-work based on BP neural network theory is established. Moreover, a reliability and safety evalua-tion tool is developed with MATLAB GUI. Comparing with traditional weight evaluation method based on Analytic Hierarchy Process (AHP), the neural network evaluation method has better ac-curacy, adaptability and practicability.KeywordsFPGA, Metrics Model, BP Neural Network, MATLAB, Analytic Hierarchy Process基于BP神经网络的软件可靠性安全性评价方法姜晓辉1,胡勇1,彭楚元2,孟伟21北京特种机电研究所,北京2北京京航计算通讯研究所,北京收稿日期:2019年1月13日;录用日期:2019年1月23日;发布日期:2019年1月30日摘要本文对FPGA软件可靠性安全性评价技术进行研究,建立了基于FPGA软件开发全生命周期的度量模型。
姜晓辉等将该FPGA软件可靠性安全性度量模型与BP神经网络相结合,建立了基于BP神经网络的FPGA软件可靠性安全性评价网络。
通过航空航天项目对其评价结果进行验证,评价结果与专家评价结果基本一致。
与基于层次分析法的传统权重评价方法相比,神经网络评价方法具有更好的准确性、适应性和实用性。
关键词FPGA,度量模型,BP神经网络,MATLAB,层次分析法Copyright © 2019 by author(s) and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY)./licenses/by/4.0/1. 引言随着现场可编程门阵列(FPGA)应用领域的扩展以及重要性和复杂程度的提高,其可靠性安全性问题变得越来越突出。
安全关键系统对FPGA的可靠性安全性有很高的要求,因此,需要对FPGA软件可靠性安全性的评价技术进行研究。
一般使用基于层次分析法的传统权重评价方法来进行FPGA软件可靠性安全性评价,这种方法虽然比较直观、易于理解,但是适应性不强,一旦度量模型或者度量元发生变化,需要重新计算各个度量元的权重,使用起来不够灵活。
为了克服以上缺点,本文提出了一种基于BP神经网络的FPGA软件可靠性安全性评价方法,该方法与传统权重评价方法相比具有诸多的优越性。
2. FPGA软件可靠性安全性度量模型FPGA的全生命周期包括下列过程:系统要求过程、需求分析过程、设计过程、实现与集成过程、确认过程、测试与验证过程、交付与验收过程、运行与维护过程[1],如图1所示。
Figure 1. FPGA full life cycle process图1. FPGA全生命周期过程FPGA软件可靠性安全性工作贯穿于整个FPGA开发全生命周期。
其中,需求分析过程、设计过程、实现与集成过程、测试与验证过程是本文进行分析的重点,后续研究内容主要围绕这四个过程,建立FPGA 软件可靠性安全性度量模型,并从每个过程中提取FPGA软件可靠性安全性度量元。
1) 需求分析过程:从FPGA的可靠性安全性角度考虑,将FPGA的可靠性安全性需求分成性能需求、功能需求、数据需求、接口需求等。
FPGA可靠、安全工作的前提是保证可靠性安全性需求的正确性和完整性。
姜晓辉等2) 设计过程:设计过程包括概要设计过程和详细设计过程。
对FPGA的设计过程进行可靠性安全性分析的过程,就是要分析其设计是否满足可靠性安全性需求。
分析对象包括FPGA的接口设计、通讯设计、模块设计、时钟使用、IP核使用、冗余容错设计等。
在FPGA设计过程中应严格遵守可靠性安全性设计准则,从而有效地保证FPGA的可靠性安全性。
此外,还应建立设计过程与需求分析过程的追踪关系,确保所有可靠性安全性需求都在设计过程中得以实现。
3) 实现与集成过程:在实现与集成过程中依据FPGA详细设计说明开展设计输入、逻辑综合、布局布线,最终生成可下载的配置文件,并固化至板内配置存储器中[2]。
4) 测试与验证过程:测试与验证过程是提高FPGA软件可靠性安全性的重要阶段,在此阶段会对FPGA软件进行静态测试和动态测试,测试工作的质量会影响FPGA投入使用后能否可靠、安全工作,因此“可靠性安全性测试充分性”和“可靠性安全性测试覆盖性”这两个度量非常重要,测试是否充分、全面,关系到FPGA软件可靠性安全性是否得到保证。
根据以上讨论,基于FPGA软件开发全生命周期的可靠性安全性度量模型如图2所示。
Figure 2. FPGA software reliability security measurement model图2. FPGA软件可靠性安全性度量模型由于此次度量元所涉及的计算参数需要收集较多数据,因此需要通过多种手段来获取度量数据,主要包括:审查、测试和专家打分[3]。
基于以上度量模型及FPGA评测过程中遇到的问题和积累的经验,提取出FPGA软件可靠性安全性度量元,并给出了每个度量元的取值方式。
对某箭上FPGA软件各个可靠性安全性度量元的度量值取值,邀请多个可靠性安全性评价专家根据可靠性安全性度量值对该FPGA 软件的可靠性安全性进行总体评价并打分,得分的平均值为0.87。
该得分能够较为客观地反映这一FPGA 软件的可靠性安全性总体水平。
3. 神经网络评价方法简介本研究采用相对于传统权重评价方法具有更多优越性的神经网络评价方法对FPGA软件可靠性安全性进行综合评价。
BP (back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出姜晓辉等的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。
BP神经网络由输入层、隐含层、输出层构成[4]。
BP网络算法的训练过程分为两个阶段:第一个阶段是输入信号正向传播阶段,输入已知训练样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络第一层向后计算各神经元的输出;第二个阶段是误差信号逆向传播阶段,对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响,据此对各权值和阈值进行修改[5]。
BP神经网络可以包含不同数量的隐含层。
实践表明,增加隐含层数可以减小误差、提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。
而误差的减小和精度的提高实际上也可以通过增加隐含层中的神经元结点数来获得,其训练效果也比增加层数更容易观察和调整。
本文采用单隐含层BP神经网络。
4. 基于BP神经网络的可靠性安全性评价方法BP神经网络的输入和输出层的神经元结点数,是由输入和输出向量的维数确定的。
这里构造的BP 神经网络用来进行FPGA软件可靠性安全性评价,将表1中的50个FPGA软件安全性度量元作为输入参数即网络的影响因子,因此输入层的神经元结点数为50;网络输出为FPGA软件可靠性安全性的评价结果,因此输出层的神经元结点数为1。
此外,将隐含层神经元结点数设定为20个。
隐含层激活函数选用双曲正切Sigmoid函数tansig,输出层激活函数选用对数Sigmoid函数logsig,网络训练算法选用LM (Levenberg-Marquardt)算法。
设置训练过程中两次显示之间的训练间隔步数为1,训练次数为1000,训练目标误差为1.0 × 10−5,选择50个FPGA软件的度量值作为样本对神经网络进行训练,经过34步迭代训练后,网络达到预先设置的目标误差。
网络训练的性能曲线如图3所示。
Figure 3. Performance curve of network training图3. 网络训练的性能曲线为了检测训练后神经网络评价的效果,将50个可靠性安全性度量元的值都设置为同一数值,分别为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9,并检测神经网络对于FPGA软件可靠性安全性的评价结果和预期评价结果之间的误差,如图4所示。