Modell tolkning i Azure Machine Learning (för hands version)Model interpretability in Azure Machine Learning (preview)

gäller för:  Ja Basic Edition  Ja Enterprise Edition                               (Uppgradera till Enterprise Edition) APPLIES TO: yesBasic edition yesEnterprise edition                    (Upgrade to Enterprise edition)

Översikt över modell tolkningOverview of model interpretability

Tolkning är avgörande för data forskare, revisorer och affärs besluts fattare som är likadana för att säkerställa efterlevnaden av företagets principer, bransch standarder och myndighets bestämmelser:Interpretability is critical for data scientists, auditors, and business decision makers alike to ensure compliance with company policies, industry standards, and government regulations:

  • Data forskare behöver kunna förklara sina modeller för chefer och intressenter, så att de kan förstå värdet och noggrannheten i sina resultat.Data scientists need the ability to explain their models to executives and stakeholders, so they can understand the value and accuracy of their findings. De behöver också kunna tolkas för att felsöka sina modeller och fatta välgrundade beslut om hur de kan förbättras.They also require interpretability to debug their models and make informed decisions about how to improve them.

  • Juridiska granskare kräver verktyg för att validera modeller med avseende på regelefterlevnad och övervaka hur modellernas beslut påverkar människa.Legal auditors require tools to validate models with respect to regulatory compliance and monitor how models' decisions are impacting humans.

  • Affärs besluts fattare behöver tryggare genom att kunna tillhandahålla insyn för slutanvändare.Business decision makers need peace-of-mind by having the ability to provide transparency for end users. Detta gör att de kan tjäna och upprätthålla förtroende.This allows them to earn and maintain trust.

Att göra det möjligt att förklara en maskin inlärnings modell är viktigt under två huvud faser av modell utveckling:Enabling the capability of explaining a machine learning model is important during two main phases of model development:

  • Under övnings fasen kan modell designers och utvärderare använda tolknings resultat för en modell för att verifiera Hypotheses och bygga förtroende med intressenter.During the training phase, as model designers and evaluators can use interpretability output of a model to verify hypotheses and build trust with stakeholders. De kan också använda insikter i modellen för fel sökning, verifiera modell beteendet överensstämmer med deras mål och för att kontrol lera om det finns någon modell som är rättvis eller obetydlig.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.

  • I inferencing-fasen, som har genomskinlighet kring distribuerade modeller, ger chefer möjlighet att förstå "när de distribueras", hur modellen fungerar och hur dess beslut behandlas och påverkar personer i real tid.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.

Tolkning med Azure Machine LearningInterpretability with Azure Machine Learning

Tolknings klasser görs tillgängliga via flera SDK-paket: (Lär dig hur du installerar SDK-paket för Azure Machine Learning)The interpretability classes are made available through multiple SDK packages: (Learn how to install SDK packages for Azure Machine Learning)

  • azureml.interpret, huvud paketet, som innehåller funktioner som stöds av Microsoft.azureml.interpret, the main package, containing functionalities supported by Microsoft.

  • azureml.contrib.interpret, för hands versioner och experiment funktioner som du kan prova.azureml.contrib.interpret, preview, and experimental functionalities that you can try.

Använd pip install azureml-interpret och pip install azureml-contrib-interpret för allmän användning.Use pip install azureml-interpret and pip install azureml-contrib-interpret for general use.

Viktigt

Innehållet i contrib namn området stöds inte fullt ut.Content in the contrib namespace is not fully supported. När experiment funktionerna blir mogna, kommer de gradvis att flyttas till huvud namn rummet.As the experimental functionalities become mature, they will gradually be moved to the main namespace. ..

Så här tolkar du din modellHow to interpret your model

Med hjälp av klasserna och metoderna i SDK kan du:Using the classes and methods in the SDK, you can:

  • Förklara modell förutsägelsen genom att generera funktions prioritets värden för hela modellen och/eller enskilda datapoints.Explain model prediction by generating feature importance values for the entire model and/or individual datapoints.
  • Uppnå modell tolkning på verkliga data uppsättningar i stor skala, under utbildning och härledning.Achieve model interpretability on real-world datasets at scale, during training and inference.
  • Använd en interaktiv instrument panel för visualisering för att identifiera mönster i data och förklaringar i utbildnings tidUse an interactive visualization dashboard to discover patterns in data and explanations at training time

