爲什麼我們要重視機器學習模型的調試?

作者 | Patrick Hall and Andrew Burt
編譯 | CDA數據分析師

瞭解和修復ML中的問題,對於模型的廣泛採用至關重要。

人們逐漸意識到ML模型可能會失敗,這是模型需要調試的原因,理解和修復ML模型中的問題對ML的未來至關重要。如果無法在模型表現不佳或行爲異常時對它們進行故障排除,大規模採用和部署ML將無法實現。

因爲所有ML模型都會出錯,所以所有關心ML的人也應該關心模型調試。這些人員包括高級管理人員,前線數據科學家以及風險,法律和合規人員。本文旨在作爲簡短的技術入門文章,介紹什麼是模型調試,幫助瞭解什麼是調試模型以及在實踐中如何調試模型的基礎知識。這些建議是基於我們作爲數據科學家和律師的經驗而建立的,專注於管理部署ML的風險。

什麼是模型調試?

有時ML模型只是單純錯誤,但是有時它們不僅錯誤並且在社會上具有歧視性,或者被黑,或者僅僅是不道德的。當前的模型評估技術,例如交叉驗證或ROC曲線,根本無法告訴我們部署ML模型時可能發生的所有令人討厭的事情是作爲大型、複雜、面向公衆的IT系統的一部分。

那就是模型調試的地方。模型調試是一門新興的學科,致力於發現和修復ML系統中的問題。除了更新的創新之外,該業務還借鑑了模型風險管理,傳統模型診斷和軟件測試。模型調試嘗試測試像代碼這樣的ML模型(因爲它們通常是代碼),並探查複雜的ML響應功能和決策邊界,以檢測和糾正ML系統中的準確性,公平性,安全性和其他問題。調試可能集中於多種故障模式(即ML模型可能會出錯),包括:

  • **不透明:**對於許多故障模式,您需要了解模型在做什麼,以便了解出了什麼問題以及如何解決。至關重要的是,透明度並不能保證可信賴的模型。但是透明通常是調試大量命令的先決條件。
  • **社會歧視:**目前,在ML中,有許多被廣泛宣傳的社會歧視事件。這些可能會對歧視性模型決策的主體造成損害,並對模型所有者造成重大的聲譽或法規損害。
  • **安全漏洞:**對抗參與者可能會破壞ML模型或與模型相關聯的數據的機密性,完整性或可用性,從而導致一系列不良後果。正如我們在最近的“未來隱私論壇”報告中所記錄的那樣,對ML的安全性的研究是一個不斷髮展的領域,也是一個日益嚴重的問題。
  • **隱私危害:**模型可以以多種多樣(並且還在不斷增長)的方式損害個人隱私。有關個人的數據可以在訓練了很長時間之後從ML模型中解碼(例如,通過所謂的反演或提取攻擊)。通過從非敏感數據中推斷敏感屬性以及其他危害,模型還可能侵犯個人隱私。
  • **模型衰減:**衆所周知,ML模型和數據管道“易碎”。這意味着意外的輸入數據或數據管道中隨時間的細微變化會嚴重破壞模型的性能。

預防和解決此類問題的最佳方法是模型調試。我們將在下面介紹調試方法。

如今的調試如何進行?

數據科學家至少有四種主要方法來查找ML模型中的錯誤:敏感性分析,殘差分析,基準模型和ML安全審覈。

儘管我們對每種方法的分析似乎都是技術性的,但我們認爲,瞭解可用的工具以及如何使用它們對於所有風險管理團隊都是至關重要的。任何技術能力的人都應該至少能夠考慮使用模型調試技術。

敏感性分析

靈敏度分析,有時稱爲假設分析?分析,是模型調試的主體。這是一個非常簡單而強大的想法:模擬發現的有趣數據,並查看模型對該數據的預測。因爲ML模型可以以非常令人驚訝的方式對從未見過的數據做出反應,所以用敏感性分析測試所有ML模型是最安全的。儘管無需正式框架即可進行敏感性分析相對簡單,但假設分析工具是開始使用TensorFlow系列中某些模型的好方法。敏感性分析的結構化方法包括:

  • **對抗性示例搜索:**這需要系統地搜索引起ML模型奇怪或明顯響應的數據行。圖1說明了對示例信用違約ML模型的示例對抗搜索。如果您使用的是Python和深度學習庫,那麼CleverHans和Foolbox軟件包還可以幫助您調試模型並查找對抗性示例。

圖1:對抗性示例搜索的結果顯示,根據示例信用違約ML模型,最近(PAYAMT1)低的信用卡付款和最近(PAYAMT2)第二低的信用卡付款導致了極高的違約概率。貨幣金額以新臺幣表示。圖由Patrick Hall和H2O.ai提供。

  • **局部依賴性,累積局部效應(ALE)和單個條件期望(ICE)曲線:**這涉及系統地可視化更改模型中一個或多個變量的影響。有一噸這些技術包:ALEPlot,DALEX,ICEbox,IML,和PDP中的R; 以及Python中的PDPbox和PyCEbox。
  • 隨機攻擊:將模型暴露於大量隨機輸入數據中,並觀察它們的反應。隨機攻擊可以揭示各種意外的軟件和數學錯誤。如果您不知道從哪裏開始調試ML系統,那麼隨機攻擊是上手的好地方。

殘差分析

殘差分析是另一種著名的模型調試技術系列。殘差是模型誤差的數字度量,本質上是模型預測與已知真實結果之間的差異。小殘差通常表示模型正確,而大殘差通常表示模型錯誤。殘差圖將輸入數據和預測放入二維可視化中,在該可視化中,經常可以清楚地看到有影響的異常值,數據質量問題和其他類型的錯誤。殘差分析的主要缺點是要計算殘差,需要真實的結果。這意味着在某些實時模型監視設置中很難處理殘差,但是殘差分析應該始終在模型訓練時就可以進行。

