構(gòu)建有效的機器學(xué)習(xí) (ML) 系統(tǒng)需要提出許多問題。僅僅訓(xùn)練一個模型,然后放任不管,是遠遠不夠的。而優(yōu)秀的開發(fā)者就像偵探一樣,總是不斷探索,試圖更好地理解自己的模型:數(shù)據(jù)點的變化對模型的預(yù)測結(jié)果有何影響?對于不同的群體,例如在歷史上被邊緣化的人群,模型的表現(xiàn)是否有所不同?用于測試模型的數(shù)據(jù)集的多樣化程度如何?要回答這些類型的問題并不容易。探索 “What-If” 場景通常意味著編寫一次性的自定義代碼來分析特定模型。此過程不僅效率低下,而且非編程人員很難參與塑造和改進 ML 模型的過程。Google AI PAIR 計劃的一個重點就是讓廣大用戶能夠更輕松地檢查、評估和調(diào)試 ML 系統(tǒng)。
我們發(fā)布了What-If 工具(https://pair-code.github.io/what-if-tool/),這是開源TensorBoard網(wǎng)絡(luò)應(yīng)用的一個新功能,可以讓用戶在無需編寫代碼的情況下分析 ML 模型。在給定 TensorFlow 模型和數(shù)據(jù)集指針的前提下,What-If 工具可為模型結(jié)果探索提供交互式可視界面。
What-If 工具:展示了一組面部圖片(共 250 張),以及微笑檢測模型得出的結(jié)果
What-If 工具擁有各種功能,包括使用Facets自動可視化數(shù)據(jù)集、手動編輯數(shù)據(jù)集示例并查看相關(guān)更改的影響,以及自動生成局部依賴圖(顯示模型的預(yù)測結(jié)果如何隨任何單個功能的更改而變化)。下面詳細探索其中兩項功能。
探索數(shù)據(jù)點上的 What-If 場景
反事實
只需點擊一下按鈕,即可將某個數(shù)據(jù)點與模型預(yù)測不同結(jié)果的最相似點進行比較。我們將這些點稱為 “反事實”,它們可以清楚顯示出模型的決策邊界?;蛘撸部梢允謩泳庉嬕粋€數(shù)據(jù)點,然后探索模型預(yù)測的變化情況。在下方的屏幕截圖中,我們將該工具用于二進制分類模型。此模型根據(jù)UCI 人口普查數(shù)據(jù)集的公開人口普查數(shù)據(jù)來預(yù)測某個人的收入是否超過 5 萬美元。這是 ML 研究人員常用的基準(zhǔn)預(yù)測任務(wù),特別適用于分析算法公平性的情況,我們很快會談及這個話題。在這個案例中,對于選定的數(shù)據(jù)點,模型預(yù)測此人收入超過 5 萬美元的置信度為 73%。該工具自動找出數(shù)據(jù)集中與此最相似的人(模型預(yù)測其收入少于 5 萬美元),并將二者進行并排比較。在此案例中,只需對年齡和職業(yè)作出微小的改變,模型的預(yù)測就會出現(xiàn)大幅變化。
反事實對比
表現(xiàn)和算法公平性分析
您也可以探索不同分類閾值的影響,并考慮不同數(shù)值公平性標(biāo)準(zhǔn)等限制條件。下方的屏幕截圖展示了微笑檢測模型的結(jié)果,該模型使用開源CelebA 數(shù)據(jù)集(由帶注解的名人面部圖像組成)進行訓(xùn)練。在下圖中,我們根據(jù)頭發(fā)是否為棕色,將數(shù)據(jù)集中的面部圖像分成兩組,并為其中每組繪制一條ROC 曲線和預(yù)測結(jié)果的混淆矩陣,同時提供滑塊,設(shè)定模型必須在達到一定的置信度,才會判定是否為微笑的面部圖像。在此案例中,該工具自動為兩組設(shè)置了置信度閾值,以優(yōu)化模型,從而實現(xiàn)機會均等。
比較兩組數(shù)據(jù)在微笑檢測模型上的表現(xiàn),并將其分類閾值設(shè)置為滿足 “機會均等” 限制條件
演示
為了說明 What-If 工具的功能,我們發(fā)布了一組使用預(yù)訓(xùn)練模型的演示:
檢測錯誤分類:這是一種多分類模型,通過對植物花朵的四次測量來預(yù)測植物種類。該工具有助于顯示模型的決策邊界和導(dǎo)致錯誤分類的原因。該模型使用UCI 鳶尾花數(shù)據(jù)集進行訓(xùn)練。
評估二進制分類模型的公平性:這是上文提及的微笑檢測圖像分類模型。該工具有助于評估不同子組的算法公平性。在訓(xùn)練模型的過程中,為了展示該工具如何幫助揭示模型中的此類偏見,我們特意沒有提供來自特定人群子集的任何示例。評估公平性需要謹(jǐn)慎考慮整體環(huán)境,但這是很有用的量化起點。
研究不同子組的模型表現(xiàn):這是根據(jù)人口普查信息預(yù)測對象年齡的回歸模型。該工具有助于展示模型在不同子組的相對表現(xiàn),以及不同特點如何分別影響預(yù)測結(jié)果。該模型使用UCI 人口普查數(shù)據(jù)集進行訓(xùn)練。
What-If 的實際應(yīng)用
我們與 Google 內(nèi)部團隊一起測試了 What-If 工具的表現(xiàn),從中看到這個工具的直接價值。有一個團隊很快發(fā)現(xiàn),他們的模型錯誤地忽略了數(shù)據(jù)集的一個整體特點,進而修復(fù)了之前并未發(fā)現(xiàn)的代碼錯誤。另一個團隊使用該工具將其示例按表現(xiàn)最佳到最差進行直觀排列,進而發(fā)現(xiàn)表現(xiàn)不佳的模型示例類型有何模式。我們希望 Google 內(nèi)部和外部的人士都能使用此工具,以更好地理解 ML 模型,并開始評估其公平性。此外,由于此代碼是開源的,我們歡迎大家為該工具的發(fā)展添磚加瓦。
致謝
What-If 是眾人合作的成果,其成功離不開 Mahima Pushkarna 設(shè)計的用戶體驗,Jimbo Wilson 對 Facets 作出的更新,還有許多其他人提供的意見。我們想感謝測試此工具并提供寶貴反饋的 Google 團隊,還要感謝 TensorBoard 團隊的一切幫助。
-
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134635 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25449
原文標(biāo)題:What-If 工具:無需寫代碼,即可測試機器學(xué)習(xí)模型
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
HarmonyOS應(yīng)用自定義鍵盤解決方案
使用什么API來編寫具有已知UUID兩者的自定義服務(wù)特性?
zynq自定義ip中的時鐘頻率是多少?
我可以編寫自定義代碼來控制沒有Motor Pilot的電機嗎?
找到一個文檔來描述不同的錯誤代碼對CAN FD模塊意味著什么?
STATCOM自定義建模及動穩(wěn)態(tài)調(diào)壓分析
SOPC中自定義外設(shè)和自定義指令性能分析

RTWconfigurationguide基于模型設(shè)計—自定義目
iOS自定義轉(zhuǎn)場動畫例程與需要注意的問題

評論