在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萬步訓練,神經網絡成功學習了避障策略,并通過敏感性分析驗證了輸入與輸出之間的邏輯關系。
驗證與分析:
魯棒性分析:驗證了無人機在各種場景下的性能,結果顯示大部分場景符合安全要求。
可靠性分析:通過概率模型和閉環仿真,量化了失敗概率,并識別了特定失敗場景(如目標高度過低或入侵者距離過近)。
結論與未來工作
成果:論文成功展示了如何在安全關鍵系統中開發和驗證基于神經網絡的車輛功能,并通過無人機避障案例驗證了方法的有效性。
未來工作:
進一步優化神經網絡的訓練過程,提高其泛化能力。
深入研究目標平臺與主機平臺之間的數值差異對系統性能的影響。
推進工具認證工作,確保仿真和分析方法的準確性。
總結
這篇論文為安全關鍵系統中神經網絡的應用提供了一種系統化的工作流,并通過無人機避障案例展示了其可行性。該方法結合了形式化語言、強化學習和魯棒性分析,為未來安全關鍵系統的開發提供了重要參考。