I Machine Learning är funktioner de data fält som används för att förutsäga en mål data punkt.In machine learning, features are the data fields used to predict a target data point. För att förutsäga kredit risken kan exempelvis data fält för ålder, konto storlek och konto ålder användas.For example, to predict credit risk, data fields for age, account size, and account age might be used. I det här fallet är ålder, konto storlek och konto ålder funktioner.In this case, age, account size, and account age are features. Funktions prioriteten visar hur varje data fält påverkar modellens förutsägelser.Feature importance tells you how each data field affected the model's predictions. Till exempel kan ålder användas kraftigt i förutsägelsen när kontots storlek och ålder inte påverkar förutsägelserna avsevärt.For example, age may be heavily used in the prediction while account size and age do not affect the prediction values significantly. Den här processen gör det möjligt för data experter att förklara de resulterande förutsägelserna, så att intressenterna har insyn i vilka funktioner som är viktigast i modellen.This process allows data scientists to explain resulting predictions, so that stakeholders have visibility into what features are most important in the model.

Lär dig mer om tolknings tekniker som stöds, maskin inlärnings modeller som stöds och vilka körnings miljöer som stöds här.Learn about supported interpretability techniques, supported machine learning models, and supported run environments here.

Tolknings tekniker som stödsSupported interpretability techniques

azureml-interpretanvänder tolknings tekniker som utvecklats i tolkning – community, ett python-paket med öppen källkod för inlärnings bara modeller och hjälper till att förklara blackbox AI-system.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. Tolkning – community fungerar som värd för den här SDK: s support förklaringar och stöder för närvarande följande tolknings tekniker:Interpret-Community serves as the host for this SDK's supported explainers, and currently supports the following interpretability techniques:

Tolknings teknikInterpretability Technique BeskrivningDescription TypType
SHAP Tree-förklaringSHAP Tree Explainer SHAP: s träd förklaring, som fokuserar på polynomed Time fast SHAP för värde uppskattning som är speciell för träd och ensembler för träd.SHAP's tree explainer, which focuses on polynomial time fast SHAP value estimation algorithm specific to trees and ensembles of trees. Modell-/regionsspecifikaModel-specific
SHAP djup förklaringSHAP Deep Explainer Baserat på förklaringen från SHAP är djupgående förklaring en algoritm för hög hastighet för SHAP värden i djup inlärnings modeller som bygger på en anslutning med DeepLIFT som beskrivs i SHAP Nips-papper.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. TensorFlow -modeller och keras -modeller med TensorFlow-backend stöds (det finns även stöd för PyTorch) ".TensorFlow models and Keras models using the TensorFlow backend are supported (there is also preliminary support for PyTorch)". Modell-/regionsspecifikaModel-specific
SHAP linjär förklaraSHAP Linear Explainer SHAP är en linjär uppskattning som beräknar SHAP-värden för en linjär modell, vilket kan vara att redovisa mellan funktions korrelationer.SHAP's Linear explainer computes SHAP values for a linear model, optionally accounting for inter-feature correlations. Modell-/regionsspecifikaModel-specific
SHAP kernel-förklaringSHAP Kernel Explainer SHAPs kernel-förklaring använder en särskilt viktad lokal linjär regression för att beräkna SHAP-värden för alla modeller.SHAP's Kernel explainer uses a specially weighted local linear regression to estimate SHAP values for any model. Modell – oberoendeModel-agnostic
Imitera förklaring (globalt surrogat)Mimic Explainer (Global Surrogate) Härma förklarar vad som är baserat på idén med globala surrogat modeller för att efterlikna blackbox-modeller.Mimic explainer is based on the idea of training global surrogate models to mimic blackbox models. En global surrogat modell är en modell med en inbyggd tolkning som är utbildad för att approximera förutsägelserna för en svart Box-modell så exakt som möjligt.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. Data forskare kan tolka surrogat modellen för att rita slut satser om den svarta Box-modellen.Data scientists can interpret the surrogate model to draw conclusions about the black box model. Du kan använda någon av följande tolknings bara modeller som surrogat modell: LightGBM (LGBMExplainableModel), linjär regression (LinearExplainableModel), Stochastic gradient brantaste-förklarande modell (SGDExplainableModel) och besluts träd (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). Modell – oberoendeModel-agnostic
Förklaring av permutations-funktions prioritet (PFI)Permutation Feature Importance Explainer (PFI) Permutations funktionens betydelse är en teknik som används för att förklara klassificerings-och Regressions modeller som inspireras av Breiman-bladet för slumpmässiga skogar (se avsnitt 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). På en hög nivå är det sättet som det fungerar genom att slumpmässigt blandning data en funktion i taget för hela data uppsättningen och att beräkna hur mycket prestanda måtten för räntan förändras.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. Ju större ändringen är, desto viktigare är funktionen.The larger the change, the more important that feature is. PFI kan förklara det övergripande beteendet för en underliggande modell men förklarar inte enskilda förutsägelser.PFI can explain the overall behavior of any underlying model but does not explain individual predictions. Modell – oberoendeModel-agnostic

