Interpreteerbaarheid van modellen
In dit artikel worden methoden beschreven die u kunt gebruiken voor modelinterpretabiliteit in Azure Machine Learning.
Belangrijk
Met de release van het verantwoordelijke AI-dashboard, dat modelinterpreteerbaarheid bevat, raden we u aan om te migreren naar de nieuwe ervaring, omdat het oudere dashboard voor modelinterpretabiliteit van sdk v1 niet langer actief wordt onderhouden.
Waarom modelinterpreteerbaarheid belangrijk is om foutopsporing te modelleren
Wanneer u machine learning-modellen gebruikt op manieren die van invloed zijn op het leven van mensen, is het van cruciaal belang om te begrijpen wat het gedrag van modellen beïnvloedt. Interpreteerbaarheid helpt bij het beantwoorden van vragen in scenario's zoals:
- Modelfoutopsporing: Waarom heeft mijn model deze fout gemaakt? Hoe kan ik mijn model verbeteren?
- Samenwerking tussen mensen en AI: Hoe kan ik de beslissingen van het model begrijpen en vertrouwen?
- Naleving van regelgeving: Voldoet mijn model aan wettelijke vereisten?
Het interpreteerbaarheidsonderdeel van het verantwoordelijke AI-dashboard draagt bij aan de fase 'diagnose' van de levenscycluswerkstroom van het model door begrijpelijke beschrijvingen van de voorspellingen van een machine learning-model te genereren. Het biedt meerdere weergaven in het gedrag van een model:
- Globale uitleg: Welke functies zijn bijvoorbeeld van invloed op het algehele gedrag van een leningtoewijzingsmodel?
- Lokale uitleg: waarom is de leningsaanvraag van een klant goedgekeurd of geweigerd?
U kunt ook modeluitleg bekijken voor een geselecteerd cohort als een subgroep van gegevenspunten. Deze benadering is waardevol wanneer u bijvoorbeeld fairness in modelvoorspellingen beoordeelt voor personen in een bepaalde demografische groep. Het tabblad Lokale uitleg van dit onderdeel vertegenwoordigt ook een volledige gegevensvisualisatie, die ideaal is voor algemene oogopslag van de gegevens en het bekijken van verschillen tussen de juiste en onjuiste voorspellingen van elk cohort.
De mogelijkheden van dit onderdeel worden opgericht door het InterpretML-pakket , dat modeluitleg genereert.
Gebruik interpreteerbaarheid wanneer u het volgende moet doen:
- Bepaal hoe betrouwbaar de voorspellingen van uw AI-systeem zijn door te begrijpen welke functies het belangrijkst zijn voor de voorspellingen.
- Benader de foutopsporing van uw model door het eerst te begrijpen en te bepalen of het model gebruikmaakt van gezonde functies of slechts valse correlaties.
- Ontdek potentiële bronnen van oneerlijkheid door te begrijpen of het model voorspellingen baseeert op gevoelige functies of op functies die sterk met hen zijn gecorreleerd.
- Bouw gebruikersvertrouwen in de beslissingen van uw model door lokale uitleg te genereren om hun resultaten te illustreren.
- Voltooi een wettelijke controle van een AI-systeem om modellen te valideren en de impact van modelbeslissingen op mensen te controleren.
Uw model interpreteren
In machine learning zijn functies de gegevensvelden die u gebruikt om een doelgegevenspunt te voorspellen. Als u bijvoorbeeld kredietrisico's wilt voorspellen, kunt u gegevensvelden gebruiken voor leeftijd, accountgrootte en accountleeftijd. Hier zijn leeftijd, accountgrootte en accountleeftijd functies. Het belang van functies geeft aan hoe elk gegevensveld van invloed is op de voorspellingen van het model. Hoewel u bijvoorbeeld de leeftijd sterk gebruikt in de voorspelling, zijn accountgrootte en accountleeftijd mogelijk niet van invloed op de voorspellingswaarden. Via dit proces kunnen gegevenswetenschappers de resulterende voorspellingen uitleggen op manieren die belanghebbenden inzicht geven in de belangrijkste functies van het model.
Met behulp van de klassen en methoden in het dashboard voor verantwoorde AI en met behulp van SDK v2 en CLI v2, kunt u het volgende doen:
- Modelvoorspelling uitleggen door waarden voor functie-urgentie te genereren voor het hele model (globale uitleg) of afzonderlijke gegevenspunten (lokale uitleg).
- Modelinterpreteerbaarheid bereiken op echte gegevenssets op schaal.
- Gebruik een interactief visualisatiedashboard om patronen in uw gegevens en de bijbehorende uitleg tijdens de training te ontdekken.
Met behulp van de klassen en methoden in de SDK v1 kunt u het volgende doen:
- Modelvoorspelling uitleggen door waardewaarden voor het hele model of afzonderlijke gegevenspunten te genereren.
- Modelinterpreteerbaarheid bereiken op werkelijke gegevenssets op schaal tijdens training en deductie.
- Gebruik een interactief visualisatiedashboard om patronen in uw gegevens en de bijbehorende uitleg tijdens de training te ontdekken.
Notitie
Modelinterpretabiliteitsklassen worden beschikbaar gesteld via het SDK v1-pakket. Zie SDK-pakketten installeren voor Azure Machine Learning en azureml.interpret voor meer informatie.
Ondersteunde technieken voor modelinterpretabiliteit
Het dashboard Verantwoordelijke AI en azureml-interpret
gebruikt de interpreteerbaarheidstechnieken die zijn ontwikkeld in Interpret-Community, een opensource Python-pakket voor het trainen van interpreteerbare modellen en het uitleggen van ondoorzichtige AI-systemen. Ondoorzichtige modellen zijn modellen waarvoor we geen informatie over hun interne werking hebben.
Interpret-Community fungeert als host voor de volgende ondersteunde uitlegders en ondersteunt momenteel de interpreteerbaarheidstechnieken die in de volgende secties worden gepresenteerd.
Ondersteund in een verantwoordelijk AI-dashboard in Python SDK v2 en CLI v2
Interpreteerbaarheidstechniek | Beschrijving | Type |
---|---|---|
Mimic Explainer (Global Surrogaat) + SHAP-structuur | Mimic Explainer is gebaseerd op het idee van het trainen van globale surrogaatmodellen om ondoorzichtige modellen na te bootsen. Een globaal surrogaatmodel is een intrinsiek interpreteerbaar model dat is getraind om de voorspellingen van een ondoorzichtig model zo nauwkeurig mogelijk te voorspellen. Gegevenswetenschappers kunnen het surrogaatmodel interpreteren om conclusies te trekken over het ondoorzichtige model. Het verantwoordelijke AI-dashboard maakt gebruik van LightGBM (LGBMExplainableModel), gekoppeld aan de SHAP-structuur (SHapley Additive exPlanations) Tree Explainer, een specifieke uitleg voor bomen en ensembles van bomen. De combinatie van LightGBM en SHAP-structuur biedt modelagnostische globale en lokale uitleg van uw machine learning-modellen. |
Modelneutraal |
Ondersteunde modelinterpretabiliteitstechnieken voor tekstmodellen
Interpreteerbaarheidstechniek | Beschrijving | Type | Teksttaak |
---|---|---|---|
SHAP-tekst | SHAP (SHapley Additive exPlanations) is een populaire uitlegmethode voor deep neurale netwerken die inzicht bieden in de bijdrage van elke invoerfunctie aan een bepaalde voorspelling. Het is gebaseerd op het concept van Shapley-waarden, een methode voor het toewijzen van krediet aan individuele spelers in een coöperatief spel. SHAP past dit concept toe op de invoerfuncties van een neuraal netwerk door de gemiddelde bijdrage van elke functie te berekenen aan de uitvoer van het model voor alle mogelijke combinaties van functies. Shap splitst voor tekst op een hiërarchische manier op woorden en behandelt elk woord of token als een functie. Dit produceert een set toeschrijvingswaarden die het belang van elk woord of token voor de opgegeven voorspelling kwantificeren. De uiteindelijke toewijzingstoewijzing wordt gegenereerd door deze waarden te visualiseren als een heatmap over het oorspronkelijke tekstdocument. SHAP is een modelagnostische methode en kan worden gebruikt om een breed scala aan deep learning-modellen, waaronder CNN's, RNN's en transformatoren, uit te leggen. Daarnaast biedt het verschillende wenselijke eigenschappen, zoals consistentie, nauwkeurigheid en redelijkheid, waardoor het een betrouwbare en interpreteerbare techniek is voor het begrijpen van het besluitvormingsproces van een model. | Modelagnostisch | Classificatie van meerdere klassen tekst, classificatie met meerdere labels voor tekst |
Ondersteunde modelinterpretabiliteitstechnieken voor afbeeldingsmodellen
Interpreteerbaarheidstechniek | Beschrijving | Type | Vision-taak |
---|---|---|---|
SHAP-visie | SHAP (SHapley Additive exPlanations) is een populaire uitlegmethode voor deep neurale netwerken die inzicht bieden in de bijdrage van elke invoerfunctie aan een bepaalde voorspelling. Het is gebaseerd op het concept van Shapley-waarden, een methode voor het toewijzen van krediet aan individuele spelers in een coöperatief spel. SHAP past dit concept toe op de invoerfuncties van een neuraal netwerk door de gemiddelde bijdrage van elke functie te berekenen aan de uitvoer van het model voor alle mogelijke combinaties van functies. Shap splitst de afbeelding op een hiërarchische manier en behandelt super pixelgebieden van de afbeelding als elke functie. Dit produceert een set toeschrijvingswaarden die het belang van elk super pixel- of afbeeldingsgebied voor de opgegeven voorspelling kwantificeren. De uiteindelijke toewijzingstoewijzing wordt gegenereerd door deze waarden te visualiseren als een heatmap. SHAP is een modelagnostische methode en kan worden gebruikt om een breed scala aan deep learning-modellen, waaronder CNN's, RNN's en transformatoren, uit te leggen. Daarnaast biedt het verschillende wenselijke eigenschappen, zoals consistentie, nauwkeurigheid en redelijkheid, waardoor het een betrouwbare en interpreteerbare techniek is voor het begrijpen van het besluitvormingsproces van een model. | Modelagnostisch | Classificatie van meerdere klassen van afbeeldingen, Classificatie met meerdere labels |
Begeleide backprop | Guided-backprop is een populaire uitlegmethode voor deep neurale netwerken die inzicht biedt in de geleerde representaties van het model. Het genereert een visualisatie van de invoerfuncties die een bepaalde neuron in het model activeren door de kleurovergang van de uitvoer te berekenen met betrekking tot de invoerafbeelding. In tegenstelling tot andere methoden op basis van kleurovergangen, maakt guided-backprop alleen gebruik van positieve kleurovergangen en maakt gebruik van een gewijzigde ReLU-activeringsfunctie om ervoor te zorgen dat negatieve kleurovergangen niet van invloed zijn op de visualisatie. Dit resulteert in een beter interpreteerbare en hoge resolutie-saliencykaart die de belangrijkste functies in de invoerafbeelding voor een bepaalde voorspelling markeert. Guided-backprop kan worden gebruikt om een breed scala aan Deep Learning-modellen uit te leggen, waaronder convolutionele neurale netwerken (CNN's), terugkerende neurale netwerken (RNN's) en transformatoren. | AutoML | Classificatie van meerdere klassen van afbeeldingen, Classificatie met meerdere labels |
Begeleide gradCAM | Begeleide GradCAM is een populaire uitlegmethode voor deep neurale netwerken die inzicht biedt in de geleerde representaties van het model. Het genereert een visualisatie van de invoerfuncties die het meeste bijdragen aan een bepaalde uitvoerklasse, door de benadering op basis van kleurovergang van begeleide backpropagatie te combineren met de lokalisatiebenadering van GradCAM. Het berekent met name de kleurovergangen van de uitvoerklasse met betrekking tot de functietoewijzingen van de laatste convolutionele laag in het netwerk en weegt vervolgens elke functietoewijzing op basis van het belang van de activering voor die klasse. Dit produceert een heatmap met een hoge resolutie die de meest discriminerende regio's van de invoerafbeelding voor de opgegeven uitvoerklasse markeert. Begeleide GradCAM kan worden gebruikt om een breed scala aan deep learning-modellen uit te leggen, waaronder CNN's, RNN's en transformatoren. Daarnaast zorgt het gebruik van begeleide backpropagation ervoor dat de visualisatie zinvol en interpreteerbaar is, waardoor er geen valse activeringen en negatieve bijdragen worden voorkomen. | AutoML | Classificatie van meerdere klassen van afbeeldingen, Classificatie met meerdere labels |
Geïntegreerde kleurovergangen | Geïntegreerde kleurovergangen is een populaire uitlegmethode voor deep neurale netwerken die inzicht bieden in de bijdrage van elke invoerfunctie aan een bepaalde voorspelling. Het berekent de integraal van de kleurovergang van de uitvoerklasse met betrekking tot de invoerafbeelding, langs een recht pad tussen een basislijnafbeelding en de werkelijke invoerafbeelding. Dit pad wordt meestal gekozen als een lineaire interpolatie tussen de twee afbeeldingen, waarbij de basislijn een neutrale afbeelding is die geen opvallende functies heeft. Door de kleurovergang langs dit pad te integreren, biedt Geïntegreerde kleurovergangen een meting van de wijze waarop elke invoerfunctie bijdraagt aan de voorspelling, zodat een toewijzingstoewijzing kan worden gegenereerd. Deze kaart markeert de meest invloedrijke invoerfuncties en kan worden gebruikt om inzicht te krijgen in het besluitvormingsproces van het model. Geïntegreerde kleurovergangen kunnen worden gebruikt om een breed scala aan Deep Learning-modellen uit te leggen, waaronder CNN's, RNN's en transformatoren. Daarnaast is het een theoretisch geaarde techniek die voldoet aan een set wenselijke eigenschappen, zoals gevoeligheid, implementatievariantie en volledigheid. | AutoML | Classificatie van meerdere klassen van afbeeldingen, Classificatie met meerdere labels |
XRAI | XRAI is een nieuwe op regio's gebaseerde saliencymethode op basis van Integrated Gradients (IG). Het oversegmenteert de afbeelding en test iteratief het belang van elke regio, waarbij kleinere regio's worden samengevoegd tot grotere segmenten op basis van toeschrijvingsscores. Deze strategie levert kwalitatief hoogwaardige, nauw gebonden salieregio's op die beter presteren dan bestaande salietechnieken. XRAI kan worden gebruikt met elk DNN-model zolang er een manier is om de invoerfuncties in segmenten te clusteren via een aantal overeenkomsten. | AutoML | Classificatie van meerdere klassen van afbeeldingen, Classificatie met meerdere labels |
D-RISE | D-RISE is een modelagnostische methode voor het maken van visuele uitleg voor de voorspellingen van objectdetectiemodellen. Door zowel de lokalisatie- als categorisatieaspecten van objectdetectie te controleren, kan D-RISE saliency-kaarten produceren die delen van een afbeelding markeren die het meest bijdragen aan de voorspelling van de detector. In tegenstelling tot methoden op basis van kleurovergangen is D-RISE algemener en heeft geen toegang nodig tot de binnenste werking van de objectdetector; het vereist alleen toegang tot de invoer en uitvoer van het model. De methode kan worden toegepast op detectoren met één fase (bijvoorbeeld YOLOv3), tweefasedetectoren (bijvoorbeeld Faster-RCNN) en Vision Transformers (bijvoorbeeld DETR, OWL-ViT). D-Rise biedt de saliency-kaart door willekeurige maskers van de invoerafbeelding te maken en deze naar de objectdetector te verzenden met de willekeurige maskers van de invoerafbeelding. Door de wijziging van de score van de objectdetector te beoordelen, worden alle detecties samengevoegd met elk masker en wordt een uiteindelijke saliency-kaart geproduceerd. |
Modelagnostisch | Objectdetectie |
Ondersteund in Python SDK v1
Interpreteerbaarheidstechniek | Beschrijving | Type |
---|---|---|
SHAP Tree Explainer | De SHAP Tree Explainer, die zich richt op een polynomial, time-fast, SHAP value-schattingsalgoritme dat specifiek is voor bomen en ensembles van bomen. | Modelspecifiek |
SHAP Deep Explainer | Op basis van de uitleg van SHAP is Deep Explainer een 'high-speed benaderingsalgoritme voor SHAP-waarden in deep learning-modellen die voortbouwen op een verbinding met DeepLIFT die wordt beschreven in het SHAP NIPS-document. TensorFlow-modellen en Keras-modellen die gebruikmaken van de TensorFlow-back-end worden ondersteund (er is ook voorlopige ondersteuning voor PyTorch)." | Modelspecifiek |
SHAP Linear Explainer | De SHAP Linear Explainer berekent SHAP-waarden voor een lineair model, optioneel voor correlaties tussen functies. | Modelspecifiek |
SHAP Kernel Explainer | De SHAP Kernel Explainer maakt gebruik van een speciaal gewogen lokale lineaire regressie om SHAP-waarden voor elk model te schatten. | Modelneutraal |
Mimic Explainer (Global Surrogaat) | Mimic Explainer is gebaseerd op het idee van het trainen van globale surrogaatmodellen om ondoorzichtige modellen na te bootsen. Een globaal surrogaatmodel is een intrinsiek interpreteerbaar model dat is getraind om de voorspellingen van een ondoorzichtig model zo nauwkeurig mogelijk te voorspellen. Gegevenswetenschappers kunnen het surrogaatmodel interpreteren om conclusies te trekken over het ondoorzichtige model. U kunt een van de volgende interpreteerbare modellen gebruiken als uw surrogaatmodel: LightGBM (LGBMExplainableModel), Linear Regression (LinearExplainableModel), Stochastic Gradient Descent explainable model (SGDExplainableModel) of Decision Tree (DecisionTreeExplainableModel). | Modelneutraal |
Uitleg over het belang van permutatiefuncties | PFI (Permutation Feature Importance) is een techniek die wordt gebruikt om classificatie- en regressiemodellen uit te leggen die zijn geïnspireerd op het artikel Random Forests van Breiman (zie sectie 10). Op hoog niveau is de manier waarop het werkt door willekeurig gegevens één functie tegelijk te versnipperen voor de hele gegevensset en te berekenen hoeveel de prestatiemetriek van belang is. Hoe groter de wijziging, hoe belangrijker die functie is. PFI kan het algehele gedrag van elk onderliggend model uitleggen, maar niet afzonderlijke voorspellingen uitleggen. | Modelneutraal |
Naast de interpreteerbaarheidstechnieken die in de vorige sectie worden beschreven, ondersteunen we een andere SHAP-uitleg, ook wel Tabular Explainer genoemd. Afhankelijk van het model gebruikt Tabular Explainer een van de ondersteunde SHAP-uitlegprogramma's:
- Tree Explainer voor alle op structuur gebaseerde modellen
- Deep Explainer voor DNN-modellen (Deep Neural Network)
- Linear Explainer voor lineaire modellen
- Kernel Explainer voor alle andere modellen
Tabular Explainer heeft ook belangrijke functie- en prestatieverbeteringen aangebracht ten opzichte van de directe SHAP-uitleg:
- Samenvatting van de initialisatiegegevensset: Wanneer de snelheid van uitleg het belangrijkst is, vatten we de initialisatiegegevensset samen en genereren we een kleine set representatieve voorbeelden. Deze aanpak versnelt het genereren van algemene en afzonderlijke waarden voor het belang van functies.
- Sampling van de evaluatiegegevensset: Als u een grote set evaluatievoorbeelden doorgeeft, maar ze niet allemaal nodig hebt om te worden geëvalueerd, kunt u de steekproefparameter instellen om
true
de berekening van algemene modeluitleg te versnellen.
In het volgende diagram ziet u de huidige structuur van ondersteunde uitlegders:
Ondersteunde machine learning-modellen
Het azureml.interpret
pakket van de SDK ondersteunt modellen die zijn getraind met de volgende indelingen voor gegevenssets:
numpy.array
pandas.DataFrame
iml.datatypes.DenseData
scipy.sparse.csr_matrix
De uitlegfuncties accepteren zowel modellen als pijplijnen als invoer. Als er een model wordt opgegeven, moet het de voorspellingsfunctie predict
implementeren of predict_proba
die voldoet aan de Scikit-conventie. Als uw model dit niet ondersteunt, kunt u deze verpakken in een functie die hetzelfde resultaat genereert als predict
of predict_proba
in Scikit en die wrapper-functie gebruikt met de geselecteerde uitleg.
Als u een pijplijn opgeeft, gaat de uitlegfunctie ervan uit dat het actieve pijplijnscript een voorspelling retourneert. Wanneer u deze wrapping-techniek gebruikt, azureml.interpret
kunt u modellen ondersteunen die zijn getraind via PyTorch, TensorFlow, Keras Deep Learning-frameworks en klassieke machine learning-modellen.
Lokaal en extern rekendoel
Het azureml.interpret
pakket is ontworpen om te werken met zowel lokale als externe rekendoelen. Als u het pakket lokaal uitvoert, neemt de SDK-functies geen contact op met azure-services.
U kunt de uitleg op afstand uitvoeren op Azure Machine Learning Compute en de uitleggegevens vastleggen in de Azure Machine Learning Run History Service. Nadat deze informatie is vastgelegd, zijn rapporten en visualisaties uit de uitleg direct beschikbaar op Azure Machine Learning-studio voor analyse.
Volgende stappen
- Meer informatie over het genereren van het verantwoordelijke AI-dashboard via CLI v2 en SDK v2 of de Azure Machine Learning-studio-gebruikersinterface.
- Verken de ondersteunde visualisaties van de interpreteerbaarheid van het verantwoordelijke AI-dashboard.
- Meer informatie over het genereren van een verantwoordelijke AI-scorecard op basis van de inzichten die worden waargenomen in het dashboard voor verantwoorde AI.
- Meer informatie over het inschakelen van interpreteerbaarheid voor geautomatiseerde machine learning-modellen (SDK v1).