モデルの解釈可能性

この記事では、Azure Machine Learning におけるモデルの解釈可能性に使用できるメソッドについて説明します。

重要

モデルの解釈可能性を含む、責任ある AI ダッシュボードのリリースに伴い、古い SDK v1 プレビュー モデルの解釈可能性ダッシュボードは積極的にはメンテナンスされなくなるため、新しいエクスペリエンスに移行することをお勧めします。

モデルのデバッグにモデルの解釈可能性が重要である理由

人々の生活に影響を与えるようなやり方で機械学習モデルが使われている場合、何がモデルの動作に影響を与えるかを理解することが非常に重要です。 解釈可能性は、次のようなシナリオで質問に答えるのに役立ちます。

  • モデルのデバッグ: モデルで誤りが発生したのはなぜですか? どのようにモデルを改善できますか?
  • 人間と AI のコラボレーション: モデルの決定を理解し、信頼するにはどうすればよいですか?
  • 規制コンプライアンス: モデルは法的要件を満たしていますか?

責任ある AI ダッシュボードの解釈可能性コンポーネントは、機械学習モデルの予測に関して人間が理解できる説明を生成することで、モデル ライフサイクル ワークフローの「診断」ステージに貢献します。 これによって、モデルの動作に複数の認識が与えられます。

  • グローバルな説明: たとえば、ローン配賦モデルの全体的な動作に影響する特徴量は何ですか?
  • ローカルな説明: たとえば、顧客のローン申請が承認または却下されたのはなぜですか?

また、データ ポイントのサブグループとして、選択したコーホートのモデルの説明を観察することもできます。 このアプローチは、たとえば、特定の人口統計グループの個人に対するモデル予測の公平性を評価するときに役に立ちます。 このコンポーネントの [ローカル説明] タブには、全般的なデータの把握と、各コーホートの正しい予測と正しくない予測の違いの調査に役立つ、完全なデータ可視化も表示されます。

このコンポーネントの機能は、モデルの説明を生成する InterpretML パッケージに基づいています。

次のことが必要なときは、解釈可能性を使用します。

  • 予測に最も重要な特徴を理解することで、AI システムの予測がどの程度信頼できるかを判断します。
  • 最初にモデルを理解し、モデルで正常な特徴量が使われているか、それとも単に誤った相関関係が使われているかを特定することで、モデルのデバッグにアプローチします。
  • モデルで、機密性の高い特徴量やそれらとの関連性が高い特徴量に基づいて予測が行われているどうかを理解することで、不公平性の可能性のある原因を明らかにします。
  • 結果を示すローカルな説明を生成することで、モデルの決定をユーザーが信頼できるようにします。
  • AI システムの規制監査を行ってモデルを検証し、モデルの決定が人間に与える影響を監視します。

モデルを解釈する方法

機械学習では、特徴量は、ターゲット データ ポイントの予測に使用するデータ フィールドです。 たとえば、信用リスクを予測するために、年齢、アカウント サイズ、アカウントの有効期間のデータ フィールドが使用されるとします。 ここでは、年齢、アカウント サイズ、アカウントの有効期間が特徴量です。 特徴量の重要度から、各データ フィールドがモデルの予測にどのような影響を与えたかがわかります。 たとえば、年齢は予測で頻繁に使用される可能性がありますが、アカウント サイズとアカウントの有効期間は予測値に大きな影響を与えない場合があります。 このプロセスを通じて、データ サイエンティストは、利害関係者がモデルの最も重要な特徴量を視覚的に把握できるように、結果の予測について説明できます。

責任ある AI ダッシュボードのクラスとメソッドを使用し、SDK v2 と CLI v2 を使用すると、次のことができます。

  • モデル全体 (グローバルな説明) や個々のデータ ポイント (ローカルな説明) の特徴量の重要度の値を生成し、モデルの予測を説明する。
  • 実際の大規模なデータセットに関するモデルの解釈可能性を実現する。
  • 対話型の視覚化ダッシュボードを使用して、トレーニング時のデータと説明のパターンを検出する。

SDK v1 のクラスとメソッドを使うと、次のことができます。

  • モデル全体や個々のデータポイントの特徴量の重要度の値を生成し、モデルの予測を説明する。
  • トレーニングおよび推論中の実際の大規模データセットに関するモデルの解釈可能性を実現する。
  • 対話型の視覚化ダッシュボードを使用して、トレーニング時のデータと説明のパターンを検出する。

Note

モデルの解釈可能性クラスは、SDK v1 パッケージを介して利用可能になります。 詳細については、Azure Machine Learning 用の SDK パッケージazureml.interpret のインストールに関するページを参照してください。

サポートされているモデルの解釈可能性の手法

