Możliwości interpretowania modelu w Azure Machine Learning (wersja zapoznawcza)Model interpretability in Azure Machine Learning (preview)

Omówienie możliwości interpretacji modeluModel interpretability overview

Interpretacja modelu ma kluczowe znaczenie dla naukowców danych, audytorów i osób decyzyjnych w firmie w celu zapewnienia zgodności z zasadami firmy, standardami branżowymi i przepisami rządowymi:Model interpretability is critical for data scientists, auditors, and business decision makers alike to ensure compliance with company policies, industry standards, and government regulations:

  • Naukowcy zajmujący się danymi muszą mieć możliwość wyjaśnienia swoich modeli kierownictwu i uczestnikom projektu, aby zrozumieć wartość i dokładność swoich ustaleń.Data scientists need the ability to explain their models to executives and stakeholders, so they can understand the value and accuracy of their findings. Wymagają one również możliwości interpretacji w celu debugowania modeli i podejmowania świadomych decyzji dotyczących sposobu ich ulepszania.They also require interpretability to debug their models and make informed decisions about how to improve them.

  • Audytorzy prawna wymagają narzędzi do weryfikowania modeli pod względem zgodności z przepisami i monitorowania wpływu decyzji modeli na ludzi.Legal auditors require tools to validate models with respect to regulatory compliance and monitor how models' decisions are impacting humans.

  • Decydenci biznesowi potrzebują pokoju, mając możliwość zapewnienia przejrzystości dla użytkowników końcowych.Business decision makers need peace-of-mind by having the ability to provide transparency for end users. Dzięki temu mogą zdobyć i utrzymać zaufanie.This allows them to earn and maintain trust.

Umożliwienie wyjaśnienia modelu uczenia maszynowego jest ważne w dwóch głównych fazach opracowywania modelu:Enabling the capability of explaining a machine learning model is important during two main phases of model development:

  • W fazie trenowania projektanci modeli i ewaluatorzy mogą używać danych wyjściowych możliwości interpretacji modelu do weryfikowania hipotez i budowania zaufania z uczestnikami projektu.During the training phase, as model designers and evaluators can use interpretability output of a model to verify hypotheses and build trust with stakeholders. Używają one również szczegółowych informacji o modelu do debugowania, sprawdzania zachowania modelu do ich celów i sprawdzania pod uwagę nad naduchamialnością modelu lub jej cechami.They also use the insights into the model for debugging, validating model behavior matches their objectives, and to check for model unfairness or insignificant features.

  • W fazie wnioskowania, ponieważ przejrzystość wdrożonych modeli umożliwia kierownictwu zrozumienie "po wdrożeniu" sposobu działania modelu oraz sposobu traktowania i wpływu jego decyzji na ludzi w rzeczywistości.During the inferencing phase, as having transparency around deployed models empowers executives to understand "when deployed" how the model is working and how its decisions are treating and impacting people in real life.

Możliwości interpretowania za pomocą Azure Machine LearningInterpretability with Azure Machine Learning

Klasy możliwości interpretacji modelu są udostępniane za pośrednictwem następującego pakietu zestawu SDK: (Dowiedz się, jak instalować pakiety zestawu SDKdla Azure Machine Learning )The model interpretability classes are made available through the following SDK package: (Learn how to install SDK packages for Azure Machine Learning)

  • azureml.interpretZawiera funkcje obsługiwane przez firmę Microsoft.azureml.interpret, contains functionalities supported by Microsoft.

Do pip install azureml-interpret użytku ogólnego.Use pip install azureml-interpret for general use.

Interpretowanie modeluHow to interpret your model