Förutom de tolknings tekniker som beskrivs ovan har vi stöd för en annan SHAP-baserad förklaring, som kallas TabularExplainer .Besides the interpretability techniques described above, we support another SHAP-based explainer, called TabularExplainer. Beroende på modellen TabularExplainer använder en av de SHAP-förklaringar som stöds:Depending on the model, TabularExplainer uses one of the supported SHAP explainers:

  • TreeExplainer för alla trädbaserade modellerTreeExplainer for all tree-based models
  • DeepExplainer för DNN-modellerDeepExplainer for DNN models
  • LinearExplainer för linjära modellerLinearExplainer for linear models
  • KernelExplainer för alla andra modellerKernelExplainer for all other models

TabularExplainerhar också gjort betydande förbättringar av funktioner och prestanda i de direkta SHAP-förklaringarna:TabularExplainer has also made significant feature and performance enhancements over the direct SHAP Explainers:

  • Sammanfattning av initierings data uppsättningen.Summarization of the initialization dataset. I de fall då förklaringen är viktigast sammanfattar vi initierings data uppsättningen och genererar en liten uppsättning representativa exempel, vilket påskyndar skapandet av övergripande och enskilda funktions prioritets värden.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.
  • Sampling av utvärderings data uppsättningen.Sampling the evaluation data set. Om användaren går igenom en stor uppsättning utvärderings exempel men inte behöver alla dem för att utvärderas, kan exempel parametern anges till sant för att påskynda beräkningen av övergripande modell förklaringar.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.

Följande diagram visar den aktuella strukturen för förklaringar som stöds.The following diagram shows the current structure of supported explainers.

Machine Learning tolknings arkitekturMachine Learning Interpretability Architecture

Maskin inlärnings modeller som stödsSupported machine learning models

azureml.interpretPaketet för SDK har stöd för modeller som har tränats med följande data uppsättnings format: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

Förklarings funktionerna accepterar både modeller och pipeliner som inmatade.The explanation functions accept both models and pipelines as input. Om en modell anges måste modellen implementera förutsägelse funktionen predict eller som följer Scikit- predict_proba konventionen.If a model is provided, the model must implement the prediction function predict or predict_proba that conforms to the Scikit convention. Om din modell inte stöder detta kan du omsluta din modell i en funktion som genererar samma resultat som predict eller predict_proba i Scikit och använder den omslutnings funktionen med den valda förklaringen.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. Om en pipeline anges förutsätter förklarings funktionen att det pågående pipeline-skriptet returnerar en förutsägelse.If a pipeline is provided, the explanation function assumes that the running pipeline script returns a prediction. Med den här metoden azureml.interpret kan du använda modeller som har tränats via PyTorch, TensorFlow och keras djup inlärnings modeller samt klassiska maskin inlärnings modeller.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.

Lokalt och fjärrstyrt beräknings målLocal and remote compute target

azureml.interpretPaketet är utformat för att fungera med både lokala och fjärranslutna beräknings mål.The azureml.interpret package is designed to work with both local and remote compute targets. Om kör lokalt kontaktar inte SDK-funktionerna några Azure-tjänster.If run locally, The SDK functions will not contact any Azure services.

Du kan köra förklaringen via fjärr anslutning på Azure Machine Learning beräkna och logga förklarings informationen i Azure Machine Learning körnings historik tjänsten.You can run explanation remotely on Azure Machine Learning Compute and log the explanation info into the Azure Machine Learning Run History Service. När den här informationen har loggats finns rapporter och visualiseringar från förklaringen enkelt i Azure Machine Learning Studio för användar analys.Once this information is logged, reports and visualizations from the explanation are readily available on Azure Machine Learning studio for user analysis.

Nästa stegNext steps