像圖2一樣,許多判別檢測技術也考慮模型誤差,尤其是在不同的人口統計羣體之間。 這種基本的偏差檢測練習有時稱爲“不同的影響分析”。 Gender Shades系列研究就是一個很好的例子,說明了影響人口模型的跨人口羣體錯誤分析的必要性。還有許多其他工具可用於歧視檢測。要了解有關測試ML模型以進行區分的更多信息,請檢出aequitas,AIF360,Themis等軟件包,以及更一般而言,由ML的公平性,問責制和透明度(FATML)社區創建的內容。

圖2:在示例信用違約模型中,分析了男性和女性的多種錯誤類型。這是一個很好的信號,表明男性和女性的錯誤相似,但這並不意味着該模型沒有歧視。圖由Patrick Hall和H2O.ai提供。

基準模型

基準模型是可以與ML模型進行比較的可信、簡單或可解釋的模型。檢查新的複雜ML模型是否確實優於簡單的基準模型總是一個好主意。一旦ML模型通過此基準測試,該基準模型就可以用作可靠的調試工具。基準模型可用於提出以下問題:“基準模型正確,我的ML模型做了哪些預測錯誤?爲什麼?”實時比較基準模型和ML模型的預測也可以幫助您瞭解準確性,公平性或安全異常發生時。

ML安全審覈

有幾種已知的針對機器學習模型的攻擊,它們可能導致更改的,有害的模型結果或暴露敏感的訓練數據。此外,傳統的模型評估措施不告訴我們很多關於一個模型是否安全。除了其他調試步驟外,謹慎的做法是將一些或所有已知的ML攻擊添加到組織已在進行的任何白帽黑客攻擊或紅隊審覈中。

我們發現了問題;我們做什麼?

因此,您已經實現了一些系統的方法,可以在我們討論過的基於ML的系統中查找準確性,公平性和安全性問題。您甚至發現了ML模型的一些問題。你能做什麼?這就是補救策略的用武之地。我們在下面討論七種補救策略。

可解釋的ML模型和可解釋的ML

我們提出的調試技術應該適用於幾乎所有基於ML的預測模型。但是它們將更易於在可解釋的模型或可解釋的ML上執行。因此,對於高風險的用例,我們建議使用可解釋的ML。幸運的是,近年來,爲此目的已取得了技術進步。對於可解釋和準確的ML模型,有很多選擇,並且有很多解釋和描述它們的方法。

模型編輯

某些ML模型被設計爲可解釋的,因此可以瞭解它們的工作方式。這些模型中的某些模型,例如決策樹或GA2M的變體(即可解釋的增強機),可以由人類用戶直接編輯。如果GA2M模型的內部運作中存在令人反感的問題,找到它並更改最終模型方程式以擺脫它並不是很困難。其他模型可能不像GA2M或決策樹那樣容易編輯,但是如果它們生成人類可讀的計算機代碼,則可以對其進行編輯。

模型斷言

模型斷言可以實時改善或覆蓋模型預測。[14]模型斷言是根據模型預測本身起作用的業務規則。例如,可以檢查模型推薦向其推薦廣告的酒精飲料客戶的年齡,或者檢查是否有大筆預付款,以表明高淨值個人即將違約。

歧視補救

有很多方法可以解決ML模型中的歧視問題。許多非技術解決方案涉及在數據科學團隊中促進專業知識和經驗的多樣化,並確保在模型構建的所有階段都涉及多種知識。組織應儘可能要求所有重要的數據科學項目包括在道德,隱私,社會科學或其他相關學科方面具有專長的人員。

從技術角度來看,歧視補救方法可分爲三大類:數據預處理,模型訓練和選擇以及預測後處理。對於預處理,仔細的特徵選擇以及對行進行採樣和重新稱重以最大程度地減少訓練數據中的歧視可能會有所幫助。

對於模型訓練和選擇,我們建議在選擇超參數和決策截止閾值時考慮公平性指標。這也可能涉及通過學習AIF360中的公平表示(LFR)和對抗性偏差來直接訓練公平模型,或者使用同時考慮準確性和公平性指標的雙重目標函數。最後,對於預測後處理,訓練後更改模型預測,例如AIF360或Themis ML中的拒絕選項分類,也可以幫助減少不必要的偏差。

模型監控

模型調試不是一項一勞永逸的任務。ML模型的準確性,公平性或安全性不是一成不變的。根據模型的操作環境,它們可能會隨時間發生重大變化。我們建議在部署ML模型後,定期定期監視ML模型的準確性,公平性和安全性問題。

異常檢測

奇怪的,異常的輸入和預測值在ML中總是令人擔憂,並且可以指示對ML模型的對抗性攻擊。幸運的是,可以使用多種工具和技術實時捕獲並糾正異常輸入和預測:輸入數據流上的數據完整性約束,輸入和預測上的統計過程控制方法,通過自動編碼器和隔離林進行異常檢測,以及通過將ML預測與基準模型預測進行比較。

結論和進一步閱讀

每個人都想要值得信賴的ML模型。這意味着隨着ML被更廣泛地採用,模型調試的重要性只會隨着時間的推移而增加。從Kagglers到一線數據科學家到法律和風險管理人員,以及ML消費者和決策者,這都是正確的。那些對更多細節感興趣的人可以更深入地研究GitHub上用於創建本文示例的代碼。或者,您可以通過查看2019年國際學習表示會議(ICLR)調試機器學習模型研討會的會議記錄,來了解ML研究社區中有關模型調試的更多信息。希望其中一些技巧對您和您的團隊有用。如果是這樣,請調試愉快!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章