近期,DeepMind在其博客中向我們描述了三種可以嚴格識別和消除學習預測模型中的錯誤的方法:對抗性測試,魯棒學習和形式驗證。
自計算機編程開始以來,Bug與軟件就齊頭并進。
隨著時間的推移,軟件開發人員在部署之前已經建立了一套測試和調試的最佳實踐,但這些實踐并不適合現代深度學習系統。
今天,機器學習的主流實踐是在訓練數據集上訓練系統,然后在另一組上進行測試。雖然這揭示了模型在一般情況下的平均性能,但即使在最壞的情況下,確保模型的穩健性或可接受的高性能也是至關重要的。
近期,DeepMind在其博客中向我們描述了三種可以嚴格識別和消除學習預測模型中的錯誤的方法:對抗性測試,魯棒學習和形式驗證。
以下是博文內容:
機器學習系統一般是不穩健的。即使在特定領域中表現優于人類的系統,如果引入細微差異,也可能無法解決簡單問題。例如圖像擾動的問題:如果在輸入圖像中添加少量精心計算的噪聲,那么對圖像進行分類的神經網絡,就會容易將樹懶誤認為是賽車。
覆蓋在典型圖像上的對抗性輸入可能導致分類器將樹懶錯誤地分類為賽車。兩個圖像在每個像素中相差至多0.0078。第一種被歸類為三趾樹懶,置信度> 99%。第二個被歸類為賽車,概率> 99%。
這不是一個新問題。計算機程序總是有bug。幾十年來,軟件工程師開發了許多令人印象深刻的技術工具包,從單元測試到形式驗證。這些方法在傳統軟件上運行良好,但是由于這些模型的規模和缺乏結構性(可能包含數億個參數),因此采用傳統方法來嚴格測試神經網絡等機器學習模型非常困難。所以需要開發用于確保機器學習系統在部署時穩健的新方法。
從程序員的角度來看,Bug是指與系統規范(即預期功能)不一致的任何行為。DeepMInd對用于評估機器學習系統是否與訓練集和測試集一致的技術,以及描述系統的期望屬性的規范列表的技術進行了研究。這些屬性包括:對輸入中足夠小的擾動的魯棒性,避免災難性故障的安全約束,或產生符合物理定律的預測能力等。
在本文中,我們將討論機器學習社區面臨的三個重要技術挑戰,因為我們共同致力于嚴格開發和部署與所需規格可靠一致的機器學習系統:
測試一致性與規范有效性。我們探索有效的方法來測試機器學習系統是否與設計者和系統用戶所期望的屬性(例如不變性或魯棒性)一致。揭示模型可能與期望行為不一致的情況的一種方法是在評估期間系統地搜索最壞情況的結果。
訓練機器學習模型,使其產生規范一致的預測。即使有大量的訓練數據,標準的機器學習算法也可以產生與魯棒或公平等理想規范不一致的模型,這要求我們重新考慮訓練算法,這些算法不僅要能夠很好地擬合訓練數據,而且能夠與規范清單保持一致。
正式證明機器學習模型是規范一致的。需要能夠驗證模型預測可證明與所有可能輸入的感興趣的規范一致的算法。雖然形式驗證領域幾十年來一直在研究這種算法,但這些方法雖然取得了令人矚目的進展,但卻不能輕易地擴展到現代深度學習系統。
測試與規范性一致性
對抗性實例的穩健性是深度學習中相對研究充分的問題。這項工作的一個主要主題是評估強攻擊的重要性,以及設計可以有效分析的透明模型。與社區的其他研究人員一起,我們發現許多模型在與弱對手進行評估時看起來很穩健。然而,當針對更強的對手進行評估時,精度幾乎為0。
雖然大多數工作都在監督學習(主要是圖像分類)的情景下的很少失敗,但是需要將這些想法擴展到其他情景。
在最近關于發現災難性故障的對抗方法的工作中,我們將這些想法應用于測試旨在用于安全關鍵設置的強化學習agent。開發自治系統的一個挑戰是,由于單個錯誤可能會產生很大的后果,因此非常小的失敗概率都是不可接受的。
我們的目標是設計一個“對手”,以便我們提前檢測這些故障(例如,在受控環境中)。如果攻擊者可以有效地識別給定模型的最壞情況輸入,則允許我們在部署模型之前捕獲罕見的故障情況。與圖像分類器一樣,針對弱攻擊進行評估,很容易會在部署期間提供虛假的安全感。
我們為強化學習agent的對抗性測試開發了兩種互補的方法。首先,使用無衍生優化來直接最小化agent的預期回報。然后學習一種對抗價值函數,該函數根據經驗預測哪種情況最有可能導致agent失敗。再接著,使用此學習函數進行優化,將評估重點放在最有問題的輸入上。這些方法構成了豐富且不斷增長的潛在算法空間的一小部分,我們對嚴格評估代理的未來發展感到興奮。
這兩種方法相比隨機測試已經有了很大改進。使用我們的方法,可以在幾分鐘內檢測到需要花費數天才能發現甚至完全未被發現的故障。我們還發現,對抗性測試可能會發現agent中與隨機測試集的評估結果不同的行為。
特別是,使用對抗性環境構造,我們發現執行3D導航任務的agent一般會與人類級別的性能相匹配,但仍然無法在令人驚訝的簡單迷宮上完全找到目標。我們的工作還強調,我們需要設計能夠抵御自然故障的系統,而不僅僅是針對對手。
使用隨機抽樣,我們幾乎從不觀察具有高失敗概率的地圖,但是對抗性測試表明這樣的地圖確實存在。即使在移除了許多wall之后,這些地圖仍然保留了高失敗概率,從而產生比原始地圖更簡單的地圖。
訓練規范一致的模型
對抗性測試旨在找到違反規范的反例。因此,它往往會導致高估模型與這些規范的一致性。在數學上,規范是必須在神經網絡的輸入和輸出之間保持的某種關系。這可以采用某些鍵輸入和輸出參數的上限和下限的形式體現。
受此觀察的啟發,一些研究人員,包括我們在DeepMind的團隊,研究了與對抗性測試程序無關的算法(用于評估與規范的一致性)。這可以從幾何學上理解 - 我們可以約束在給定一組輸入的情況下,通過限制輸出空間來最嚴重地違反規范。如果此界限相對于網絡參數是可微分的并且可以快速計算,則可以在訓練期間使用它。然后可以通過網絡的每個層傳播原始邊界框。
結果證明了區間界限傳播是快速、有效的,并且與先前的信念相反,可以獲得強有力的結果。特別是,我們證明它可以降低MNIST和CIFAR-10數據集上圖像分類中現有技術的錯誤率。
展望未來,下一個前沿將是學習正確的幾何抽象,以計算更嚴格的輸出空間過度近似值。我們還希望訓練網絡與更復雜的規范一致,捕獲理想的行為,例如上面提到的不變性和與物理定律的一致性。
形式驗證
嚴格的測試和訓練可以大大有助于構建強大的機器學習系統。但是,沒有多少測試可以完全保證系統的行為符合我們的要求。在大規模模型中,由于輸入擾動的選擇特別多(天文數級別),因此列舉給定輸入集的所有可能輸出(例如,對圖像的無窮小擾動)根本難以處理。但是,與訓練的情況一樣,我們可以通過在輸出集上設置幾何邊界來找到更有效的方法。形式驗證是DeepMind正在進行的研究的主題。
機器學習社區已經開發了幾個關于如何計算網絡輸出空間上的精確幾何邊界的有趣想法。我們的方法基于優化和二元性,包括將驗證問題轉化為優化問題。通過在優化中使用二元性的思想,該問題變得易于計算。這導致額外的約束,其使用所謂的切割平面來細化由間隔界限傳播計算的邊界框。這種方法雖然合理但不完整:可能存在感興趣的屬性為真的情況,但此算法計算的界限不足以證明該屬性。但是,一旦我們獲得了約束邊界,這將正式保證不會侵犯屬性。下圖以圖形方式說明了該方法。
這種方法使我們能夠將驗證算法的適用性擴展到更一般的網絡(激活函數,體系結構),更一般性的規范和更復雜的深度學習模型(生成模型,神經過程等)、超越對抗性魯棒性的規范 。
展望
在高風險情況下部署機器學習帶來了獨特的挑戰,需要做更多的工作來構建自動化工具,以確保現實世界中的AI系統能夠做出“正確的事情”。特別是,我們對以下方向的進展感到興奮:
學習對抗性評估和驗證:隨著AI系統的擴展和復雜性提高,設計適合AI模型的對抗性評估和驗證算法將變得越來越困難。如果我們可以利用AI的強大功能來促進評估和驗證,那么這個過程將大大加快,可實現自拓展。
開發用于對抗性評估和驗證的公開工具:為AI工程師和從業者提供易于使用的工具非常重要,這些工具可以在AI系統導致廣泛的負面影響之前闡明其可能的故障模式。這需要一定程度的對抗性評估和驗證算法的標準化。
擴大對抗性示例的范圍:到目前為止,大多數關于對抗性示例的工作都集中在對小擾動(通常是圖像)的模型不變性上。這為開發對抗性評估,強大學習和驗證方法提供了極好的測試平臺。我們已經開始探索與現實世界直接相關的屬性的替代規范,并對未來在這方面的研究感到興奮。
學習規范:在AI系統中捕獲“正確”行為的規范通常難以精確陳述。當我們構建能夠展示復雜行為并在非結構化環境中行動的越來越智能的agent時,將需要構建可以使用部分人類規范并從評估反饋中學習進一步規范的系統。
-
編程
+關注
關注
88文章
3614瀏覽量
93693 -
人工智能
+關注
關注
1791文章
47208瀏覽量
238284
原文標題:DeepMind:三種方法突破AI魯棒性極限
文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論