有了這款What-If工具,無需程式碼即可掌握模型的所有資料
來源:Google Blog
編譯:Bing
編者按:如果不用寫程式碼就能對機器學習模型進行審查,那會是怎樣的體驗?今天,谷歌開源了一款工具,名為What-If,具體有以下幾種功能:
- 對推斷結果視覺化;
- 編輯資料點,看模型會有怎樣的反應;
- 研究單一特徵對模型的影響;
- 研究反事實樣本;
- 用相似度安排樣本;
- 檢視混淆矩陣和ROC曲線;
- 測試演算法公平性。
以下是論智對這一工具進行的詳細介紹:
打造高效的機器學習系統意味著要問很多問題,僅僅訓練模型是不夠的,優秀的機器學習專家會像偵探一樣,對模型進行詳細調查,以更好地理解它們:資料點的改變將如何影響模型的預測?針對不同的群體,模型的表現有何不同?我要測試的資料集中包含多少種類的資料?
想要回答這類問題可並不容易。研究機器學習模型的使用場景通常要用定製的、一次性的程式碼分析。這一過程不僅低效,而且對不會程式設計的人員也不友好。谷歌AI PAIR計劃其中一個努力方向就是讓更多的人能參與到機器學習系統的檢查、評估和debug中來。
今天,我們釋出What-If工具,這是一款新的開源TensorBoard網頁應用,能讓我們無需編寫程式碼就能分析一款機器學習模型。給定一個TensorFlow模型和資料集,What-If工具可以展示出表現模型結果的互動介面。

What-If工具有多種功能,包括用Facets自動對你的資料集進行視覺化、從資料集中手動編輯樣本的能力以及觀察這些變化帶來的影響、並且自動生成partial dependence plots,展示模型的預測是如何隨著單一特徵的變化而變化的。接下來就是對這兩種特徵的詳細介紹。

反事實(counterfactuals)
只需要點選滑鼠,你就能比較一個數據點和另一個相似的資料點,但模型在後者上預測出了不同的結果。我們將這樣的資料點稱為“counterfactuals”,它們可以告訴你有關模型決策邊界的資訊。
在下方的截圖中,這款工具就用到了一個二元分類模型上,它是根據UCI的人口普查資料來判斷某人的收入是否大於5萬美元。這是很多機器學習研究者都會用到的預測模型,尤其是分析演算法的公平性時。在這個案例中,對於選擇的資料點,模型預測出的結果有73%的置信度認為該人的收入高於5萬美金。該工具自動定位了資料集中另一位與之相似的物件,但模型預測他的收入小於5萬美金,並將這兩個目標進行了比對。在這種情況下,對年齡和職業進行稍稍改動,模型的預測就有了變化。

分析模型效能和演算法公平性
你還可以探索不同分類閾值所帶來的不同影響,下方的截圖展示了另一個微笑監測模型的結果,他在開源的CelebA資料集上進行的訓練,該資料集含有經過標記的名人人臉影象。在下方的案例中,資料集中的人臉根據頭髮顏色進行了分類,每兩組數都有一個ROC曲線和針對預測的混淆矩陣,以及設定了模型判斷人臉在微笑的信心有多少。在這個案例中,兩組資料的置信區間是用該工具自動設定的,從而保證公平性。

Demos
為了說明What-If工具的能力,我們用預訓練模型展示了一套demo:
- 檢測錯誤分類:一個多種類分類模型,它可以從眾多植物中預測某株植物的種類。這一工具在展示模型決策邊界、判斷如何造成錯誤分類時是非常有用的。模型是在UCI iris資料集上進行訓練的。
- 評估二元分類模型中的公平性:正是上文中我們提到的微笑探測模型。What-If工具可以幫助我們在多個分類中評估演算法公平性。模型在訓練時沒有提供任何具體任務的圖片,為的就是證明What-If工具能如何幫助模型解除偏見。評估公平性需要仔細考慮所有語境,但這的確是有用的量化起始點。
- 在不同子集中研究模型效能:例如一個可以預測目標物件年齡的迴歸模型,What-If工具就可以展示與模型相關的其他子集上的效能資訊,以及不同的特徵是如何影響預測結果的。模型同樣是在UCI人口普查資料集上進行的訓練。
在實際中應用What-If工具
我們在谷歌內部團隊中對What-If進行了測試,發現了它的很多好處。其中一個團隊很快就發現了他們的模型忽視了資料集中的一個重要的特徵,從而修復了之前沒有發現的程式碼bug。另一個團隊用該工具對它們的樣本效能進行從優到劣的視覺化排序,讓他們看到了模型樣本的型別構成。
不論是谷歌的員工還是其他領域的從業者,我們都希望這款工具能讓使用者更好地瞭解機器學習模型,並對公平性有所瞭解。另外,此工具的程式碼是開源的,歡迎大家嘗試並提出意見。
程式碼地址: ofollow,noindex">github.com/tensorflow/tensorboard/tree/master/tensorboard/plugins/interactive_inference