XAI の目標は、モデルの動作と決定について意味のある説明を提供することです。この記事では、説明可能な AI で現在利用可能な 10 個の Python ライブラリをまとめています
XAI、Explainable AI とは、人工知能 (AI) の意思決定プロセスと予測に対して明確でわかりやすい説明を提供できるシステムまたは戦略を指します。 XAI の目標は、モデルの意思決定における信頼性の向上、説明責任、透明性の提供に役立つ、ユーザーの行動と意思決定について有意義な説明を提供することです。 XAI は解釈に限定されず、ユーザーが推論を抽出して解釈しやすくする方法で ML 実験も行います。
実際には、XAI は、特徴の重要度の測定、視覚化技術の使用、または決定木や線形回帰モデルなどの本質的に解釈可能なモデルの構築など、さまざまな方法を通じて実現できます。どの方法を選択するかは、解決する問題の種類と必要な解釈可能性のレベルによって異なります。
AI システムは、ヘルスケア、金融、刑事司法など、ますます多くのアプリケーションで使用されており、人々の生活に対する AI の潜在的な影響が大きく、特定の理由を理解した上で意思決定が行われる場合に使用されています。これらの分野での誤った決定の代償は大きい(リスクが高い)ため、AI によって行われた決定であっても、妥当性と説明可能性を慎重にチェックする必要があるため、XAI の重要性がますます高まっています。
データ準備: この段階にはデータの収集と処理が含まれます。データは高品質でバランスが取れており、解決されている現実世界の問題を表している必要があります。バランスの取れた代表的なクリーンなデータがあれば、AI の説明可能性を維持するための今後の取り組みが軽減されます。
モデル トレーニング: モデルは、従来の機械学習モデルまたは深層学習ニューラル ネットワークのいずれかの準備されたデータでトレーニングされます。モデルの選択は、解決する問題と必要な解釈可能性のレベルによって異なります。モデルが単純であればあるほど、結果の解釈は容易になりますが、単純なモデルのパフォーマンスはあまり高くありません。
モデルの評価: モデルの解釈可能性を維持するには、適切な評価方法とパフォーマンス指標を選択する必要があります。この段階でモデルの解釈可能性を評価して、予測に対して有意義な説明を提供できることを確認することも重要です。
説明の生成: これは、特徴の重要度の測定、視覚化技術などのさまざまな技術を使用して、または本質的に説明可能なモデルを構築することによって実行できます。
説明の検証: モデルによって生成された説明の正確性と完全性を検証します。これは、説明が信頼できるものであることを確認するのに役立ちます。
展開と監視: XAI の作業は、モデルの作成と検証だけでは終わりません。導入後も継続的な説明作業が必要です。実際の環境で監視する場合は、システムのパフォーマンスと解釈可能性を定期的に評価することが重要です。
SHAP は、あらゆる機械学習モデルの出力を説明するために使用できるゲーム理論の手法です。ゲーム理論の古典的な Shapley 値とその関連拡張を使用して、最適なクレジット割り当てをローカルな解釈に関連付けます。
LIME は、特定の予測をローカルで近似するモデル非依存の手法です。モデルの動作を次のように囲みます。と連携。 LIME は、機械学習モデルが何をしているのかを説明しようとします。 LIME は、テキスト分類子、表形式データの分類子、または画像の個々の予測の解釈をサポートします。
ELI5 は、機械学習分類器のデバッグとその予測の解釈に役立つ Python パッケージです。次の機械学習フレームワークとパッケージのサポートを提供します。
基本的な使用法:
Show_weights() はモデルのすべての重みを表示します。Show_prediction() はモデルの個々の予測を確認するために使用できます
ELI5 は、ブラック ボックス モデルをチェックするためのいくつかのアルゴリズムも実装しています。
TextExplainer は、LIME アルゴリズムを使用して、テキスト分類子の予測を説明します。順列重要度法は、ブラックボックス推定器の特徴重要度を計算するために使用できます。
Shapash は、モデルを理解しやすくするために、いくつかのタイプの視覚化を提供します。この概要を使用して、モデルによって提案された決定を理解します。このプロジェクトは MAIF データサイエンティストによって開発されました。 Shapash は主に一連の優れたビジュアライゼーションを通じてモデルを説明します。
Shapash は Web アプリケーション メカニズムを通じて動作し、Jupyter/ipython と完全に統合できます。
from shapash import SmartExplainer xpl = SmartExplainer( model=regressor, preprocessing=encoder, # Optional: compile step can use inverse_transform method features_dict=house_dict# Optional parameter, dict specifies label for features name ) xpl.compile(x=Xtest, y_pred=y_pred, y_target=ytest, # Optional: allows to display True Values vs Predicted Values ) xpl.plot.contribution_plot("OverallQual")
アンカーは、局所的な「十分な」予測条件を表すアンカー ポイントと呼ばれる高精度のルールを使用して、複雑なモデルの動作を説明します。このアルゴリズムは、高い確率を保証して、あらゆるブラックボックス モデルの説明を効率的に計算できます。
アンカーは、LIME のいくつかの制限 (データの目に見えないインスタンスにモデルを適合できないなど) が修正された LIME v2 と考えることができます。アンカーは個々の視点ではなく、ローカルなエリアを使用します。 SHAP よりも計算が軽量であるため、高次元または大規模なデータ セットで使用できます。ただし、ラベルは整数のみであるという制限もあります。
BreakDown は、線形モデルの予測を説明するために使用できるツールです。これは、モデルの出力を各入力特徴の寄与に分解することによって機能します。このパッケージには 2 つの主なメソッドがあります。 Explainer() と Preparation()
model = tree.DecisionTreeRegressor() model = model.fit(train_data,y=train_labels) #necessary imports from pyBreakDown.explainer import Explainer from pyBreakDown.explanation import Explanation #make explainer object exp = Explainer(clf=model, data=train_data, colnames=feature_names) #What do you want to be explained from the data (select an observation) explanation = exp.explain(observation=data[302,:],direction="up")
Interpret-Text は、NLP モデルのコミュニティ開発を組み合わせたものです。結果を表示するための手法と視覚化パネル。実験は複数の最先端のインタープリターで実行され、比較分析できます。このツールキットは、機械学習モデルを各タグ上でグローバルに解釈することも、各ドキュメント上でローカルに解釈することもできます。
以下は、このパッケージで利用可能なインタプリタのリストです:
from interpret_text.widget import ExplanationDashboard from interpret_text.explanation.explanation import _create_local_explanation # create local explanation local_explanantion = _create_local_explanation( classification=True, text_explanation=True, local_importance_values=feature_importance_values, method=name_of_model, model_task="classification", features=parsed_sentence_list, classes=list_of_classes, ) # Dash it ExplanationDashboard(local_explanantion)
OmniXAI (Omni explable AI的缩写),解决了在实践中解释机器学习模型产生的判断的几个问题。
它是一个用于可解释AI (XAI)的Python机器学习库,提供全方位的可解释AI和可解释机器学习功能,并能够解决实践中解释机器学习模型所做决策的许多痛点。OmniXAI旨在成为一站式综合库,为数据科学家、ML研究人员和从业者提供可解释的AI。
from omnixai.visualization.dashboard import Dashboard # Launch a dashboard for visualization dashboard = Dashboard( instances=test_instances,# The instances to explain local_explanations=local_explanations, # Set the local explanations global_explanations=global_explanations, # Set the global explanations prediction_explanations=prediction_explanations, # Set the prediction metrics class_names=class_names, # Set class names explainer=explainer# The created TabularExplainer for what if analysis ) dashboard.show()
XAI 库由 The Institute for Ethical AI & ML 维护,它是根据 Responsible Machine Learning 的 8 条原则开发的。它仍处于 alpha 阶段因此请不要将其用于生产工作流程。
以上が説明可能な AI のための 10 の Python ライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。