BigQuery Explainable AI の概要
このドキュメントでは、BigQuery ML が XAI とも呼ばれる Explainable AI(AI)をサポートする仕組みについて説明します。
Explainable AI は、データ行の各特徴がどのように予測結果に影響を与えるかを定義することで、予測 ML モデルが分類タスクと回帰タスクに対して生成する結果の理解を容易にします。この情報は多くの場合、特徴アトリビューションと呼ばれます。この情報を使用して、モデルが期待どおりに動作していることを検証すること、モデルのバイアスを認識すること、モデルやトレーニング データの改善方法を知ることができます。
BigQuery ML と Vertex AI にはいずれも、特徴ベースの説明を提供する Explainable AI のサービスがあります。説明可能性は、BigQuery ML で利用することも、Vertex AI にモデルを登録してそこで利用することもできます。
各モデルタイプでサポートされている SQL ステートメントと関数については、各モデルのエンドツーエンドのユーザー ジャーニーをご覧ください。
ローカルとグローバルの説明可能性
説明可能性には、ローカルの説明可能性とグローバルの説明可能性の 2 種類があります。これらはそれぞれ、ローカルな特徴の重要度とグローバルな特徴の重要度とも呼ばれています。
- ローカルの説明可能性は、説明された各例の特徴アトリビューション値を返します。これらの値は、特定の特徴がベースライン予測に対して予測にどの程度影響するかを示します。
- グローバルの説明可能性は、モデルに対する特徴の全体的な影響を返し、多くの場合、データセット全体にわたる特徴アトリビューションを集計することで得られます。絶対値が大きいほど、特徴がモデルの予測により大きな影響を与えたことを示します。
BigQuery ML の Explainable AI サービス
BigQuery ML の Explainable AI は、時系列モデルと非時系列モデルの両方を含む、さまざまな ML モデルをサポートしています。各モデルは、異なる方法で説明可能性を利用しています。
モデルカテゴリ | モデルタイプ | 説明可能性のメソッド | メソッドの基本的な説明 | ローカル説明関数 | グローバル説明関数 |
---|---|---|---|---|---|
教師ありモデル | 線形回帰とロジスティック回帰 | Shapley 値 | 線形モデルの Shapley 値は model weight * feature
value と等しく、特徴値が標準化され、モデルの重みは標準化された特徴値でトレーニングされます。 |
ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
標誤差と P 値 | モデルの重みに対する有意性テストには、標準エラーと p 値が使用されます。 | なし | ML.ADVANCED_WEIGHTS 4 |
||
ブーストされたツリー ランダム フォレスト |
Tree SHAP | Tree SHAP は、ディシジョン ツリーベースのモデルで正確な SHAP 値を計算するアルゴリズムです。 | ML.EXPLAIN_PREDICT 1 |
ML.GLOBAL_EXPLAIN 2 |
|
近似特徴量の寄与 | 特徴量の寄与の値を近似する。Tree 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 | サンプリングされた 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
Explainable AI は、エクスポート可能な教師あり学習モデルのサブセットに対して Vertex 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 |
これらの方式の詳細については、特徴アトリビューション方式をご覧ください。
Model Registry で Explainable AI を有効にする
BigQuery ML モデルが Model Registry に登録されていて、Explainable AI をサポートするモデルタイプの場合、エンドポイントにデプロイするときに、モデルで Explainable AI を有効にできます。BigQuery ML モデルを登録すると、関連するすべてのメタデータが入力されます。
- BigQuery ML モデルを Model Registry に登録します。
- Google Cloud コンソールの BigQuery セクションから [Model Registry] ページに移動します。
- Model Registry から BigQuery ML モデルを選択し、モデル バージョンをクリックしてモデルの詳細ページにリダイレクトします。
- モデル バージョンから [その他の操作] を選択します。
- [エンドポイントへのデプロイ] をクリックします。
- エンドポイントを定義します。エンドポイント名を作成して [続行] をクリックします。
- マシンタイプを選択します(
n1-standard-2
など)。 - [モデル設定] のロギング セクションで、Explainability のオプションを有効にするチェックボックスをオンにします。
- [完了]、[続行] の順にクリックしてエンドポイントにデプロイします。
Model Registry からモデルで XAI を使用する方法については、デプロイされたモデルを使用してオンライン説明を取得するをご覧ください。Vertex AI での XAI の詳細については、説明を取得するをご覧ください。
次のステップ
- Vertex AI で BigQuery ML モデルを管理する方法を学習する。