文 / Google AI 軟體工程師 James Wexler
來源 | TensorFlow 公眾號
構建有效的機器學習 (ML) 系統需要提出許多問題。僅僅訓練一個模型,然後放任不管,是遠遠不夠的。而優秀的開發者就像偵探一樣,總是不斷探索,試圖更好地理解自己的模型:資料點的變化對模型的預測結果有何影響?對於不同的群體,例如在歷史上被邊緣化的人群,模型的表現是否有所不同?用於測試模型的資料集的多樣化程度如何?
要回答這些型別的問題並不容易。探索 “What-If” 場景通常意味著編寫一次性的自定義程式碼來分析特定模型。此過程不僅效率低下,而且非程式設計人員很難參與塑造和改進 ML 模型的過程。Google AI PAIR 計劃的一個重點就是讓廣大使用者能夠更輕鬆地檢查、評估和除錯 ML 系統。
我們釋出了 What-If 工具(pair-code.github.io/what-if-too… TensorBoard 網路應用的一個新功能,可以讓使用者在無需編寫程式碼的情況下分析 ML 模型。在給定 TensorFlow 模型和資料集指標的前提下,What-If 工具可為模型結果探索提供互動式可視介面。
What-If 工具:展示了一組面部圖片(共 250 張),以及微笑檢測模型得出的結果What-If 工具擁有各種功能,包括使用 Facets 自動視覺化資料集、手動編輯資料集示例並檢視相關更改的影響,以及自動生成區域性依賴圖(顯示模型的預測結果如何隨任何單個功能的更改而變化)。下面詳細探索其中兩項功能。
探索資料點上的 What-If 場景反事實
只需點選一下按鈕,即可將某個資料點與模型預測不同結果的最相似點進行比較。我們將這些點稱為 “反事實”,它們可以清楚顯示出模型的決策邊界。或者,您也可以手動編輯一個資料點,然後探索模型預測的變化情況。在下方的螢幕截圖中,我們將該工具用於二進位制分類模型。此模型根據 UCI 人口普查資料集的公開人口普查資料來預測某個人的收入是否超過 5 萬美元。這是 ML 研究人員常用的基準預測任務,特別適用於分析演算法公平性的情況,我們很快會談及這個話題。在這個案例中,對於選定的資料點,模型預測此人收入超過 5 萬美元的置信度為 73%。該工具自動找出資料集中與此最相似的人(模型預測其收入少於 5 萬美元),並將二者進行並排比較。在此案例中,只需對年齡和職業作出微小的改變,模型的預測就會出現大幅變化。
反事實對比表現和演算法公平性分析
您也可以探索不同分類閾值的影響,並考慮不同數值公平性標準等限制條件。下方的螢幕截圖展示了微笑檢測模型的結果,該模型使用開源 CelebA 資料集(由帶註解的名人面部影像組成)進行訓練。在下圖中,我們根據頭髮是否為棕色,將資料集中的面部影像分成兩組,併為其中每組繪製一條 ROC 曲線和預測結果的混淆矩陣,同時提供滑塊,設定模型必須在達到一定的置信度,才會判定是否為微笑的面部影像。在此案例中,該工具自動為兩組設定了置信度閾值,以優化模型,從而實現機會均等。
比較兩組資料在微笑檢測模型上的表現,並將其分類閾值設定為滿足 “機會均等” 限制條件演示
為了說明 What-If 工具的功能,我們釋出了一組使用預訓練模型的演示:
檢測錯誤分類:這是一種多分類模型,通過對植物花朵的四次測量來預測植物種類。該工具有助於顯示模型的決策邊界和導致錯誤分類的原因。該模型使用 UCI 鳶尾花資料集進行訓練。
評估二進位制分類模型的公平性:這是上文提及的微笑檢測影像分類模型。該工具有助於評估不同子組的演算法公平性。在訓練模型的過程中,為了展示該工具如何幫助揭示模型中的此類偏見,我們特意沒有提供來自特定人群子集的任何示例。評估公平性需要謹慎考慮整體環境,但這是很有用的量化起點。
研究不同子組的模型表現:這是根據人口普查資訊預測物件年齡的迴歸模型。該工具有助於展示模型在不同子組的相對錶現,以及不同特點如何分別影響預測結果。該模型使用 UCI 人口普查資料集進行訓練。
What-If 的實際應用
我們與 Google 內部團隊一起測試了 What-If 工具的表現,從中看到這個工具的直接價值。有一個團隊很快發現,他們的模型錯誤地忽略了資料集的一個整體特點,進而修復了之前並未發現的程式碼錯誤。另一個團隊使用該工具將其示例按表現最佳到最差進行直觀排列,進而發現表現不佳的模型示例型別有何模式。
我們希望 Google 內部和外部的人士都能使用此工具,以更好地理解 ML 模型,並開始評估其公平性。此外,由於此程式碼是開源的,我們歡迎大家為該工具的發展添磚加瓦。
致謝
What-If 是眾人合作的成果,其成功離不開 Mahima Pushkarna 設計的使用者體驗,Jimbo Wilson 對 Facets 作出的更新,還有許多其他人提供的意見。我們想感謝測試此工具並提供寶貴反饋的 Google 團隊,還要感謝 TensorBoard 團隊的一切幫助。