Korzystając z klas i metod w zestawie SDK, można:Using the classes and methods in the SDK, you can:

  • Wyjaśnienie przewidywania modelu przez wygenerowanie wartości ważności cech dla całego modelu i/lub poszczególnych punktów danych.Explain model prediction by generating feature importance values for the entire model and/or individual datapoints.
  • Osiągnięcie możliwości interpretacji modelu w rzeczywistych zestawach danych na dużą skalę podczas trenowania i wnioskowania.Achieve model interpretability on real-world datasets at scale, during training and inference.
  • Używanie interaktywnego pulpitu nawigacyjnego wizualizacji do odnajdywania wzorców w danych i objaśnień w czasie trenowaniaUse an interactive visualization dashboard to discover patterns in data and explanations at training time

W uczeniu maszynowym funkcje to pola danych używane do przewidywania docelowego punktu danych.In machine learning, features are the data fields used to predict a target data point. Aby na przykład przewidzieć ryzyko kredytowe, można użyć pól danych dotyczących wieku, rozmiaru konta i wieku konta.For example, to predict credit risk, data fields for age, account size, and account age might be used. W tym przypadku funkcje to wiek, rozmiar konta i wiek konta.In this case, age, account size, and account age are features. Ważność funkcji informuje o tym, jak każde pole danych wpłynęło na przewidywania modelu.Feature importance tells you how each data field affected the model's predictions. Na przykład wiek może być intensywnie używany w prognozie, podczas gdy rozmiar konta i wiek nie wpływają znacząco na wartości przewidywania.For example, age may be heavily used in the prediction while account size and age do not affect the prediction values significantly. Ten proces umożliwia badaczom danych wyjaśnienie wynikowych przewidywań, dzięki czemu uczestnicy projektu mają wgląd w najważniejsze funkcje w modelu.This process allows data scientists to explain resulting predictions, so that stakeholders have visibility into what features are most important in the model.

Obsługiwane techniki interpretacjiSupported interpretability techniques

azureml-interpret korzysta z technik możliwości interpretowania opracowanych w społeczności Interpret-Community, open source python do trenowania modeli z możliwością interpretacji i pomagania w wyjaśnianiu systemów AI czarnej skrzynki.azureml-interpret uses the interpretability techniques developed in Interpret-Community, an open source python package for training interpretable models and helping to explain blackbox AI systems. Interpret-Community służy jako host dla objaśnień obsługiwanych przez ten zestaw SDK i obecnie obsługuje następujące techniki możliwości interpretowania:Interpret-Community serves as the host for this SDK's supported explainers, and currently supports the following interpretability techniques:

Technika możliwości interpretacjiInterpretability Technique OpisDescription TypType
Objaśnienia drzewa SHAPSHAP Tree Explainer Objaśnienia drzewa SHAP,które koncentrują się na algorytmie szybkiego szacowania wartości SHAP czasu wielomianowego specyficznym dla drzew i zespołów drzew.SHAP's tree explainer, which focuses on polynomial time fast SHAP value estimation algorithm specific to trees and ensembles of trees. Specyficzne dla modeluModel-specific
Objaśnienia głębokie SHAPSHAP Deep Explainer Na podstawie wyjaśnienia algorytmu SHAP, Deep Explainer "to algorytm przybliżenia o dużej szybkości dla wartości SHAP w modelach uczenia głębokiego, który jest oparty na połączeniu z algorytmem Deep DEEP opisanym w dokumencie SHAP NIPS.Based on the explanation from SHAP, Deep Explainer "is a high-speed approximation algorithm for SHAP values in deep learning models that builds on a connection with DeepLIFT described in the SHAP NIPS paper. Obsługiwane są modele TensorFlow i keras korzystające z zaplecza TensorFlow (jest również wstępna obsługa PyTorch)".TensorFlow models and Keras models using the TensorFlow backend are supported (there is also preliminary support for PyTorch)". Specyficzne dla modeluModel-specific
Objaśnienia liniowe SHAPSHAP Linear Explainer Objaśnienia liniowe SHAP oblicza wartości SHAP dla modelu liniowego, opcjonalnie zlicza korelacje między cechami.SHAP's Linear explainer computes SHAP values for a linear model, optionally accounting for inter-feature correlations. Specyficzne dla modeluModel-specific
Objaśnienia jądra SHAPSHAP Kernel Explainer Objaśnienia jądra SHAP wykorzystują lokalną regresję liniową ze specjalnymi wagami, aby oszacować wartości SHAP dla dowolnego modelu.SHAP's Kernel explainer uses a specially weighted local linear regression to estimate SHAP values for any model. Niezależne od modeluModel-agnostic
Mimic Explainer (Globalny surogat)Mimic Explainer (Global Surrogate) Objaśnienie mimiczne opiera się na koncepcji trenowania globalnych modeli zastępczych w celu naśladowania modeli czarnej skrzynki.Mimic explainer is based on the idea of training global surrogate models to mimic blackbox models. Globalny model zastępczy jest wewnętrznie interpretowalnym modelem, który jest trenowany w celu jak najdokładnego przybliżenie przewidywań dowolnego modelu czarnej skrzynki.A global surrogate model is an intrinsically interpretable model that is trained to approximate the predictions of any black box model as accurately as possible. Badacze danych mogą interpretować model zastępczy, aby wyciągać wnioski dotyczące modelu czarnej skrzynki.Data scientists can interpret the surrogate model to draw conclusions about the black box model. Jako modelu zastępczego można użyć jednego z następujących modeli zinterpretowalnych: LightGBM (LGBMExplainableModel), Linear Regression (LinearExplainableModel), Stochastic Gradient Descent explainable model (SGDExplainableModel) i Decision Tree (DecisionTreeExplainableModel).You can use one of the following interpretable models as your surrogate model: LightGBM (LGBMExplainableModel), Linear Regression (LinearExplainableModel), Stochastic Gradient Descent explainable model (SGDExplainableModel), and Decision Tree (DecisionTreeExplainableModel). Niezależne od modeluModel-agnostic
Objaśnianie ważności funkcji permutacji (PFI)Permutation Feature Importance Explainer (PFI) Znaczenie funkcji permutacji to technika używana do wyjaśniania modeli klasyfikacji i regresji, która jest inspirowana publikacją Random Forests (lasy losowe) Breimana (patrz sekcja 10).Permutation Feature Importance is a technique used to explain classification and regression models that is inspired by Breiman's Random Forests paper (see section 10). Na wysokim poziomie sposób jej działania to losowe bojazy danych po jednej funkcji na raz dla całego zestawu danych i obliczanie, o ile zmienia się metryka wydajności zainteresowania.At a high level, the way it works is by randomly shuffling data one feature at a time for the entire dataset and calculating how much the performance metric of interest changes. Im większa zmiana, tym ważniejsza jest ta funkcja.The larger the change, the more important that feature is. Pfi może wyjaśnić ogólne zachowanie dowolnego bazowego modelu, ale nie wyjaśnia poszczególnych przewidywań.PFI can explain the overall behavior of any underlying model but does not explain individual predictions. Niezależne od modeluModel-agnostic

Poza opisanymi powyżej technikami interpretacji obsługujemy inny objaśnienia oparte na technologii SHAP, o nazwie TabularExplainer .Besides the interpretability techniques described above, we support another SHAP-based explainer, called TabularExplainer. W zależności od modelu program TabularExplainer używa jednego z obsługiwanych objaśnienia SHAP:Depending on the model, TabularExplainer uses one of the supported SHAP explainers:

  • TreeExplainer dla wszystkich modeli opartych na drzewieTreeExplainer for all tree-based models
  • DeepExplainer dla modeli sieci DNNDeepExplainer for DNN models
  • LinearExplainer dla modeli liniowychLinearExplainer for linear models
  • KernelExplainer dla wszystkich innych modeliKernelExplainer for all other models

