【技术实现步骤摘要】
一种基于N版本编程的深度强化学习软件容错方法
[0001]本专利技术属于软件可靠性工程
,具体地说,本专利技术涉及一种基于N版本编程(N
‑
Version Programming,NVP)的深度强化学习软件容错方法。
技术介绍
[0002]近年来,深度强化学习技术被越来越多地应用于游戏博弈、自动驾驶、医疗健康、金融交易、机器人控制和网络安全等领域。随着深度强化学习理论与技术的蓬勃发展,及其在安全关键领域的落地,使得人们越来越多地关注深度强化学习系统的质量、可靠性等问题。在一些安全关键领域,如空战决策、无人机航路规划、自动驾驶以及医疗健康等应用领域,软件系统的偶发性故障很有可能造成重大的人员伤亡及财产损失。深度强化学习系统质量与可靠性,已成为影响深度强化学习技术在安全关键领域进一步落地的瓶颈问题。
[0003]实际上,深度强化学习系统在数据、程序、模型等不同环节都有可能存在缺陷,这些缺陷在复杂多变的真实环境中被触发,就有可能造成系统故障,并进一步导致系统失效。例如,深度强化学习决策系统中的传感器、执行器等设备存在程度不一的数据噪声或者数据错误;网络模型及其参数更新错误;模型训练过程探索不充分、训练过拟合等,都有可能影响到强化学习系统在实际运行时的可靠性。软件容错是软件可靠性工程领域研究较多、应用较为广泛的一种软件可靠性保障技术。软件容错是利用相同的需求说明而设计不同版本并通过冗余,相互屏蔽各自内在缺陷,恢复进程运行,从而实现高可靠、高安全性的系统软件技术。近年来,软件容错技术也开始应用于 ...
【技术保护点】
【技术特征摘要】
1.一种基于N版本编程的深度强化学习软件容错方法,其特征在于:该框架包含以下具体步骤:步骤1)在实验环境下选择一种强化学习算法训练出一个智能体,要求该智能体能完成实验环境下的序贯决策任务,作为基准模型;步骤2)从算法设计和程序实现两方面分别提出若干独立性因素:算法设计方面包括“网络结构”、“学习算法”和“探索策略”;程序实现方面包括“编程框架”和“编程语言”;步骤3)在基准模型基础上,分别引入以上五种独立性因素,训练多个具有差异性的、独立的深度强化学习智能体模型;每引入一个独立性因素时,算法实现的其他部分与基准模型的算法实现保持一致,而只改变当前独立性因素下的实现方式,通过这种方式独立训练多个不同版本的智能体模型;步骤4)针对离散动作任务,提出“多数投票”和“排名投票”两种结合策略;针对连续动作任务,提出“简单平均”和“加权平均”两种结合策略;利用以上结合策略,将步骤3中获得的多个模型的输出进行结合,作为最终的输出。2.根据权利要求1所述的一种基于N版本编程的深度强化学习软件容错方法,其特征在于:深度强化学习算法结合了深度学习与强化学习,其中深度学习部分是通过神经网络的结构来展现的,强化学习部分是通过学习算法及探索环境策略的选择来展现的;神经网络结构的不同会导致深度强化学习模型拟合q表格时存在不同程度的过拟合或欠拟合,会影响智能体在不同噪声环境下的测试性能。3.根据权利要求1或2所述的一种基于N版本编程的深度强化学习软件容错方法,其特征在于:搭建的基准模型中深度学习部分选择了构建一个含有3个隐层的全连接神经网络,每个隐层都含有24个神经元,激活函数选择了“relu”函数;强化学习部分选择了DDQN算法,探索策略选择了EpsGreedyQPolicy策略;编程框架选择TensorFlow框架;编程语言选择Python语言。4.根据权利要求1所述的一种基于N版本编程的深度强化学习软件容错方法,其特征在于:“网络结构”具体为:在基准模型的基础上保持探索策略、学习算法、编程框架和编程语言相同,分别为EpsGreedyQPolicy策略、DDQN算法、TensorFlow框架和Python语言;通过改变神经网络结构,得到五个独立的深度强化学习智能体模型;五个独立的深度强化学习模型中神经网络结构部分分别选择:
①
DRL_00:含有3个隐层的全连接神经网络,每个隐层都含有24个神经元且激活函数选择了“relu”函数;
②
DRL_11:含有2个隐层的全连接神经网络,每个隐层都含有16个神经元且激活函数选择了“relu”函数;
③
DRL_12:含有3个隐层的全连接神经网络,每个隐层都含有24个神经元且激活函数选择了“tanh”;
④
DRL_13:含有2个隐层的全连接神经网络,每个隐层都含有16个神经元且激活函数选择了“tanh”;
⑤
DRL_14:含有3个隐层的全连接神经网络,每个隐层都含有16个神经元且激活函数选择了“tanh”。5.根据权利要求1所述的一种基于N版本编程的深度强化学习软件容错方法,其特征在于:“探索策略”具体为:在基准模型的基础上保持学习算法、神经网络结构、编程框架和编程语言相同,分别为DDQN算法、含有3个隐层且每个隐层都含有24个神经元而激活函数选择了“relu”函数的全连接神经网络、TensorFlow框架和Python语言;通过改变探索策略,得到五个独立的深度强化学习智能体模型;
五个独立的深度强化学习智能体模型中探索策略部分分别选择:
①
DRL_00:EpsGreedyQPolicy策略;
②
DRL_21:LinearAnnealedPolicy策略;
③
DRL_22:BoltzmannQPolicy策略;
④
DRL_23:MaxBoltzmannQPolicy策略;
⑤
DRL_24:BoltzmannGumbelQPolicy策略。6.根据权利要求1所述的一种基于N版本编程的深度强化学习软件容错方法,其特征在于:“学习算法”具体为:在基准模型的基础上保持探索策略、神经网络结构、编程框架和编程语言相同,分别为EpsGreedyQPolicy策略、含有3个隐层且每个隐层都含有24个神...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。