BigQuery Explainable AI 總覽
本文說明 BigQuery ML 如何支援可解釋的人工智慧 (AI),有時也稱為 XAI。
Explainable AI 會定義資料列中各項特徵對預測結果的影響程度,協助您瞭解預測機器學習模型為分類和迴歸任務產生的結果。這類資訊通常稱為功能歸因。有了這項資訊,您就能確認模型的行為是否符合預期、找出模型偏誤,以及探索改善模型和訓練資料的方式。
BigQuery ML 和 Vertex AI 都提供 Explainable AI 服務,可提供以特徵為基礎的解釋。您可以在 BigQuery ML 中執行可解釋性,也可以在 Vertex AI 中註冊模型,並在該處執行可解釋性。
如要瞭解每個模型類型支援的 SQL 陳述式和函式,請參閱「每個模型的端對端使用者歷程」。
局部與全域可解釋性
可解釋性分為兩種:局部可解釋性和全域可解釋性。這兩者也分別稱為本機特徵重要性和全域特徵重要性。
- 局部可解釋性會針對每個解釋範例傳回特徵歸因值。這些值說明特定特徵相對於基準預測結果,對預測結果的影響程度。
- 全域可解釋性會傳回特徵對模型的整體影響,通常是透過在整個資料集上匯總特徵歸因而得。絕對值越高,表示特徵對模型預測的影響越大。
BigQuery ML 中的 Explainable AI 產品
BigQuery ML 中的 Explainable AI 支援各種機器學習模型,包括時間序列和非時間序列模型。每個模型都採用不同的可解釋性方法。
模型類別 | 模型類型 | 可解釋性方法 | 方法的基本說明 | 本機說明函式 | 全域解釋函式 |
---|---|---|---|---|---|
監督式模型 | 線性與邏輯迴歸 | Shapley 值 | 線性模型的 Shapley 值等於 model weight * feature
value ,其中特徵值已標準化,模型權重則是使用標準化特徵值訓練。 |
ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
標準誤差和 P 值 | 標準誤差和 p 值可用於針對模型權重進行顯著性測試。 | 不適用 | ML.ADVANCED_WEIGHTS 4 |
||
提升樹 隨機森林 |
樹狀 SHAP | Tree SHAP 是一種演算法,可為以決策樹為基礎的模型計算確切的 SHAP 值。 | ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
|
大致的功能貢獻 | 近似特徵貢獻值。相較於樹狀 SHAP,這項功能更快速簡單。 | ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
||
以吉尼指數為依據的特徵重要性 | 全域特徵重要性分數,表示各項特徵在訓練期間建構提升樹或隨機森林模型時的實用性或價值。 | 不適用 | ML.FEATURE_IMPORTANCE |
||
深層類神經網路 (DNN) 廣度和深度 |
積分梯度 | 這項以梯度為基礎的方法,可利用與 Shapley 值相同的定理屬性,有效地計算特徵歸因。可提供確切功能歸因的近似取樣。其準確度由 integrated_gradients_num_steps 參數控制。 |
ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
|
AutoML Tables | Sampled Shapley | Shapley 取樣會為每項特徵指派模型結果額度,並考慮不同特徵的排列組合。這個方法可提供確切 Shapley 值的近似取樣。 | 不適用 | ML.GLOBAL_EXPLAIN 2 |
|
時間序列模型 | ARIMA_PLUS | 時間序列分解 | 如果時間序列中含有這些元件,則會將時間序列分解為多個元件。這些元件包括趨勢、季節性、節日、步驟變更,以及尖峰和低谷。詳情請參閱 ARIMA_PLUS 建模管道。 | ML.EXPLAIN_FORECAST 3 |
不適用 |
ARIMA_PLUS_XREG | 時間序列分解 和 Shapley 值 |
將時間序列分解為多個元件,包括趨勢、季節性、假日、步驟變更,以及峰值和谷值 (類似 ARIMA_PLUS)。
每個外部迴歸器的歸因值會根據 Shapley 值計算,該值等於 model weight * feature value 。 |
ML.EXPLAIN_FORECAST 3 |
不適用 |
1ML_EXPLAIN_PREDICT
是 ML.PREDICT
的擴充版本。
2ML.GLOBAL_EXPLAIN
會傳回全域可解釋性,方法是取得評估資料集中所有列的平均絕對歸因值,然後將其套用至每個特徵。
3ML.EXPLAIN_FORECAST
是 ML.FORECAST
的擴充版本。
4ML.ADVANCED_WEIGHTS
是 ML.WEIGHTS
的擴充版本。
Vertex AI 中的 Explainable AI
Vertex AI 提供可解釋 AI 功能,適用於下列可匯出的監督式學習模型子集:
模型類型 | Explainable AI 方法 |
---|---|
dnn_classifier | 積分梯度 |
dnn_regressor | 積分梯度 |
dnn_linear_combined_classifier | 積分梯度 |
dnn_linear_combined_regressor | 積分梯度 |
boosted_tree_regressor | Shapley 取樣 |
boosted_tree_classifier | Shapley 取樣 |
random_forest_regressor | Shapley 取樣 |
random_forest_classifier | Shapley 取樣 |
如要進一步瞭解這些方法,請參閱「功能歸因方法」。
在模型註冊中心啟用可解釋的 AI
當 BigQuery ML 模型註冊至 Model Registry 時,如果該模型支援 Explainable AI,您可以在部署至端點時,為模型啟用 Explainable AI。註冊 BigQuery ML 模型時,系統會為您填入所有相關聯的中繼資料。
- 將 BigQuery ML 模型註冊至 Model Registry。
- 在 Google Cloud 控制台的「BigQuery」部分,前往「Model Registry」頁面。
- 在 Model Registry 中選取 BigQuery ML 模型,然後按一下模型版本,即可重新導向至模型詳細資料頁面。
- 在模型版本中選取「更多動作」。
- 按一下「Deploy to endpoint」。
- 定義端點:建立端點名稱,然後按一下「繼續」。
- 選取機器類型,例如
n1-standard-2
。 - 在「Model settings」下方的「Logging」部分,勾選核取方塊即可啟用「Explainability」選項。
- 依序點選「完成」和「繼續」,即可部署至端點。
如要瞭解如何在 Model Registry 中使用 XAI 模型,請參閱「使用已部署的模型取得線上說明」。如要進一步瞭解 Vertex AI 中的 XAI,請參閱「取得說明」。