TabularExplainer Wprowadzono również znaczące ulepszenia funkcji i wydajności w bezpośrednich objaśnieniach SHAP:TabularExplainer has also made significant feature and performance enhancements over the direct SHAP Explainers:

  • Podsumowanie zestawu danych inicjowania.Summarization of the initialization dataset. W przypadkach, gdy szybkość wyjaśnienia jest najważniejsza, podsumowujemy zestaw danych inicjalizacji i generujemy mały zestaw reprezentatywnych próbek, co przyspiesza generowanie ogólnych i poszczególnych wartości ważności cech.In cases where speed of explanation is most important, we summarize the initialization dataset and generate a small set of representative samples, which speeds up the generation of overall and individual feature importance values.
  • Próbkowanie zestawu danych oceny.Sampling the evaluation data set. Jeśli użytkownik przekazuje duży zestaw próbek do oceny, ale w rzeczywistości nie wymaga oceny wszystkich z nich, parametr próbkowania można ustawić na wartość true, aby przyspieszyć obliczanie ogólnych wyjaśnień modelu.If the user passes in a large set of evaluation samples but does not actually need all of them to be evaluated, the sampling parameter can be set to true to speed up the calculation of overall model explanations.

Na poniższym diagramie przedstawiono bieżącą strukturę obsługiwanych objaśnienia.The following diagram shows the current structure of supported explainers.

Machine Learning Interpretability ArchitectureMachine Learning Interpretability Architecture

Obsługiwane modele uczenia maszynowegoSupported machine learning models

Pakiet azureml.interpret zestawu SDK obsługuje modele wytrenowane przy użyciu następujących formatów zestawu danych:The azureml.interpret package of the SDK supports models trained with the following dataset formats:

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

Funkcje wyjaśnienia akceptują zarówno modele, jak i potoki jako dane wejściowe.The explanation functions accept both models and pipelines as input. Jeśli podano model, musi on implementować funkcję przewidywania lub zgodną z predict predict_proba konwencją Scikit.If a model is provided, the model must implement the prediction function predict or predict_proba that conforms to the Scikit convention. Jeśli model nie obsługuje tej funkcji, możesz opakuć model w funkcję, która generuje ten sam wynik co program lub w zestawie Scikit i użyć tej funkcji otoki z wybranym predict predict_proba objaśnieniami.If your model does not support this, you can wrap your model in a function that generates the same outcome as predict or predict_proba in Scikit and use that wrapper function with the selected explainer. Jeśli podano potok, funkcja wyjaśnienia zakłada, że uruchomiony skrypt potoku zwraca przewidywanie.If a pipeline is provided, the explanation function assumes that the running pipeline script returns a prediction. Ta technika opakowywania może obsługiwać modele wytrenowane za pośrednictwem platform uczenia głębokiego azureml.interpret PyTorch, TensorFlow i Keras, a także klasyczne modele uczenia maszynowego.Using this wrapping technique, azureml.interpret can support models trained via PyTorch, TensorFlow, and Keras deep learning frameworks as well as classic machine learning models.

Lokalny i zdalny docelowy obiekt obliczeniowyLocal and remote compute target

Pakiet jest przeznaczony do pracy z lokalnymi i azureml.interpret zdalnymi celami obliczeniowymi.The azureml.interpret package is designed to work with both local and remote compute targets. W przypadku uruchamiania lokalnego funkcje zestawu SDK nie będą kontaktować się z żadnymi usługami platformy Azure.If run locally, The SDK functions will not contact any Azure services.

Wyjaśnienie można uruchomić zdalnie w usłudze Azure Machine Learning Compute i zalogować informacje objaśnienia w usłudze Azure Machine Learning Run History Service.You can run explanation remotely on Azure Machine Learning Compute and log the explanation info into the Azure Machine Learning Run History Service. Po zalogowaniu tych informacji raporty i wizualizacje z wyjaśnienia są łatwo dostępne Azure Machine Learning studio analizy użytkownika.Once this information is logged, reports and visualizations from the explanation are readily available on Azure Machine Learning studio for user analysis.

Następne krokiNext steps