責任ある AI ダッシュボードと azureml-interpret では、解釈可能なモデルをトレーニングし、不透明な箱の AI システムを説明するために役立つオープン ソースの Python パッケージである Interpret-Community で開発された解釈可能性の手法を使用しています。 不透明な箱のモデルは、内部の動作に関する情報がないモデルです。

Interpret-Community は、以下のサポートされている Explainer のホストとして機能し、現在は次のセクションで説明する解釈可能性の手法をサポートしています。

Python SDK v2 と CLI v2 の責任ある AI ダッシュボードでサポートされているもの

解釈可能性の手法 説明 種類
Mimic Explainer (グローバル サロゲート) + SHAP ツリー Mimic Explainer は、グローバル サロゲート モデルをトレーニングして不透明な箱モデルを模倣するアイデアに基づいています。 グローバル サロゲート モデルは、任意の不透明な箱モデルの予測をできる限り正確に近似するためにトレーニングされた本質的に解釈可能なモデルです。

データ サイエンティストは、サロゲート モデルを解釈して不透明な箱モデルについての結論を導き出すことができます。 責任ある AI ダッシュボードでは、LightGBM (LGBMExplainableModel) と SHAP (SHapley Additive exPlanations) の Tree Explainer との組み合わせが使われます。これは、ツリーとツリーのアンサンブルに固有の Explainer です。 LightGBM と SHAP ツリーの組み合わせにより、機械学習モデルのモデルに依存しないグローバルおよびローカルな説明が提供されます。
モデル非依存

テキスト モデルでサポートされているモデルの解釈可能性の手法

解釈可能性の手法 説明 種類 テキスト タスク
SHAP テキスト SHAP (SHapley Additive exPlanations) は、特定の予測に対する各入力特徴の貢献度について分析情報を提供するという、ディープ ニューラル ネットワークの一般的な説明手法です。 これは、協力ゲームの個々のプレイヤーにクレジットを割り当てるための方法であるシャープレイ値の概念に基づいています。 SHAP は、特徴の考えられるすべての組み合わせについて、モデルの出力に対して各特徴の平均貢献度を計算することで、この概念をニューラル ネットワークの入力特徴に適用します。 具体的には、テキストの場合、SHAP は単語を階層的に分割し、各単語またはトークンを 1 つの特徴として扱います。 これにより、特定の予測に対する各単語やトークンの重要性を定量化する一連の属性値が生成されます。 最終的な属性マップは、これらの値を元のテキスト ドキュメントに対するヒート マップとして視覚化することで生成されます。 SHAP はモデル非依存の手法であり、CNN、RNN、トランスフォーマーを含む幅広いディープ ラーニングモデルの説明に使用できます。 さらに、整合性、正確性、公平性など、いくつかの望ましい特性を備えているので、モデルの意思決定プロセスを理解する際に信頼性が高く解釈可能な手法です。 モデル非依存 テキスト マルチクラス分類、テキスト マルチラベル分類

画像モデルでサポートされているモデルの解釈可能性の手法

