Możliwość interpretowania modelu
W tym artykule opisano metody, których można użyć do interpretowania modelu w usłudze Azure Machine Learning.
Ważne
Wraz z wydaniem pulpitu nawigacyjnego Odpowiedzialne używanie sztucznej inteligencji, który obejmuje możliwość interpretowania modelu, zalecamy przeprowadzenie migracji do nowego środowiska, ponieważ starszy pulpit nawigacyjny możliwości interpretowania modelu zestawu SDK w wersji 1 w wersji zapoznawczej nie będzie już aktywnie utrzymywany.
Dlaczego możliwość interpretacji modelu jest ważna w przypadku debugowania modelu
Jeśli używasz modeli uczenia maszynowego w sposób, który wpływa na życie ludzi, ważne jest, aby zrozumieć, co wpływa na zachowanie modeli. Możliwość interpretacji pomaga odpowiedzieć na pytania w scenariuszach, takich jak:
- Debugowanie modelu: Dlaczego mój model popełnił ten błąd? Jak mogę ulepszyć model?
- Współpraca między ludźmi a sztuczną inteligencją: Jak mogę zrozumieć decyzje modelu i ufać mu?
- Zgodność z przepisami: Czy mój model spełnia wymagania prawne?
Składnik możliwości interpretacji pulpitu nawigacyjnego odpowiedzialnej sztucznej inteligencji przyczynia się do etapu "diagnozowania" przepływu pracy cyklu życia modelu, generując zrozumiałe dla człowieka opisy przewidywań modelu uczenia maszynowego. Zapewnia wiele widoków w zachowaniu modelu:
- Wyjaśnienia globalne: na przykład jakie funkcje wpływają na ogólne zachowanie modelu alokacji pożyczek?
- Wyjaśnienia lokalne: na przykład dlaczego wniosek o pożyczkę klienta został zatwierdzony lub odrzucony?
Możesz również obserwować wyjaśnienia modelu dla wybranej kohorty jako podgrupę punktów danych. Takie podejście jest przydatne, gdy na przykład oceniasz sprawiedliwość w przewidywaniach modelu dla osób w określonej grupie demograficznej. Karta Wyjaśnienie lokalne tego składnika reprezentuje również pełną wizualizację danych, która doskonale sprawdza się w przypadku ogólnych gałek ocznych danych i przyjrzenia się różnicom między poprawnymi i niepoprawnymi przewidywaniami każdej kohorty.
Możliwości tego składnika są tworzone przez pakiet InterpretML , który generuje wyjaśnienia modelu.
Użyj możliwości interpretacji, jeśli musisz:
- Określ, jak wiarygodne są przewidywania systemu sztucznej inteligencji, rozumiejąc, jakie funkcje są najważniejsze dla przewidywań.
- Podejście do debugowania modelu przez zrozumienie go najpierw i określenie, czy model korzysta z funkcji w dobrej kondycji, czy tylko fałszywych korelacji.
- Odkryj potencjalne źródła niesprawiedliwości, rozumiejąc, czy model opiera przewidywania na poufnych funkcjach, czy na funkcjach, które są z nimi wysoce skorelowane.
- Tworzenie zaufania użytkowników w decyzjach modelu przez generowanie lokalnych wyjaśnień w celu zilustrowania ich wyników.
- Ukończ inspekcję przepisów systemu sztucznej inteligencji, aby zweryfikować modele i monitorować wpływ decyzji dotyczących modelu na ludzi.
Jak interpretować model
W uczeniu maszynowym funkcje to pola danych używane do przewidywania docelowego punktu danych. Na przykład w celu przewidywania ryzyka kredytowego możesz użyć pól danych dla wieku, rozmiaru konta i wieku konta. W tym miejscu wiek, rozmiar konta i wiek konta są funkcjami. Ważność funkcji informuje, jak każde pole danych wpływa na przewidywania modelu. Na przykład, mimo że w przewidywaniu może być używany wiek, rozmiar konta i wiek konta mogą nie wpływać znacząco na wartości przewidywania. Dzięki temu procesowi analitycy danych mogą wyjaśnić wynikowe przewidywania w sposób, który zapewnia uczestnikom projektu wgląd w najważniejsze funkcje modelu.
Korzystając z klas i metod na pulpicie nawigacyjnym odpowiedzialnej sztucznej inteligencji oraz przy użyciu zestawu SDK w wersji 2 i interfejsu wiersza polecenia w wersji 2, możesz:
- Wyjaśnienie przewidywania modelu przez wygenerowanie wartości ważności funkcji dla całego modelu (wyjaśnienie globalne) lub poszczególnych punktów danych (wyjaśnienie lokalne).
- Osiągnij możliwość interpretowania modelu na rzeczywistych zestawach danych na dużą skalę.
- Użyj interaktywnego pulpitu nawigacyjnego wizualizacji, aby odnaleźć wzorce w danych i ich wyjaśnienia w czasie trenowania.
Korzystając z klas i metod w zestawie SDK w wersji 1, można wykonywać następujące czynności:
- Wyjaśnij przewidywanie modelu, generując wartości ważności funkcji dla całego modelu lub poszczególnych punktów danych.
- Osiągnij możliwość interpretowania modelu na rzeczywistych zestawach danych na dużą skalę podczas trenowania i wnioskowania.
- Użyj interaktywnego pulpitu nawigacyjnego wizualizacji, aby odnaleźć wzorce w danych i ich wyjaśnienia w czasie trenowania.
Uwaga
Klasy interpretacji modelu są udostępniane za pośrednictwem pakietu SDK w wersji 1. Aby uzyskać więcej informacji, zobacz Install SDK packages for Azure Machine Learning and azureml.interpret (Instalowanie pakietów zestawu SDK dla usługi Azure Machine Learning i azureml.interpret).
Obsługiwane techniki interpretowania modelu
Pulpit nawigacyjny odpowiedzialnej sztucznej inteligencji i azureml-interpret
korzystanie z technik interpretacji opracowanych w dokumentacji Interpret-Community, pakietu języka Python typu open source do trenowania modeli z możliwością interpretacji i pomaga wyjaśnić nieprzezroczyste systemy sztucznej inteligencji. Nieprzezroczyste modele to te, dla których nie mamy informacji o ich wewnętrznych działaniach.
Usługa Interpret-Community służy jako gospodarz następujących obsługiwanych wyjaśnień i obecnie obsługuje techniki interpretowania przedstawione w następnych sekcjach.
Obsługiwane na pulpicie nawigacyjnym odpowiedzialnej sztucznej inteligencji w zestawie Python SDK w wersji 2 i interfejsie wiersza polecenia w wersji 2
Technika interpretowania | opis | Type |
---|---|---|
Imśnik wyjaśniający (globalny surogat) + drzewo SHAP | Mimic Explainer opiera się na idei trenowania globalnych modeli zastępczych, aby naśladować nieprzezroczyste modele box. Globalny model zastępczy to wewnętrznie interpretowalny model, który jest trenowany w celu zbliżenia przewidywań dowolnego nieprzezroczystego modelu tak dokładnie, jak to możliwe. Analitycy danych mogą interpretować model zastępczy, aby wyciągnąć wnioski dotyczące nieprzezroczystego modelu. Pulpit nawigacyjny odpowiedzialnej sztucznej inteligencji używa lightGBM (LGBMExplainableModel), w połączeniu z algorytmem SHAP (SHapley Add exPlanations) Tree Explainer, który jest konkretnym objaśnieniem drzew i zespołów drzew. Połączenie drzewa LightGBM i SHAP zapewnia niezależne od modelu globalne i lokalne wyjaśnienia modeli uczenia maszynowego. |
Niezależny od modelu |
Obsługiwane techniki interpretowania modelu dla modeli tekstowych
Technika interpretowania | opis | Type | Zadanie tekstowe |
---|---|---|---|
Tekst SHAP | SHAP (SHapley Add exPlanations) to popularna metoda wyjaśnienia dla głębokich sieci neuronowych, która zapewnia wgląd w wkład każdej funkcji wejściowej do danego przewidywania. Opiera się na koncepcji wartości Shapley, która jest metodą przypisywania środków poszczególnym graczom w grze kooperatywnej. ShaP stosuje tę koncepcję do funkcji wejściowych sieci neuronowej przez obliczenie średniego udziału każdej funkcji w danych wyjściowych modelu we wszystkich możliwych kombinacjach funkcji. W przypadku tekstu skrót SHAP dzieli wyrazy w sposób hierarchiczny, traktując każde słowo lub token jako funkcję. Powoduje to utworzenie zestawu wartości przypisania, które kwantyfikują znaczenie każdego słowa lub tokenu dla danego przewidywania. Ostateczna mapa przypisania jest generowana przez wizualizowanie tych wartości jako mapy cieplnej w oryginalnym dokumencie tekstowym. ShaP to metoda niezależna od modelu i może służyć do wyjaśnienia szerokiej gamy modeli uczenia głębokiego, w tym sieci CNN, sieci RNN i transformatorów. Ponadto zapewnia kilka pożądanych właściwości, takich jak spójność, dokładność i sprawiedliwość, dzięki czemu jest to niezawodna i interpretowalna technika zrozumienia procesu podejmowania decyzji w modelu. | Niezależny od modelu | Klasyfikacja wieloklasowa tekstu, klasyfikacja wielu etykiet tekstu |
Obsługiwane techniki interpretacji modelu dla modeli obrazów
Technika interpretowania | opis | Type | Zadanie przetwarzania obrazów |
---|---|---|---|
Obraz SHAP | SHAP (SHapley Add exPlanations) to popularna metoda wyjaśnienia dla głębokich sieci neuronowych, która zapewnia wgląd w wkład każdej funkcji wejściowej do danego przewidywania. Opiera się na koncepcji wartości Shapley, która jest metodą przypisywania środków poszczególnym graczom w grze kooperatywnej. ShaP stosuje tę koncepcję do funkcji wejściowych sieci neuronowej przez obliczenie średniego udziału każdej funkcji w danych wyjściowych modelu we wszystkich możliwych kombinacjach funkcji. W przypadku wizji shaP dzieli obraz w sposób hierarchiczny, traktując obszary superpixel obrazu jako każdą funkcję. Powoduje to utworzenie zestawu wartości autorstwa, które kwantyfikują znaczenie każdego superpixela lub obszaru obrazu dla danego przewidywania. Ostateczna mapa przypisania jest generowana przez wizualizowanie tych wartości jako mapy cieplnej. ShaP to metoda niezależna od modelu i może służyć do wyjaśnienia szerokiej gamy modeli uczenia głębokiego, w tym sieci CNN, sieci RNN i transformatorów. Ponadto zapewnia kilka pożądanych właściwości, takich jak spójność, dokładność i sprawiedliwość, dzięki czemu jest to niezawodna i interpretowalna technika zrozumienia procesu podejmowania decyzji w modelu. | Niezależny od modelu | Klasyfikacja wieloklasowa obrazów, klasyfikacja wielu etykiet obrazów |
Backprop z przewodnikiem | Przewodnik-backprop to popularna metoda wyjaśnienia dla głębokich sieci neuronowych, która zapewnia wgląd w poznane reprezentacje modelu. Generuje wizualizację cech wejściowych, które aktywują określony neuron w modelu, przez obliczenie gradientu danych wyjściowych w odniesieniu do obrazu wejściowego. W przeciwieństwie do innych metod opartych na gradientach, backpropagates z przewodnikiem tylko przez gradienty dodatnie i używa zmodyfikowanej funkcji aktywacji ReLU, aby upewnić się, że gradienty ujemne nie wpływają na wizualizację. Powoduje to bardziej czytelną i wysoką rozdzielczość mapy saliency, która wyróżnia najważniejsze funkcje na obrazie wejściowym dla danego przewidywania. Z przewodnikiem-backprop można użyć do wyjaśnienia szerokiej gamy modeli uczenia głębokiego, w tym splotowych sieci neuronowych (CNN), cyklicznych sieci neuronowych (RN) i transformatorów. | AutoML | Klasyfikacja wieloklasowa obrazów, klasyfikacja wielu etykiet obrazów |
GradCAM z przewodnikiem | Przewodnik GradCAM to popularna metoda wyjaśnienia dla głębokich sieci neuronowych, która zapewnia wgląd w poznane reprezentacje modelu. Generuje ona wizualizację funkcji wejściowych, które przyczyniają się najbardziej do określonej klasy wyjściowej, łącząc podejście oparte na gradientzie wstecznego z podejściem do lokalizacji GradCAM. W szczególności oblicza gradienty klasy wyjściowej w odniesieniu do map funkcji ostatniej warstwy splotowej w sieci, a następnie wagi każdej mapy cech zgodnie z ważnością aktywacji tej klasy. Tworzy to mapę cieplną o wysokiej rozdzielczości, która wyróżnia najbardziej dyskryminacyjne regiony obrazu wejściowego dla danej klasy wyjściowej. Przewodnik GradCAM może służyć do wyjaśnienia szerokiej gamy modeli uczenia głębokiego, w tym sieci CNN, sieci RNN i transformatorów. Ponadto dzięki włączeniu wstecznego propagacji z przewodnikiem zapewnia, że wizualizacja jest zrozumiała i zinterpretowalna, unikając fałszywych aktywacji i negatywnych wkładów. | AutoML | Klasyfikacja wieloklasowa obrazów, klasyfikacja wielu etykiet obrazów |
Gradienty zintegrowane | Zintegrowane gradienty to popularna metoda wyjaśnienia dla głębokich sieci neuronowych, która zapewnia wgląd w współtworzenie każdej funkcji wejściowej do danego przewidywania. Oblicza integralną część gradientu klasy wyjściowej w odniesieniu do obrazu wejściowego, wzdłuż prostej ścieżki między obrazem odniesienia a rzeczywistym obrazem wejściowym. Ta ścieżka jest zwykle wybierana jako interpolacja liniowa między dwoma obrazami, a punkt odniesienia jest neutralnym obrazem, który nie ma istotnych funkcji. Dzięki zintegrowaniu gradientu wzdłuż tej ścieżki zintegrowane gradienty zapewniają miarę sposobu, w jaki każda funkcja wejściowa przyczynia się do przewidywania, umożliwiając wygenerowanie mapy autorstwa. Ta mapa wyróżnia najbardziej wpływowe funkcje wejściowe i może służyć do uzyskiwania wglądu w proces podejmowania decyzji w modelu. Zintegrowane gradienty mogą służyć do wyjaśnienia szerokiej gamy modeli uczenia głębokiego, w tym sieci CNN, sieci RNN i transformatorów. Ponadto jest to teoretycznie uziemiona technika, która spełnia zestaw pożądanych właściwości, takich jak czułość, wariancja implementacji i kompletność. | AutoML | Klasyfikacja wieloklasowa obrazów, klasyfikacja wielu etykiet obrazów |
XRAI | XRAI to nowatorska metoda saliency oparta na regionie oparta na zintegrowanych gradientach (IG). Nadmiernie segmentuje obraz i iteracyjnie testuje znaczenie każdego regionu, łącząc mniejsze regiony z większymi segmentami na podstawie ocen autorstwa. Ta strategia zapewnia wysoką jakość, ściśle ograniczone regiony saliency, które przewyższają istniejące techniki saliency. XRAI może być używany z dowolnym modelem opartym na sieci rozproszonej, o ile istnieje sposób klastrowania funkcji wejściowych w segmenty za pomocą pewnej metryki podobieństwa. | AutoML | Klasyfikacja wieloklasowa obrazów, klasyfikacja wielu etykiet obrazów |
D-RISE | D-RISE to niezależna od modelu metoda tworzenia wizualnych wyjaśnień prognoz modeli wykrywania obiektów. Uwzględniając zarówno aspekty lokalizacji, jak i kategoryzacji wykrywania obiektów, funkcja D-RISE może tworzyć mapy saliency, które podkreślają części obrazu, które najbardziej przyczyniają się do przewidywania detektora. W przeciwieństwie do metod opartych na gradientach, D-RISE jest bardziej ogólny i nie potrzebuje dostępu do wewnętrznych funkcji detektora obiektów; wymaga tylko dostępu do danych wejściowych i wyjściowych modelu. Metodę można zastosować do detektorów jednoetapowych (na przykład YOLOv3), detektorów dwuetapowych (np. Faster-RCNN) i Vision Transformers (na przykład DETR, OWL-ViT). Funkcja D-Rise zapewnia mapę sali, tworząc losowe maski obrazu wejściowego i wysyła je do detektora obiektów z losowymi maskami obrazu wejściowego. Oceniając zmianę wyniku detektora obiektów, agreguje wszystkie wykrycia z każdą maską i tworzy ostateczną mapę saliencyjności. |
Niezależny od modelu | Wykrywanie obiektów |
Obsługiwane w zestawie Python SDK w wersji 1
Technika interpretowania | opis | Type |
---|---|---|
Objaśnienie drzewa SHAP | Narzędzie do wyjaśniania drzewa SHAP , które koncentruje się na wielomianowym, szybkim, szybkim algorytmie szacowania wartości SHAP specyficznym dla drzew i zespołów drzew. | Specyficzne dla modelu |
Szczegółowe objaśnienie SHAP | W oparciu o wyjaśnienie shaP deep explainer to "szybki algorytm przybliżenia wartości SHAP w modelach uczenia głębokiego, który opiera się na połączeniu z deepLIFT opisanym w dokumencie SHAP NIPS. Obsługiwane są modele TensorFlow i modele Keras korzystające z zaplecza TensorFlow (istnieje również wstępna obsługa rozwiązania PyTorch)." | Specyficzne dla modelu |
Objaśnienie liniowe SHAP | Moduł wyjaśniający liniowy SHAP oblicza wartości SHAP dla modelu liniowego, opcjonalnie uwzględniając korelacje między funkcjami. | Specyficzne dla modelu |
Objaśnienie jądra SHAP | Funkcja wyjaśniania jądra SHAP używa specjalnie ważonej regresji liniowej lokalnej w celu oszacowania wartości SHAP dla dowolnego modelu. | Niezależny od modelu |
Wyjaśnij naśladownik (globalny surogat) | Mimic Explainer opiera się na idei trenowania globalnych modeli zastępczych, aby naśladować nieprzezroczyste modele box. Globalny model zastępczy to wewnętrznie interpretowalny model, który jest trenowany w celu zbliżenia przewidywań dowolnego nieprzezroczystego modelu tak dokładnie, jak to możliwe. Analitycy danych mogą interpretować model zastępczy, aby wyciągnąć wnioski dotyczące nieprzezroczystego modelu. Możesz użyć jednego z następujących modeli interpretowalnych jako modelu zastępczego: LightGBM (LGBMExplainableModel), Regresja liniowa (LinearExplainableModel), Stochastic Gradient Descent explainable model (SGDExplainableModel) lub Decision Tree (DecisionTreeExplainableModel). | Niezależny od modelu |
Objaśnienie ważności funkcji permutacji | Znaczenie cech permutacyjnych (PFI) to technika służąca do objaśnienia modeli klasyfikacji i regresji inspirowanych dokumentem Breiman's Random Forest (patrz sekcja 10). Na wysokim poziomie sposób jego działania polega na losowym przetasowaniu danych jednej funkcji naraz dla całego zestawu danych i obliczeniu, ile zmienia się metryka wydajności zainteresowania. Większa zmiana, tym ważniejsze jest to, że funkcja jest. PfI może wyjaśnić ogólne zachowanie dowolnego modelu bazowego, ale nie wyjaśnia poszczególnych przewidywań. | Niezależny od modelu |
Oprócz technik interpretowania opisanych w poprzedniej sekcji obsługujemy inny objaśnienie oparte na protokole SHAP, nazywane wyjaśnieniem tabelarycznym. W zależności od modelu wyjaśnienie tabelaryczne używa jednego z obsługiwanych wyjaśnień SHAP:
- Objaśnienie drzewa dla wszystkich modeli opartych na drzewach
- Głębokie objaśnienie dla modeli głębokiej sieci neuronowej (DNN)
- Objaśnienie liniowe dla modeli liniowych
- Objaśnienie jądra dla wszystkich innych modeli
Wyjaśnienie tabelaryczne wprowadziło również znaczące ulepszenia funkcji i wydajności w przypadku bezpośrednich wyjaśnień SHAP:
- Podsumowanie zestawu danych inicjowania: Gdy szybkość wyjaśnienia jest najważniejsza, podsumujemy zestaw danych inicjowania i generujemy niewielki zestaw reprezentatywnych próbek. Takie podejście przyspiesza generowanie ogólnych i indywidualnych wartości ważności cech.
- Próbkowanie zestawu danych oceny: jeśli przekażesz duży zestaw próbek oceny, ale nie potrzebujesz ich wszystkich do oceny, możesz ustawić parametr próbkowania, aby przyspieszyć
true
obliczanie ogólnych wyjaśnień modelu.
Na poniższym diagramie przedstawiono bieżącą strukturę obsługiwanych wyjaśnień:
Obsługiwane modele uczenia maszynowego
Pakiet azureml.interpret
zestawu SDK obsługuje modele, które są trenowane przy użyciu następujących formatów zestawu danych:
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. Jeśli podano model, musi zaimplementować funkcję predict
przewidywania lub predict_proba
zgodną z konwencją Scikit. Jeśli model nie obsługuje tej funkcji, możesz opakowować go w funkcji, która generuje ten sam wynik co predict
lub predict_proba
w zestawie Scikit i używać tej funkcji otoki z wybranym wyjaśnieniem.
Jeśli podasz potok, funkcja wyjaśnienia zakłada, że uruchomiony skrypt potoku zwraca przewidywanie. W przypadku korzystania z tej techniki azureml.interpret
zawijania można obsługiwać modele trenowane za pośrednictwem platform PyTorch, TensorFlow, Keras deep learning i klasycznych modeli uczenia maszynowego.
Lokalny i zdalny docelowy obiekt obliczeniowy
Pakiet azureml.interpret
jest przeznaczony do pracy z lokalnymi i zdalnymi obiektami obliczeniowymi. Jeśli pakiet zostanie uruchomiony lokalnie, funkcje zestawu SDK nie będą kontaktować się z żadnymi usługami platformy Azure.
Wyjaśnienie można uruchomić zdalnie w usłudze Azure Machine Learning Compute i zarejestrować informacje objaśnienia w usłudze Azure Machine Learning Run History Service. Po zarejestrowaniu tych informacji raporty i wizualizacje z wyjaśnienia są łatwo dostępne w usłudze Azure Machine Learning Studio na potrzeby analizy.
Następne kroki
- Dowiedz się, jak wygenerować pulpit nawigacyjny odpowiedzialnej sztucznej inteligencji za pośrednictwem interfejsu wiersza polecenia w wersji 2 i zestawu SDK w wersji 2 lub interfejsu użytkownika usługi Azure Machine Learning Studio.
- Zapoznaj się z obsługiwanymi wizualizacjami możliwości interpretacji pulpitu nawigacyjnego Odpowiedzialne używanie sztucznej inteligencji.
- Dowiedz się, jak wygenerować kartę wyników odpowiedzialnej sztucznej inteligencji na podstawie szczegółowych informacji obserwowanych na pulpicie nawigacyjnym odpowiedzialnej sztucznej inteligencji.
- Dowiedz się, jak włączyć możliwość interpretacji dla modeli zautomatyzowanego uczenia maszynowego (SDK w wersji 1).