Modelltolkning
I den här artikeln beskrivs metoder som du kan använda för modelltolkning i Azure Mašinsko učenje.
Viktigt!
Med lanseringen av instrumentpanelen ansvarsfull AI, som innehåller modelltolkning, rekommenderar vi att du migrerar till den nya upplevelsen eftersom den äldre instrumentpanelen för förhandsgranskningsmodellen för SDK v1 inte längre underhålls aktivt.
Varför modelltolkning är viktigt för modellfelsökning
När du använder maskininlärningsmodeller på sätt som påverkar människors liv är det mycket viktigt att förstå vad som påverkar modellernas beteende. Tolkning hjälper dig att besvara frågor i scenarier som:
- Modellfelsökning: Varför gjorde min modell det här misstaget? Hur kan jag förbättra min modell?
- Samarbete mellan människa och AI: Hur kan jag förstå och lita på modellens beslut?
- Regelefterlevnad: Uppfyller min modell juridiska krav?
Tolkningskomponenten i instrumentpanelen ansvarsfull AI bidrar till fasen "diagnostisera" i modellens livscykelarbetsflöde genom att generera beskrivande beskrivningar av förutsägelserna för en maskininlärningsmodell. Den innehåller flera vyer i en modells beteende:
- Globala förklaringar: Vilka funktioner påverkar till exempel det övergripande beteendet för en låneallokeringsmodell?
- Lokala förklaringar: Varför godkändes eller avvisades till exempel en kunds låneansökan?
Du kan också se modellförklaringar för en vald kohort som en undergrupp av datapunkter. Den här metoden är värdefull när du till exempel utvärderar rättvisa i modellförutsägelser för individer i en viss demografisk grupp. Fliken Lokal förklaring för den här komponenten representerar också en fullständig datavisualisering, vilket är bra för allmän ögonglobning av data och tittar på skillnader mellan korrekta och felaktiga förutsägelser för varje kohort.
Funktionerna i den här komponenten bygger på InterpretML-paketet , som genererar modellförklaringar.
Använd tolkning när du behöver:
- Fastställa hur tillförlitliga ai-systemets förutsägelser är genom att förstå vilka funktioner som är viktigast för förutsägelserna.
- Gå till felsökningen av din modell genom att förstå den först och identifiera om modellen använder felfria funktioner eller bara falska korrelationer.
- Upptäck potentiella orättvisor genom att förstå om modellen baserar förutsägelser på känsliga funktioner eller på funktioner som är starkt korrelerade med dem.
- Skapa användarförtroende för din modells beslut genom att generera lokala förklaringar för att illustrera deras resultat.
- Slutför en regelgranskning av ett AI-system för att validera modeller och övervaka effekten av modellbeslut på människor.
Så här tolkar du din modell
I maskininlärning är funktioner de datafält som du använder för att förutsäga en måldatapunkt. Om du till exempel vill förutsäga kreditrisker kan du använda datafält för ålder, kontostorlek och kontoålder. Här är ålder, kontostorlek och kontoålder funktioner. Funktionsvikt visar hur varje datafält påverkar modellens förutsägelser. Även om du till exempel kan använda ålder kraftigt i förutsägelsen kanske kontostorleken och kontoåldern inte påverkar förutsägelsevärdena nämnvärt. Genom den här processen kan dataexperter förklara resulterande förutsägelser på sätt som ger intressenter insyn i modellens viktigaste funktioner.
Genom att använda klasserna och metoderna på instrumentpanelen ansvarsfull AI och med hjälp av SDK v2 och CLI v2 kan du:
- Förklara modellförutsägelse genom att generera funktionsviktsvärden för hela modellen (global förklaring) eller enskilda datapunkter (lokal förklaring).
- Uppnå modelltolkning på verkliga datauppsättningar i stor skala.
- Använd en instrumentpanel för interaktiv visualisering för att identifiera mönster i dina data och dess förklaringar vid träningstillfället.
Genom att använda klasserna och metoderna i SDK v1 kan du:
- Förklara modellförutsägelse genom att generera värden för funktionsbetydelse för hela modellen eller enskilda datapunkter.
- Uppnå modelltolkning på verkliga datauppsättningar i stor skala under träning och slutsatsdragning.
- Använd en instrumentpanel för interaktiv visualisering för att identifiera mönster i dina data och dess förklaringar vid träningstillfället.
Kommentar
Modelltolkningsklasser görs tillgängliga via SDK v1-paketet. Mer information finns i Installera SDK-paket för Azure Mašinsko učenje och azureml.interpret.
Modelltolkningstekniker som stöds
Instrumentpanelen ansvarsfull AI och azureml-interpret
använd de tolkningstekniker som utvecklades i Interpret-Community, ett Python-paket med öppen källkod för att träna tolkningsbara modeller och hjälpa till att förklara ogenomskinliga AI-system. Ogenomskinliga modeller är de som vi inte har någon information om deras interna arbete för.
Interpret-Community fungerar som värd för följande förklarare som stöds och stöder för närvarande de tolkningstekniker som presenteras i nästa avsnitt.
Stöds i instrumentpanelen ansvarsfull AI i Python SDK v2 och CLI v2
Tolkningsteknik | beskrivning | Typ |
---|---|---|
Mimic Explainer (Global Surrogate) + SHAP-träd | Mimic Explainer baseras på idén att träna globala surrogatmodeller för att efterlikna ogenomskinliga modeller. En global surrogatmodell är en inbyggt tolkningsbar modell som tränas att approximera förutsägelserna för en ogenomskinlig modell så exakt som möjligt. Dataforskare kan tolka surrogatmodellen för att dra slutsatser om den ogenomskinliga modellen. Instrumentpanelen ansvarsfull AI använder LightGBM (LGBMExplainableModel), tillsammans med SHAP-trädförklaringen (SHapley Additive exPlanations), som är en specifik förklaring för träd och trädensembler. Kombinationen av LightGBM- och SHAP-träd ger modelloberoende globala och lokala förklaringar av dina maskininlärningsmodeller. |
Modellagnostisk |
Modelltolkningstekniker som stöds för textmodeller
Tolkningsteknik | beskrivning | Typ | Textaktivitet |
---|---|---|---|
SHAP-text | SHAP (SHapley Additive exPlanations) är en populär förklaringsmetod för djupa neurala nätverk som ger insikter om hur varje indatafunktion bidrar till en viss förutsägelse. Det är baserat på begreppet Shapley-värden, vilket är en metod för att tilldela kredit till enskilda spelare i ett kooperativt spel. SHAP tillämpar det här konceptet på indatafunktionerna i ett neuralt nätverk genom att beräkna det genomsnittliga bidraget från varje funktion till modellens utdata i alla möjliga kombinationer av funktioner. För text specifikt delar SHAP på ord på ett hierarkiskt sätt och behandlar varje ord eller token som en funktion. Detta ger en uppsättning attributionsvärden som kvantifierar vikten av varje ord eller token för den angivna förutsägelsen. Den slutliga attributionskartan genereras genom att dessa värden visualiseras som en värmekarta över det ursprungliga textdokumentet. SHAP är en modelloberoende metod och kan användas för att förklara en mängd olika djupinlärningsmodeller, inklusive CNN, RNN och transformatorer. Dessutom ger den flera önskvärda egenskaper, till exempel konsekvens, noggrannhet och rättvisa, vilket gör den till en tillförlitlig och tolkningsbar teknik för att förstå beslutsprocessen för en modell. | Modellagnostisk | Klassificering av text med flera klasser, klassificering av flera etiketter för text |
Modelltolkningstekniker som stöds för bildmodeller
Tolkningsteknik | beskrivning | Typ | Vision uppgift |
---|---|---|---|
SHAP-vision | SHAP (SHapley Additive exPlanations) är en populär förklaringsmetod för djupa neurala nätverk som ger insikter om hur varje indatafunktion bidrar till en viss förutsägelse. Det är baserat på begreppet Shapley-värden, vilket är en metod för att tilldela kredit till enskilda spelare i ett kooperativt spel. SHAP tillämpar det här konceptet på indatafunktionerna i ett neuralt nätverk genom att beräkna det genomsnittliga bidraget från varje funktion till modellens utdata i alla möjliga kombinationer av funktioner. Specifikt för vision delar SHAP på bilden på ett hierarkiskt sätt och behandlar superpixelområden i bilden som varje funktion. Detta ger en uppsättning attributionsvärden som kvantifierar vikten av varje superpixel eller bildområde för den angivna förutsägelsen. Den slutliga attributionskartan genereras genom att dessa värden visualiseras som en värmekarta. SHAP är en modelloberoende metod och kan användas för att förklara en mängd olika djupinlärningsmodeller, inklusive CNN, RNN och transformatorer. Dessutom ger den flera önskvärda egenskaper, till exempel konsekvens, noggrannhet och rättvisa, vilket gör den till en tillförlitlig och tolkningsbar teknik för att förstå beslutsprocessen för en modell. | Modellagnostisk | Image Multi-class Classification, Image Multi-label Classification |
Guidad backprop | Guidad backprop är en populär förklaringsmetod för djupa neurala nätverk som ger insikter om modellens inlärda representationer. Den genererar en visualisering av indatafunktionerna som aktiverar en viss neuron i modellen genom att beräkna toningen av utdata med avseende på indatabilden. Till skillnad från andra toningsbaserade metoder backpropgerar endast guidad backprop via positiva toningar och använder en modifierad ReLU-aktiveringsfunktion för att säkerställa att negativa toningar inte påverkar visualiseringen. Detta resulterar i en mer tolkningsbar och högupplöst saliency-karta som visar de viktigaste funktionerna i indatabilden för en viss förutsägelse. Guidad backprop kan användas för att förklara ett brett spektrum av djupinlärningsmodeller, inklusive convolutional neurala nätverk (CNN), återkommande neurala nätverk (RNN) och transformatorer. | AutoML | Image Multi-class Classification, Image Multi-label Classification |
Guidad gradCAM | Guidad GradCAM är en populär förklaringsmetod för djupa neurala nätverk som ger insikter om modellens inlärda representationer. Den genererar en visualisering av indatafunktionerna som bidrar mest till en viss utdataklass genom att kombinera den toningsbaserade metoden för guidad backpropagation med lokaliseringsmetoden gradCAM. Mer specifikt beräknar den utdataklassens toningar med avseende på funktionskartorna för det senaste convolutional-lagret i nätverket och viktar sedan varje funktionskarta enligt vikten av dess aktivering för den klassen. Detta skapar en högupplöst värmekarta som visar de mest diskriminerande regionerna i indatabilden för den angivna utdataklassen. Guidad GradCAM kan användas för att förklara ett brett spektrum av djupinlärningsmodeller, inklusive CNN, RNN och transformatorer. Genom att införliva guidad backpropagation säkerställer det dessutom att visualiseringen är meningsfull och tolkningsbar, vilket undviker falska aktiveringar och negativa bidrag. | AutoML | Image Multi-class Classification, Image Multi-label Classification |
Integrerade toningar | Integrerade toningar är en populär förklaringsmetod för djupa neurala nätverk som ger insikter om hur varje indatafunktion bidrar till en viss förutsägelse. Den beräknar integralen i utdataklassens toning med avseende på indatabilden, längs en rak väg mellan en baslinjebild och den faktiska indatabilden. Den här sökvägen väljs vanligtvis som en linjär interpolation mellan de två bilderna, där baslinjen är en neutral bild som inte har några framträdande funktioner. Genom att integrera toningen längs den här sökvägen ger integrerade toningar ett mått på hur varje indatafunktion bidrar till förutsägelsen, vilket gör att en attributionskarta kan genereras. Den här kartan visar de mest inflytelserika indatafunktionerna och kan användas för att få insikter om modellens beslutsprocess. Integrerade toningar kan användas för att förklara ett brett spektrum av djupinlärningsmodeller, inklusive CNN, RNN och transformatorer. Dessutom är det en teoretiskt grundad teknik som uppfyller en uppsättning önskvärda egenskaper, till exempel känslighet, implementeringsvarians och fullständighet. | AutoML | Image Multi-class Classification, Image Multi-label Classification |
XRAI | XRAI är en ny regionbaserad saliency-metod baserad på integrerade toningar (IG). Den översegmenterar bilden och testar iterativt vikten av varje region, vilket kombinerar mindre regioner i större segment baserat på attributionspoäng. Den här strategin ger hög kvalitet, tätt avgränsade saliency regioner som överträffar befintliga saliency tekniker. XRAI kan användas med valfri DNN-baserad modell så länge det finns ett sätt att gruppera indatafunktionerna i segment via något likhetsmått. | AutoML | Image Multi-class Classification, Image Multi-label Classification |
D-RISE | D-RISE är en modelloberoende metod för att skapa visuella förklaringar för förutsägelser av objektidentifieringsmodeller. Genom att redovisa både lokaliserings- och kategoriseringsaspekterna för objektidentifiering kan D-RISE producera saliency-kartor som markerar delar av en bild som mest bidrar till förutsägelsen av detektorn. Till skillnad från toningsbaserade metoder är D-RISE mer allmänt och behöver inte åtkomst till objektdetektorns inre funktioner. det kräver bara åtkomst till indata och utdata för modellen. Metoden kan tillämpas på enstegsdetektorer (till exempel YOLOv3), tvåstegsdetektorer (till exempel Faster-RCNN) och Vision Transformers (till exempel DETR, OWL-ViT). D-Rise tillhandahåller saliency-kartan genom att skapa slumpmässiga masker av indatabilden och skickar den till objektdetektorn med indatabildens slumpmässiga masker. Genom att utvärdera ändringen av objektidentifieringens poäng aggregerar den alla identifieringar med varje mask och skapar en slutlig saliency-karta. |
Modellagnostisk | Objektidentifiering |
Stöds i Python SDK v1
Tolkningsteknik | beskrivning | Typ |
---|---|---|
SHAP-trädförklarare | SHAP Tree Explainer, som fokuserar på en polynom, tidssnabb SHAP-värdeuppskattningsalgoritm som är specifik för träd och ensembler av träd. | Modellspecifik |
SHAP Deep Explainer | Baserat på förklaringen från SHAP är Deep Explainer en "algoritm för snabb uppskattning för SHAP-värden i djupinlärningsmodeller som bygger på en anslutning med DeepLIFT som beskrivs i SHAP NIPS-dokumentet. TensorFlow-modeller och Keras-modeller som använder TensorFlow-serverdelen stöds (det finns även preliminärt stöd för PyTorch)." | Modellspecifik |
SHAP Linjär förklaring | SHAP Linear Explainer beräknar SHAP-värden för en linjär modell och kan även redovisa korrelationer mellan funktioner. | Modellspecifik |
SHAP Kernel Explainer | SHAP Kernel Explainer använder en särskilt viktad lokal linjär regression för att uppskatta SHAP-värden för alla modeller. | Modellagnostisk |
Mimic Explainer (Global Surrogate) | Mimic Explainer baseras på idén att träna globala surrogatmodeller för att efterlikna ogenomskinliga modeller. En global surrogatmodell är en inbyggt tolkningsbar modell som tränas att approximera förutsägelserna för en ogenomskinlig modell så exakt som möjligt. Dataforskare kan tolka surrogatmodellen för att dra slutsatser om den ogenomskinliga modellen. Du kan använda någon av följande tolkningsbara modeller som din surrogatmodell: LightGBM (LGBMExplainableModel), Linjär regression (LinearExplainableModel), Förklaringsbar modell för stochastic gradient descent (SGDExplainableModel) eller Beslutsträd (DecisionTreeExplainableModel). | Modellagnostisk |
Förklaring av funktionsbetydelse för permutation | Permutation Feature Importance (PFI) är en teknik som används för att förklara klassificerings- och regressionsmodeller som är inspirerade av Breimans randomskogspapper (se avsnitt 10). På en hög nivå fungerar det genom att slumpmässigt blanda data en funktion i taget för hela datamängden och beräkna hur mycket prestandamåttet av intresse ändras. Ju större förändring, desto viktigare är funktionen. PFI kan förklara det övergripande beteendet för en underliggande modell men förklarar inte enskilda förutsägelser. | Modellagnostisk |
Förutom de tolkningstekniker som beskrivs i föregående avsnitt stöder vi en annan SHAP-baserad förklaring, kallad Tabular Explainer. Beroende på modell använder Tabular Explainer en av shap-förklaringarna som stöds:
- Trädförklarare för alla trädbaserade modeller
- Djup förklaring för DNN-modeller (Deep Neural Network)
- Linjär förklaring för linjära modeller
- Kernel Explainer för alla andra modeller
Tabular Explainer har också gjort betydande funktions- och prestandaförbättringar jämfört med de direkta SHAP-förklaringarna:
- Sammanfattning av initieringsdatauppsättningen: När förklaringshastigheten är viktigast sammanfattar vi initieringsdatauppsättningen och genererar en liten uppsättning representativa exempel. Den här metoden påskyndar genereringen av övergripande och enskilda funktionsviktsvärden.
- Sampling av utvärderingsdatauppsättningen: Om du skickar in en stor uppsättning utvärderingsexempel men faktiskt inte behöver alla utvärderas kan du ange samplingsparametern till
true
för att påskynda beräkningen av övergripande modellförklaringar.
Följande diagram visar den aktuella strukturen för förklaringar som stöds:
Maskininlärningsmodeller som stöds
SDK-paketet azureml.interpret
stöder modeller som tränas med följande datauppsättningsformat:
numpy.array
pandas.DataFrame
iml.datatypes.DenseData
scipy.sparse.csr_matrix
Förklaringsfunktionerna accepterar både modeller och pipelines som indata. Om en modell tillhandahålls måste den implementera förutsägelsefunktionen predict
eller predict_proba
som överensstämmer med Scikit-konventionen. Om din modell inte stöder detta kan du omsluta den i en funktion som genererar samma resultat som predict
eller predict_proba
i Scikit och använda den omslutningsfunktionen med den valda förklaringen.
Om du anger en pipeline förutsätter förklaringsfunktionen att pipelineskriptet som körs returnerar en förutsägelse. När du använder den här omslutningstekniken azureml.interpret
kan du stödja modeller som tränas via PyTorch, TensorFlow, Keras djupinlärningsramverk och klassiska maskininlärningsmodeller.
Lokalt och fjärrberäkningsmål
Paketet azureml.interpret
är utformat för att fungera med både lokala och fjärranslutna beräkningsmål. Om du kör paketet lokalt kontaktar inte SDK-funktionerna några Azure-tjänster.
Du kan fjärrköra förklaringen på Azure Mašinsko učenje Compute och logga förklaringsinformationen till Azure Mašinsko učenje Run History Service. När den här informationen har loggats är rapporter och visualiseringar från förklaringen lättillgängliga i Azure Mašinsko učenje studio för analys.
Nästa steg
- Lär dig hur du genererar instrumentpanelen ansvarsfull AI via CLI v2 och SDK v2 eller Användargränssnittet för Azure Mašinsko učenje Studio.
- Utforska de tolkningsvisualiseringar som stöds på instrumentpanelen för ansvarsfull AI.
- Lär dig hur du genererar ett ansvarsfullt AI-styrkort baserat på de insikter som observerats på instrumentpanelen ansvarsfull AI.
- Lär dig hur du aktiverar tolkning för automatiserade maskininlärningsmodeller (SDK v1).