解釈可能性の手法 説明 種類 ビジョン タスク
SHAP ビジョン SHAP (SHapley Additive exPlanations) は、特定の予測に対する各入力特徴の貢献度について分析情報を提供するという、ディープ ニューラル ネットワークの一般的な説明手法です。 これは、協力ゲームの個々のプレイヤーにクレジットを割り当てるための方法であるシャープレイ値の概念に基づいています。 SHAP は、特徴の考えられるすべての組み合わせについて、モデルの出力に対して各特徴の平均貢献度を計算することで、この概念をニューラル ネットワークの入力特徴に適用します。 特にビジョンの場合、SHAP は、画像のスーパーピクセル領域を各特徴として扱い、階層的に画像を分割します。 これにより、特定の予測に対するスーパーピクセルまたは画像領域の重要性を定量化する一連の属性値が生成されます。 最終的な属性マップは、これらの値をヒートマップとして視覚化することで生成されます。 SHAP はモデル非依存の手法であり、CNN、RNN、トランスフォーマーを含む幅広いディープ ラーニングモデルの説明に使用できます。 さらに、整合性、正確性、公平性など、いくつかの望ましい特性を備えているので、モデルの意思決定プロセスを理解する際に信頼性が高く解釈可能な手法です。 モデル非依存 画像マルチクラス分類、画像マルチラベル分類
ガイド付き逆伝搬法 ガイド付き逆伝搬法は、モデルの学習した表現に関する分析情報を提供する、ディープ ニューラル ネットワークの一般的な説明方法です。 入力画像に対する出力の勾配を計算することで、モデル内の特定のニューロンをアクティブにする入力特徴の視覚化が生成されます。 他の勾配ベースの方法とは異なり、ガイド付き逆伝搬法は、正の勾配のみを逆伝搬し、負の勾配が視覚化に影響しないように変更した ReLU 活性化関数を使います。 この結果、特定の予測に対して入力画像中の最も重要な特徴が強調された、解釈しやすく高解像度の顕著性マップが得られます。 ガイド付き逆伝搬法は、畳み込みニューラル ネットワーク (CNN)、リカレント ニューラル ネットワーク (RNN)、トランスフォーマーなど、さまざまなディープ ラーニング モデルの説明に使用できます。 AutoML 画像マルチクラス分類、画像マルチラベル分類
ガイド付き gradCAM ガイド付き GradCAM は、モデルの学習した表現に関する分析情報を提供する、ディープ ニューラル ネットワークの一般的な説明方法です。 ガイド付き逆伝搬法の勾配ベースのアプローチと GradCAM の局所化アプローチを組み合わせることで、特定の出力クラスに最も貢献する入力特徴の視覚化を生成します。 具体的には、ネットワークの最後の畳み込みレイヤーの特徴マップに対する出力クラスの勾配を計算し、そのクラスに対する活性化の重大度に応じて、各特徴マップに重み付けを行います。 これにより、特定の出力クラスに対して、入力画像の最も判別性の高い領域を強調する高解像度のヒートマップが生成されます。 ガイド付き GradCAM は、CNN、RNN、トランスフォーマーなど、さまざまなディープ ラーニング モデルの説明に使用できます。 さらに、ガイド付き逆伝搬法を組み込むことで、疑似活性化や負の貢献を回避し、意味のある解釈可能な視覚化を実現します。 AutoML 画像マルチクラス分類、画像マルチラベル分類
統合勾配 統合勾配は、特定の予測に対する各入力特徴の貢献度について分析情報を提供するという、ディープ ニューラル ネットワークの一般的な説明手法です。 ベースライン画像と実際の入力画像の間の直線パスに沿って、入力画像に対する出力クラスの勾配の積分を計算します。 通常、このパスは 2 つの画像間の線状補間として選ばれ、ベースラインは目立った特徴のない中立的な画像です。 統合勾配は、このパスに沿って勾配を統合することで、各入力特徴が予測にどのくらい貢献しているかのメジャーを提供し、属性マップを生成することができます。 このマップは、最も影響力のある入力特徴を強調し、モデルの意思決定プロセスに関する分析情報を得るために使用できます。 統合勾配は、CNN、RNN、トランスフォーマーなど、さまざまなディープ ラーニング モデルの説明に使用できます。 さらに、感度、実装不変性、整合性などの一連の望ましい特性を満たす、理論に基づいた手法です。 AutoML 画像マルチクラス分類、画像マルチラベル分類
XRAI XRAI は統合勾配 (IG) に基づく新しい領域ベースの顕著性手法です。 画像を過剰にセグメント化し、各領域の重要性を繰り返しテストし、属性スコアに基づいて小さな領域を大きなセグメントに結合します。 この戦略により、既存の顕著性手法を上回る、高品質で厳密に境界付けられた顕著性領域が得られます。 類似性メトリックによって入力特徴をセグメントにクラスター化する方法がある限り、任意の DNN ベースのモデルに XRAI を使用できます。 AutoML 画像マルチクラス分類、画像マルチラベル分類
D-RISE D-RISE は、オブジェクト検出モデルの予測に対する視覚的な説明を作成するためのモデル非依存の手法です。 D-RISE は、オブジェクト検出の局所化と分類の両方の側面を考慮することで、検出機能の予測に最も貢献する画像の部分を強調する顕著性マップを作成できます。 D-RISE は、勾配ベースの手法とは異なり、より汎用的であり、オブジェクト検出機能の内部構造にアクセスする必要がありません。必要なのはモデルの入力と出力へのアクセスのみです。 この手法は、1 ステージ検出機能 (たとえば、YOLOv3)、2 ステージ検出機能 (たとえば、Faster-RCNN)、ビジョン トランスフォーマー (たとえば、DETR、OWL-ViT) に適用できます。
D-Rise は、入力画像のランダム マスクを作成することで顕著性マップを提供し、入力画像のランダム マスクと共にオブジェクト検出機能に送信します。 オブジェクト検出機能のスコアの変化を評価することで、各マスクでのすべての検出を集計し、最終的な顕著性マップを作成します。
モデル非依存 物体検出

Python SDK v1 でサポートされているもの

