機器學習在高度自動化駕駛中的安全性

機器學習在高度自動化駕駛中的安全性

Burton, Simon, Lydia Gauerhof, and Christian Heinzemann. "Making the case for safety of machine learning in highly automated driving." In International Conference on Computer Safety, Reliability, and Security, pp. 5-16. Springer, Cham, 2017.

研究背景:

近年來,自動駕駛系統等應用機器學習模型的系統逐漸進入大眾視野,這種複雜系統的安全性是至關重要的。從手動驅動程序輔助過渡到自動駕駛)需要對系統安全方法進行許多更改。例如,需要更高級別的可用性,因為系統不能在檢測到組件硬件故障時簡單地停用。在功能層面,需要一種方法來解釋當前的駕駛情況,包括環境條件,並對隨後的行動作出判斷,以確保在所有可能的情況下避免出現危急的駕駛情況。基於在非結構化輸入空間中提取相關特徵的能力,機器學習被認為是解決高度自動化駕駛(HAD)的一些功能挑戰的一個有潛力的解決方案。然而,基於機器學習的系統只有在被證明是可接受的安全的情況下才能被髮布到公共領域。有關功能安全的可接受安全的條件由ISO 26262規定。遵守本標準仍然是證明HAD安全性的必要先決條件,以確保系統在隨機硬件和系統故障方面實現可靠和容錯。然而,在一些領域,該標準並沒有很好地應用於開放上下文系統的機器學習。此外,由於傳感器、執行機構本身的固有限制或目標功能本身的不足,系統無法滿足安全目標的問題也沒有得到ISO 26262的很好解決。對標準的擴展,如目前正在開發的“預期功能的安全性”(SOTIF)方法,旨在解決其中的一些問題,但主要集中於駕駛員輔助,而不是系統。因此,必須開發替代方法,並且必須根據“第一原則”系統地論證系統滿足其安全目標的能力,其中遵守標準只是整個論證的一部分。對HAD使用機器學習算法的主要挑戰是,認為由於使用的機器學習算法的不完善以及不可能在設計時測試所有可能的駕駛情況而導致的功能不足導致的殘差風險水平足夠低。目前,相關的安全規範,尤其是ISO 26262,並不支持這種觀點。本文提出應用保證案例的方法來確定這樣的一個論點可以形成基於第一原理,將系統的安全目標分解為技術性能要求顯式的考慮的假設下的機器學習功能對系統和組件在系統上下文環境。

解決的問題:

1)如何保證基於機器學習組件系統的安全性,對於不同基於機器學習的系統做安全保證時都分別需要考慮哪些因素。

2)由於傳感器、執行組件本身的固有限制或目標功能本身的不足,系統無法滿足安全目標的問題沒有得到ISO 26262的很好解決。

3)探討是何原因造成了機器學習的功能不足。

4)自動駕駛系統的功能體系架構是什麼樣的。

5)保證用例(assurance case)的數據需要在什麼條件下獲取。

實驗方法:

1. 機器學習的安全性討論

討論機器學習安全性所涉及的問題在很大程度上取決於應用的技術類型及其在整個系統上下文中的應用。以下因素有助於評估機器學習對整體安全案例的影響。

功能範圍:機器學習可以應用於具有功能的體系結構中的不同任務。任務限制越嚴格,就可以定義功能上的性能標準越具體,從而允許集中驗證和驗證活動。

學習模型:概率推理和統計學習技術基於訓練數據建立統計模型,並且通常表現出連續的行為,結果的準確性隨著訓練次數的增加而提高。各種算法增加了額外的挑戰,因為在更深層次學習的特性中缺乏透明度和可解釋性,並且容易受到不可預測的對抗性示例的攻擊。

訓練過程:在線訓練技術,如強化學習,可以在執行過程中(即自動駕駛過程中)不斷調整功能。訓練方法還可分為集中式訓練(不同車輛內的功能是以相同的方式使用相同的輸入數據進行訓練)和分散式訓練(在這種情況下,單個車輛自主學習,並且在學習過程中彼此不同)。如果不能正確的定義較為安全地輸入,那麼在分散的在線訓練過程中對安全驗證帶來了巨大的挑戰。

臨界事件間隔:存在必須由系統正確處理的事件,以確保滿足安全目標。因此,需要進行分析,以確定如何在培訓和驗證期間充分覆蓋這些情況,以確保系統能夠像處理常見情況一樣很好地處理這些情況

2. 對於上下文信息的應用

系統級的保證用例結構是必需的,它導致對分配給機器學習功能的性能需求和風險貢獻的定義。還需要一個參數,以充分涵蓋系統故障和隨機硬件故障的貢獻,例如基於ISO 26262相關參數。在系統上下文中推導性能(安全)需求是確保整個系統安全的關鍵貢獻之一,需要深入的領域和系統知識。為開放上下文系統獲得一組合適的需求本身是一項重要的任務,因此係統工程的方法是不可或缺的。

機器學習在高度自動化駕駛中的安全性

圖1說明了如何將機器學習功能嵌入到其系統上下文中。

3. 機器學習功能不足的原因

與傳統的、算法的和控制律的車輛控制方法相比,機器學習技術與開放上下文環境的內在不確定性導致了不同的危險原因。為了證明機器學習功能中的功能不足(這裡:基於攝像機的目標檢測,監督訓練)被最小化,理解這些不足的原因是很重要的。以下是幾個保證案例(assurance case):訓練數據應該能夠很好的界定和反映環境背景;功能函數應該對環境中的分佈變化具有較強的魯棒性;功能函數在臨界情況下應該表現出一致的行為;功能函數對其訓練和執行平臺之間的差異具有很強的魯棒性;功能函數對其系統上下文中的更改具有健壯性。(assurance case中的G2--G6)。

