在ERTS2022中,ANSYS 发表了使用Scade实现神经网络AI算法的相关工作。论文题目为《Programming Neural Networks Inference in a Safety-Critical Simulation-based Framework》
背景与挑战
神经网络在安全关键系统中的应用:随着嵌入式系统中自主性的引入,神经网络(NN)在多个领域的成功应用引起了安全关键系统行业的关注。然而,现有标准化工作尚未完全覆盖机器学习(ML)在安全关键系统中的应用。
行业需求:标准化机构(如SAE和EUROCAE)已明确指出需要制定支持ML子系统集成到安全关键航空软件、硬件和系统开发的标准。
方法论
论文提出了一种端到端的工作流,用于在安全关键系统中开发基于神经网络的功能。该方法基于以下三个核心支柱:
- Scade语言的形式化表示和代码生成:Scade是一种形式化语言,用于安全关键系统的软件设计,支持代码生成、测试执行和覆盖分析。
- 操作设计域(ODD)的定义:ODD描述了系统的预期运行条件,并通过场景驱动的方式评估其适用性。
- 基于仿真的强化学习(RL)和鲁棒性分析:通过仿真环境训练神经网络模型,并结合鲁棒性和可靠性分析,确保模型的安全实现。
神经网络的实现
- Scade中的神经网络编程:Scade语言支持多维数组操作和线性代数运算,能够实现神经网络的线性层、激活层(如ReLU)和卷积层。
- 模型导入与验证:训练好的神经网络模型被自动导入到Scade中,与传统软件功能结合,形成完整的嵌入式软件应用。通过仿真环境验证整个应用的安全性。
无人机避障案例
问题定义:无人机需要在未知环境中自主飞行,同时避开其他飞机、基础设施和地面障碍物。
强化学习训练:使用深度强化学习(DRL)框架(如minds.ai DeepSim)训练神经网络,输入包括无人机状态、目标信息和入侵者信息,输出为飞行控制指令(如俯仰、横滚、偏航率和推力)。
训练结果:经过100万步训练,神经网络成功学习了避障策略,并通过敏感性分析验证了输入与输出之间的逻辑关系。
验证与分析:
鲁棒性分析:验证了无人机在各种场景下的性能,结果显示大部分场景符合安全要求。
可靠性分析:通过概率模型和闭环仿真,量化了失败概率,并识别了特定失败场景(如目标高度过低或入侵者距离过近)。
结论与未来工作
成果:论文成功展示了如何在安全关键系统中开发和验证基于神经网络的车辆功能,并通过无人机避障案例验证了方法的有效性。
未来工作:
进一步优化神经网络的训练过程,提高其泛化能力。
深入研究目标平台与主机平台之间的数值差异对系统性能的影响。
推进工具认证工作,确保仿真和分析方法的准确性。
总结
这篇论文为安全关键系统中神经网络的应用提供了一种系统化的工作流,并通过无人机避障案例展示了其可行性。该方法结合了形式化语言、强化学习和鲁棒性分析,为未来安全关键系统的开发提供了重要参考。