解釈可能性の手法 説明 Type
SHAP Tree Explainer SHAP の Tree Explainer は、ツリーとツリーのアンサンブルに固有の多項式時間高速 SHAP 値推定アルゴリズムに注目します。 モデル固有
SHAP Deep Explainer SHAP による説明に基づくと、Deep Explainer は "SHAP NIPS の論文で説明されている DeepLIFT との接続上に構築されているディープ ラーニング モデルでの SHAP 値に対する高速近似アルゴリズムです。 TensorFlow モデルと、TensorFlow バックエンドを使用する Keras モデルがサポートされています (PyTorch の暫定サポートもあります)。" モデル固有
SHAP Linear Explainer SHAP の Linear Explainer では、線形モデルの SHAP 値を計算し、必要に応じて機能間の相関関係を考慮します。 モデル固有
SHAP Kernel Explainer SHAP の Kernel Explainer では、特別に重み付けされたローカル線形回帰を使用して、任意のモデルの SHAP 値を推定します。 モデル非依存
Mimic Explainer (グローバル サロゲート) Mimic Explainer は、グローバル サロゲート モデルをトレーニングして不透明な箱モデルを模倣するアイデアに基づいています。 グローバル サロゲート モデルは、任意の不透明な箱モデルの予測をできる限り正確に近似するためにトレーニングされた本質的に解釈可能なモデルです。 データ サイエンティストは、サロゲート モデルを解釈して不透明な箱モデルについての結論を導き出すことができます。 サロゲート モデルとして、次のいずれかの解釈可能なモデルを使用できます。LightGBM (LGBMExplainableModel)、線形回帰 (LinearExplainableModel)、確率勾配降下説明可能モデル (SGDExplainableModel)、またはデシジョン ツリー (DecisionTreeExplainableModel)。 モデル非依存
Permutation Feature Importance Explainer Permutation Feature Importance (PFI) は、Breiman のランダム フォレスト論文 (セクション 10 を参照してください) から着想を得た、分類と回帰モデルの説明に使用される手法です。 概要を説明すると、データセット全体に対して一度に 1 つの特徴のデータをランダムにシャッフルし、対象のパフォーマンス メトリックがどのくらい変化するかを計算するしくみです。 変化が大きいほど、その特徴の重要度は高くなります。 PFI では、基になる任意のモデルの全体的な動作を説明できますが、個々の予測については説明しません。 モデル非依存

前のセクションで説明した解釈可能性の手法に加えて、Tabular Explainer と呼ばれる別の SHAP ベースの Explainer がサポートされています。 モデルによっては、Tabular Explainer ではサポートされている SHAP の Explainer のいずれかが使用されます。

  • すべてのツリー ベースのモデル向けの Tree Explainer
  • ディープ ニューラル ネットワーク (DNN) モデルの Deep Explainer
  • 線形モデル向けの Linear Explainer
  • その他のすべてのモデル向けの Kernel Explainer

Tabular Explainer ではまた、Direct SHAP Explainer より大きな機能とパフォーマンスの強化も行われています。

  • 初期化データセットの概要作成: 説明の速度が最も重要な場合、初期化データセットの概要を作成し、代表的なサンプルの小さなセットを生成します。 このアプローチにより、全体的な特徴量と個々の特徴量の重要度の値の生成が高速化されます。
  • 評価データ セットのサンプリング: ユーザーが評価サンプルの大きなセットを渡しても、実際にはそれらのすべてを評価する必要がない場合は、サンプリング パラメーターを true に設定し、全体的なモデルの説明の計算を高速化できます。

次の図は、サポートされている Explainer の現在の構造を示しています。

 Diagram of Machine Learning Interpretability architecture.

サポートされている機械学習モデル

SDK の azureml.interpret パッケージでは、次のデータセット形式でトレーニングされたモデルがサポートされています。

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

説明関数では、モデルとパイプラインの両方が入力として受け付けられます。 モデルを提供する場合、Scikit 規則に準拠する予測関数 predict または predict_proba が実装されている必要があります。 モデルでこれがサポートされていない場合は、Scikit で predict または predict_proba と同じ結果を生成する関数でそれをラップし、選択した Explainer でそのラッパー関数を使用できます。

パイプラインを提供する場合、説明関数では、パイプライン スクリプトの実行から予測が返るものと想定します。 このラップ技法を使用すると、azureml.interpret は、PyTorch、TensorFlow、Keras ディープ ラーニング フレームワークや従来の機械学習モデルによってトレーニングされたモデルをサポートできます。

ローカルとリモートのコンピューティング先

azureml.interpret パッケージは、ローカルおよびリモート両方のコンピューティング先で動作するように設計されています。 パッケージをローカルで実行した場合、SDK 関数はどの Azure サービスにもアクセスしません。

Azure Machine Learning コンピューティング上で説明をリモートで実行し、説明情報を Azure Machine Learning 実行履歴サービスに記録できます。 この情報が記録されると、説明からのレポートと視覚化が、分析のために Azure Machine Learning スタジオですぐに使用できます。

次の手順