4. 保證用例(assurance case)的數據來源

訓練集覆蓋率:

(1)訓練數據量:充足的訓練數據用於提供與統計相關的場景擴展,並確保神經網絡中權重的強覆蓋範圍穩定。

(2)對已知的關鍵場景的覆蓋:基於對系統和環境的物理屬性的良好理解的領域經驗,以及以前的驗證練習,可以識別應該在函數中顯示類似行為的場景類。

(3)最小化未知的關鍵場景:在系統設計期間,甚至不知道類的其他關鍵組合。因此,系統地確定培訓數據中的等價類,並在培訓和驗證期間進行統計覆蓋,將是充分減少由於培訓數據不足而造成不足的風險的關鍵。

學習函數的可解釋性:

演示傳統安全關鍵軟件正確性的一個關鍵組件是白盒技術,包括手動代碼審查、靜態分析和代碼覆蓋。這些技術允許在詳細的算法設計和實現上形成一個論點,但是不能輕易地轉移到機器學習範例中。因此,必須找到利用神經網絡內部行為知識的其他論據。Hendricks等人最近提出了一種朝這個方向發展的方法。也可以想象,還可以為神經網絡找到其他指標,用於保證論證,例如,權重受訓練數據影響的程度,或執行的測試對神經網絡計算的覆蓋程度。

不確定度的計算:

雖然機器學習方法在感知任務上提供了很好的性能,但是未檢測到的對象,錯誤分類和錯誤定位可能在系統的整體功能架構中產生安全關鍵的後果。不確定性可以分為任意不確定性和認知不確定性。任意不確定性包括觀測中固有的噪聲(如傳感器或運動噪聲),不能通過增加訓練數據來降低。相反,認知不確定性捕捉模型內部的不確定性(例如參數的不確定性),並強調對模型或模型本身的假設可能不足以準確地表示現實。不確定性量化可以提供用於可信性和傳感器融合算法的信息,從而提高後續軌跡規劃任務的整體魯棒性和可靠性。

黑盒測試:

由於驗證訓練函數的白盒方法的固有限制,需要將重點放在黑盒測試技術上。這些技術將包括對包含學習功能的軟件組件進行有針對性的測試,包括使用基於等價類的系統選擇的測試數據。需要綜合、真實和經過處理的真實數據,包括詳細分析由於輸入類型不同而對網絡造成的影響。系統級車輛集成測試也需要構成保證用例的一個重要部分,以便驗證在系統開發期間所做的所有假設,包括是否充分理解關鍵場景導致了對功能的充分訓練。

運行時度量:

(1)運行時的合理性檢查:對神經網絡輸出的可信性檢查可能包括隨著時間的推移跟蹤結果或者通過與可選的傳感器或輸入進行比較。這種似是而非的檢查可以減輕對個別幀自發發生的不足。

(2)運行時的假設檢測:在運行時檢測到的對象的分佈與假設之間的差異可能表明訓練過的函數中存在錯誤,或者系統在沒有得到充分訓練的上下文中運行。如果發現這種情況,可以採取適當的行動來減輕差異的影響。

實驗結果:

機器學習在高度自動化駕駛中的安全性

利用上述方法,得到了Assurance Case架構。

總結:

高度自動化駕駛系統應用機器學習算法的主要挑戰是由於測試樣例不可能包含所有實際駕駛場景,從而導致機器學習算法功能的有那種不足,可能會有對一些情況造成誤判的風險,使系統不安全。然而ISO 26262也無法定義自動駕駛系統的安全標準。本文提出應用一種保證案例方法來確定如何在“第一原則”的基礎上形成這樣的論點,即在明確考慮以下假設的情況下,將系統的安全目標分解為機器學習功能的技術性能要求系統環境。

本文討論了基於機器學習的自動駕駛系統所面臨的安全性挑戰,當在自動駕駛系統中使用機器學習算法時,安全架構常常強調系統工程和驗證考量。尤其引人注目的是基於卷積神經網絡的處理感知模塊的功能不足,我們尋找可能跡象的類型可以用來減少這些風險。本文討論了高度自動駕駛領域的機器學習模型的安全性確認方法。作為基礎,我們先分析並討論了使用不機器學習系統對系統安全性的影響。其次,本文對於要求,上下文以及假設進行了系統化分析,證明了在對於一個系統領域不瞭解的情況下,是無法對機器學習功能的安全性做出評估的。接著,本文提出的論證路徑將著重於研究基於機器學習的函數功能不足的主要原因。最後,本文總結了可以用來創造支持安全保證用例證據的新技術。

思考與未來展望:

本文中提出的保證用例結構提出了幾個需要大量未來研究活動的問題。首先,為保證案例提供必要的證據需要開發全新的驗證技術,包括證明其有效性。這項工作將需要在機器學習的理論見解和大規模實驗研究方面取得進展,以確認所提議的措施的有效性。進一步的研究還將包括將動態安全案例應用於應用分散式在線強化學習技術的系統,即在運行時繼續調整其行為的系統。這些活動必須集成到一個支持保證用例結構的整體系統工程方法中。這項技術研究工作需要得到工業界活動的補充,以便就風險評價和可接受的論證結構達成協商一致意見,以便納入未來的標準。

致謝

本文由南京大學軟件學院2019級碩士鄧靖琦翻譯轉述。

感謝國家自然科學基金項目(重點項目)智能軟件系統的數據驅動測試方法與技術(61932012)資助


分享到:


相關文章: