You've successfully subscribed to edrone Blog
Great! Next, complete checkout for full access to edrone Blog
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

XAI: Interpretowalna Sztuczna Inteligencja

Sztuczna Inteligencja jest częścią naszej codzienności, i tego nie jesteśmy w stanie zmienić. Słyszymy o niej w wiadomościach i używamy, nawet nieświadomie, na naszych urządzeniach. Zastanawiacie się jednak czasami, jak tak naprawdę działa? Konkretnie, na jakiej zasadzie algorytmy podejmują decyzje?

Grzegorz Knor
Grzegorz Knor

Jeśli tak, to bardzo dobrze. Okazuje się bowiem, że odpowiedź na to pytanie jest dziedziną sztucznej inteligencji samą w sobie. Nosi nazwę Explainable Artificial Intelligence, Wyjaśnialna Sztuczna Inteligencja, w skrócie XAI.

Lubię skakać na kolana
Śledzę kroki mego pana
Sporo psocę, myszki łapię
Spałem dziś na twej kanapie

O jakim zwierzątku mowa? Na jakiej podstawie tak sądzisz?

Odpowiedzi na te pytania, nam, ludziom, nie sprawiają najmniejszych problemów. Teraz wyobraźmy sobie, że tę samą zagadkę wprowadzimy do głębokiej sieci neuronowej  klasyfikującej tekst. Ona również najprawdopodobniej odpowie, że chodzi o kota. Dlaczego? Ponieważ aktywacja w ostatniej warstwie dla kategorii „kot” była najwyższa. Niezbyt przekonujące, prawda?

Obecne uzasadnienie:

To jest kot.

Uzasadnienie wg XAI:

To jest kot:

  • Koty lubią wskakiwać na kolana.
  • Koty to zwierzęta terytorialne.
  • Polowanie na myszy jest typowym dla kotów zachowaniem.
  • Koty śpią dziennie około 10-16 godzin.

Wraz z rozwojem Sztucznej Inteligencji i coraz to bardziej złożonymi modelami, pojawia się więcej pytań dlaczego właściwie otrzymaliśmy ten konkretny werdykt. W tym artykule omówimy koncept XAI. Wyjaśnialnej” czy też Interpretowalnej” Sztucznej Inteligencji.

Wstęp

Wyjaśnialność modeli Sztucznej Inteligencji jest czymś,o czym słyszymy coraz częściej. Można domyślać się, że to przede wszystkim przez jej rosnącą popularność i skalę aplikacji, chcemy zrozumieć, co tak naprawdę robią te rozwiązania.

Dobrze obrazuje to cykl dojrzałości technologii Gartnera (Gartner Hype Cycle for Emerging Technologies). W 2019 XAI osiągnęła swój szczyt popularności i ciągle się na nim utrzymuje, co w praktyce potwierdza, że coraz więcej osób interesuje się tym tematem.

Musimy jednak pamiętać, że Interpretowalna Sztuczna Inteligencja nie jest zupełnie nowym pojęciem. Jest co najmniej tak stara jak wczesne systemy AI! Korzenie sięgają roku 1970 i są związane z pojęciem rozumowania abdukcyjnego w systemach eksperckich (np. aplikacjami do diagnoz medycznych czy kompleksowym, wielokomponentowym designem). Na przykład w artykule Decision Theory Meets Explainable AI", Karry Farming przytacza pracę z lat siedemdziesiątych, która opisywała metody wyjaśniania działań AI, chociaż sama XAI, jako termin, nie została w niej bezpośrednio użyta.

Uściślijmy jeszcze jedno. Jak wiemy XAI dotyczy szeroko pojętej sztucznej inteligencji, a tę dziedzinę od dziesięcioleci definiują algorytmy uczenia maszynowego (w ostatnich latach także uczenie głębokie – Deep Learning), dlatego przykłady w artykule skupią się na XAI w uczeniu maszynowym (nie interesują nas na przykład klasyczne systemy rozumowania i inne podobne metody).

No dobrze, wiemy już, że termin nie jest nowy, ale zyskuje ogromną popularność w ostatnich latach. Co to jednak dokładnie oznacza?

Jak zdefiniować Interpretowalność?

Tutaj napotykamy pierwszą przeszkodę, ponieważ istnieje problem z formalną definicją XAI. Oczywiście możemy posiłkować się definicją czysto matematyczną:

Interpretowalność to relacja pomiędzy formalnymi teoriami, wyrażana poprzez możliwość interpretowania lub tłumaczenia jednej w drugą.

Jednak ta definicja nie jest dla nas wystarczająca, jest zbyt ogólna. Na szczęście, istnieje kilka sposobów na zdefiniowanie XAI. Kolejne pochodzą wprost z literatury przedmiotu. Na przykład:

Interpretowalność to stopień, w jakim człowiek może zrozumieć skutek danej decyzji.

Lub:

Interpretowalność to stopień, w jakim człowiek może ciągle, nieprzerwanie przewidywać rezultat modelu.

Są one nieco podobne do definicji interpretowalności, którą podaje słownik Oxford English Dictionary:

Jeżeli coś jest interpretowalne [interpretable — przyp. tł.] to można stwierdzić, że ma to konkretne znaczenie, następnie zrozumieć to w ten sposób i wytłumaczyć.”

Słownik Oxford nie podaje niestety definicji słowa explainable, czyli wspomnianej wyjaśnialności.

Wszystkie powyższe definicje przybliżają nas do naszego celu – pomagają zrozumieć czym jest XAI. Niestety ich słabością jest to, że nie opisują zagadnienia w sposób ilościowy. Na szczęście, na potrzeby tego artykułu są wystarczające.

Jeśli chciałbyś się dowiedzieć więcej na ten temat interpretowalnej sztucznej inteligencji, koniecznie zajrzyj do książki Christopha Molnara poświęconej temu zagadnieniu. Jeśli natomiast interesuje Cię to, jak przedstawić wyjaśnialność za pomocą liczb, polecam publikację naukową, autorstwa edronersów.

Po co potrzebujemy Interpretowalności?

Odpowiedź na to pytanie zależy od zadań, jakie przed Tobą stoją. My, praktycy Sztucznej Inteligencji, na ten przykład czujemy dyskomfort, związany z tym, że coraz więcej modeli to tak zwane black boxes – czarne skrzynki. Innymi słowy, coraz bardziej i częściej polegamy na modelach ze sposobem działania i strukturą tak złożoną, że ciężko ją pojąć ludziom.

Oczywiście, niektórym rozumienie złożonych modeli idzie lepiej, innym gorzej. To zależy od poziomu wiedzy i nie da się precyzyjnie zdefiniować (na przykład przez określenie liczby parametrów) momentu, w którym zrozumienie konkretnego modelu przerasta zdolności poznawcze danej osoby.

W przeciwieństwie do maszyn ludzie są ograniczeni w rozumieniu wielowymiarowych relacji. Według psychologa George’a Millera, ludzie mogą przechowywać 7 ± 2” informacji w pamięci krótkotrwałej. Dlatego liczba parametrów i zmiennych, które model może posiadać, i jednocześnie być zrozumianym przez człowieka, jest niewielka.

Według Biecka i Burzykowskiego, w praktyce, dla większości ludzi, ten próg jest prawdopodobnie bliżej 10 niż 100 parametrów modelu (w zależności od tego czy mamy do czynienia z profesjonalistą Machine Learning, który zjadł zęby na analizie rezultatów algorytmów, czy z przeciętnym człowiekiem, który z Machine Learning nie ma nic wspólnego). Jest to bardzo mało, jeśli spojrzeć na wielkość współczesnych sieci neuronowych (na przykład pełna wersja GPT-3 ma pojemność 175 miliardów parametrów uczenia maszynowego).

Powstaje więc pytanie: dlaczego nie stosować wyłącznie modeli interpretowalnych? Po prostu dlatego, że istnieje korelacja pomiędzy złożonością modelu, a jego jakością. W skrócie – modele, które jesteśmy w stanie zrozumieć, dają znacznie gorsze wyniki niż wspomniane wcześniej czarne skrzynki. Ilustruje to poniższy wykres.

Wracając jednak do pytania postawionego w tytule tego akapitu, wyjaśnialność jest również potrzebna z innych powodów. Spójrzmy, na przykład, na jedno ze spostrzeżeń pochodzących z raportu 22nd Annual Global CEO Survey:

CEO w przeważającej większości zgadzają się” z tym, że decyzje podejmowane w oparciu o AI muszą być wytłumaczalne, aby można było im zaufać. Więcej CEO (84%) zgadza się" ze stwierdzeniem, że AI jest dobra dla społeczeństwa (79%).

Otwarcie czarnej skrzynki" algorytmów ma kluczowe znaczenie dla wprowadzenia AI do głównego nurtu w miarę wzrostu złożoności i wpływu podejmowanych przez nią decyzji (np. diagnozy medyczne, samokierujące się samochody). Spróbujmy wskazać istotne powody, dla których warto zająć się tym tematem:

  1. Bezpieczeństwo. Modele Machine Learning zajmują się zadaniami z prawdziwego świata. Pomagają, na przykład, w diagnozie medycznej, sterują autonomicznymi pojazdami, pomagają sędziom w wydawaniu werdyktów sądowych, czy wspierają patrole policyjne. Rozumienie takich modeli jest zapewnieniem o ich bezpieczeństwie. Innymi słowy, modele Machine Learning mogą być audytowane tylko wtedy, gdy są interpretowalne.
  2. Regulacje prawne. Pewnie obił Ci się o uszy termin RODO. Rozporządzenie Unii Europejskiej wprowadza między innymi prawo do wyjaśnienia, a dokładniej prawo do otrzymania wyjaśnienia na temat danych wyjściowych algorytmu”. Podobne prawo zostało z resztą wcześniej wprowadzone we Francji. Mianowicie francuska ustawa o Republice Cyfrowej lub loi numérique wprowadziła obowiązek wyjaśniania decyzji podejmowanych przez organy sektora publicznego w stosunku do osób fizycznych. Podobne regulacje dotyczące credit score wprowadzono w Stanach Zjednoczonych. Amerykańscy kredytodawcy są zobowiązani do informowania wnioskodawców, którym odmówiono kredytu, o szczegółowym uzasadnieniu. Tworząc rozwiązania oparte na sztucznej inteligencji, musimy więc pamiętać, że regulacje w kraju, w którym będzie działał nasz algorytm, mogą wymusić na nas wyjaśnialność. Teraz wracając szybko do cyklu Gartnera, XAI znajduje się na szczycie Gartner Legal Tech Hype Cycle na rok 2021. Ma sens, prawda?
  3. Debugowanie. Interpretowalność jest również bardzo przydatnym narzędziem dla inżynierów tworzących rozwiązania AI. Ułatwia im znalezienie potencjalnych błędów w kodzie lub komponentach osłabiających wydajność systemu. Np., jeśli model uczy się podejmować decyzje na podstawie nieistotnych detali, które mogą wprowadzać go w błąd, techniki XAI mogą ułatwić ich wychwycenie.
  4. Akceptacja społeczna. Dziennik Urzędowy Unii Europejskiej (Rocznik 60 z 31 sierpnia 2017) zawiera zdanie: Akceptacja oraz trwały rozwój i stosowanie sztucznej inteligencji zależą od możliwości rozumienia, kontrolowania i wyjaśnienia funkcjonowania, działań i decyzji systemów sztucznej inteligencji, również po fakcie.” Bardzo dobrze podsumowuje ono kryteria, które muszą zostać spełnione, aby opinia publiczna zaakceptowała rozwój sztucznej inteligencji. Jest to szczególnie ważne, ponieważ niektórzy ludzie się jej po prostu boją. Żeby daleko nie szukać, świadczy o tym zeszłoroczny wysyp negatywnych opinii na jej temat w internecie. Jeżeli interesuje Cię temat społecznej akceptacji AI, możesz zajrzeć do tego artykułu: Building Trust to AI Systems Through Explainability. Technical and Legal Perspectives, którego współautorami są członkowie teamu edrone AVA.
  5. Ludzka ciekawość. Ludzkość od zawsze szukała w świecie, który ich otacza, jakiegoś znaczenia. Starała się go zrozumieć, odkryć. Była wiedziona przez ciekawość. To właśnie ona oraz chęć uczenia się są świetnymi powodami, by zająć XAI.

Oczywiście, aby można było korzystać z modeli, nie zawsze musimy używać w stosunku do nich kryterium wyjaśnialności. Jeżeli model nie ma wielkiego wpływu na życie (weźmy na przykład Tamagotchi napędzanego AI czy Hot Wheels AI), to naszym priorytetem nie będzie kompletne rozumienie go. Ogólnie rzecz biorąc, powinniśmy użyć własnego kręgosłupa moralnego i etycznego, aby odpowiedzieć na pytanie, czy wyjaśnialność jest kluczowa w naszym konkretnym modelu.

Warto także pamiętać, że alternatywą dla legalnych czy etycznych wymagań używania wyjaśnialności AI może być idea otoczki/opakowania zaproponowana przez Robbinsa.

Robbins argumentuje, że sztuczna inteligencja działająca w dobrze zdefiniowanej przestrzeni roboczej (np. opakowaniu / osłonie [ang. envelopment] – fizycznych bądź wirtualnych mikrośrodowiskach, które pozwalają modelom AI realizować swoje funkcje przy jednoczesnym zapobieganiu szkodom dla ludzi) nie potrzebowałaby wyjaśnialności, ponieważ jej zakres i sposób działania gwarantowałyby wiarygodność, nawet jeśli szczegóły decyzji nie byłyby w pełni transparentne.

Oczywiście stworzenie takiej klatki” nie zawsze jest wykonalne, więc koncepcja Robbinsa wcale nie wyklucza rozwoju XAI, a jedynie go uzupełnia.

Wady i zalety

Jak do tej pory, treść tego artykułu wskazuje, że XAI ma same zalety. To fakt, ma ich całkiem sporo. Oto kilka z nich (niektóre zostały omówione wcześniej, natomiast nowe pojęcia są opatrzone linkami, które pomogą zgłębić temat):

  1. Większe zaufanie i pewność co do wyników modelu.
  2. Szersze zastosowanie modeli w produkcji, ponieważ wyjaśnią, na jakiej zasadzie podejmują decyje.
  3. Pomagają nam usunąć ewentualne błędy w danych (np. ukryte uprzedzenia).
  4. Są zgodne z przepisami prawa.
  5. XAI ułatwia Demokratyzację AI.
  6. XAI jest krokiem w stronę Odpowiedzialnego AI.

Musimy jednak pamiętać, że XAI nie jest cudownym panaceum i oprócz powszechnego uznania, pojawiają się też głosy krytyki. Oto niektóre z nich:

  1. XAI jest w najlepszym wypadku niepotrzebne, w najgorszym szkodliwe, bo grozi zdławieniem innowacji.
  2. XAI przedkłada decyzje podejmowane przez człowieka nad decyzje podejmowane przez maszynę.
  3. XAI przedkłada proces, nad skutek.
  4. Ludzkich decyzji często nie da się łatwo wytłumaczyć: mogą one opierać się na intuicji, której sami nie potrafimy wyjaśnić. Dlaczego od maszyn należałoby wymagać spełnienia wyższych standardów niż od ludzi?
  5. Niektóre algorytmy wydają się być z natury trudne do wyjaśnienia.
  6. Nie ma matematycznej definicji interpretowalności sztucznej inteligencji, więc trudno jest zmierzyć stopień wyjaśnialności”.
  7. Modele wyjaśniające same w sobie są czarną skrzynką.
  8. Interpretowalność może umożliwić ludziom lub programom manipulację werdyktami sztucznej inteligencji.

Polecam obejrzeć interesującą Debatę Oksfordzką pomiędzy tuzami uczenia maszynowego, która odbyła się kilka lat temu: The Great AI Debate - NIPS2017 - Yann LeCun. Można w niej posłuchać argumentów z obu stron, które są poparte interesującymi przykładami.

Metody XAI

XAI może być wbudowana w dany algorytm uczenia maszynowego (explainability by design) lub stanowić nadbudowę” niezależną od modelu (poprzez metodę zewnętrzną, agnostycyzm modelowy lub modele zastępcze).

Pierwszy typ to tak zwane modele glass-box nazywane także white-box, czyli szklane pudełko”. Tylko proste algorytmy Machine Learning (modele regresyjne, modele liniowe czy drzewa decyzyjne) pozwalają, aby ich rezultaty były wyjaśniane na podstawie samego modelu.

Ich przeciwieństwem są modele typu black box”, takie jak właśnie modele Deep Learning, które próbujemy zinterpretować.

W ich przypadku XAI wykorzystuje metody model agnostic, czyli nieczyniące założeń odnośnie danego algorytmu. W takich przypadkach interpreter analizuje jedynie wejścia i wyjścia modelu black-box, nie patrząc na to, co dzieje się na poszczególnych warstwach.

Inne modele uczenia maszynowego podsumowują lub przybliżają wynik interpretowanego algorytmu AI, jednocześnie będąc od niego znacznie prostsze do wyjaśnienia (czyli same w sobie są modelami glass-box). Do tej kategorii zaliczają się na przykład interpretacje globalne (global explanations), które pokazują ogólne tendencje wpływu zmiennych na uśredniony werdykt modelu uczenia maszynowego. Na przykład mogą one pokazać, że wyższy o 10% dochód przełoży się średnio na wyższą o 5% szansę na otrzymanie kredytu. Bardziej elastyczne są tzw. interpretacje lokalne (local explanations), które tłumaczą konkretną obserwację. Przykładowo: mogą podawać powód, dla którego konkretny Pan Kowalski nie dostał kredytu.

Poniżej znajduje się lista (niepełna!) metod stosowanych do wyjaśniania modeli (ze względu na brak powszechnie przyjętej terminologii polskiej, nazwy metod przedstawione są w języku angielskim).

Metody niezależne od modelu (model agnostic):

Feature Interaction

  • Metoda, która opierają się na założeniu, że zmienne – które według modelu XAI są nieistotne dla wyniku wyjaśnianego modelu – mogą być w niewielkim stopniu losowo zmieniane (co nie będzie miało większego wpływu na jego werdykt):
    Permutation Feature Importance
  • Metody, które znajdują przybliżenie wyjaśnianego modelu, albo na poziomie globalnym (wyjaśnienie dla całego modelu), albo na poziomie lokalnym (osobne wyjaśnienie dla każdej obserwacji):
    Global Surrogate
    Local Surrogate (LIME) *
    Scoped Rules (Anchors)
  • Metody, które wykorzystując podejście wywodzące się z teorii gier, opisują wpływ (wkład) poszczególnych zmiennych na wynik wyjaśnianego algorytmu, na poziomie pojedynczych obserwacji lub w niektórych przypadkach interpretacji globalnej:
    Shapley Values
    SHAP (SHapley Additive exPlanations)

_____

*Wykorzystaniu LIME w przetwarzaniu mowy naturalnej poświęciliśmy jeden z naszych webinarów. Jeśli jesteś zainteresowany matematycznymi podstawami tego zagadnienia lub chcesz zobaczyć przykłady użycia na żywo, zapraszamy do obejrzenia nagrania!:

https://www.youtube.com/watch?v=a4D1_Gpgz_c

_____

Objaśnienia oparte na przykładach

  • Counterfactual explanationswyjaśnienia kontrfaktyczne, mówią nam, jak i jaka instancja musi się zmienić, aby model znacząco zmienił swoją predykcję. Generując kontrfaktyczne instancje, dowiadujemy się, jak model tworzy swoje przewidywania
    i możemy na tej podstawie wyjaśnić werdykt. Na przykład: otrzymałbyś pożyczkę, gdyby twoje zarobki były o 5% wyższe lub gdybyś spłacał swoją obecną pożyczkę w ratach większych o 200 złotych.
  • Adversarial examples – są kontrfaktycznymi przykładami, używanymi do oszukiwania modeli uczenia maszynowego. W ich przypadku nacisk kładziony jest na odwrócenie przewidywań modelu, a nie na ich wyjaśnienie.
  • Prototypesprototypy są wyborem reprezentatywnych instancji z danych, a krytyka (criticisms) to instancje, które nie są dobrze reprezentowane przez te prototypy.
  • Influential instanceswpływowe instancje to instancje danych treningowych, które miały największy wpływ na parametry modelu lub na same predykcje. Identyfikacja i analiza wpływowych instancji pomaga znaleźć problemy, niedoskonałości danych treningowych, usunąć błędy w modelu i ogólnie lepiej zrozumieć jego zachowanie.
  • k-nearest neighbors model – Interpretowalny model uczenia maszynowego oparty na przykładach.

Interpretacja sieci neuronowych

Aby lepiej zapoznać się z tematem, polecamy te dwie książki:

  1. Interpretable Machine Learning
  2. Explanatory Model Analysis

A jeśli jesteś zainteresowany bardziej wyczerpującą listą metod XAI wraz z odniesieniami do literatury naukowej, sprawdź Załącznik A w poniższym artykule Explainable Artificial Intelligence: a Systematic Review”.

XAI w edrone

I wreszcie, chcielibyśmy krótko podzielić się naszym podejściem do interpretowalnej sztucznej inteligencji. Aktualnie, rozwijamy Autonomicznego Asystenta Głosowego dla eCommerce. To rozwiązanie, które opiera się przede wszystkim na metodach Sztucznej Inteligencji i przywiązujemy uwagę do jego wyjaśnialności, ponieważ wierzymy, że pomaga nam to tworzyć po prostu lepszy produkt.

Tak jak mówiłem wcześniej, XAI pomaga nam między innymi w debugowaniu naszych modeli i ułatwia komunikację z klientami.

Organizujemy seminaria poświęcone tej tematyce. (na przykład  ten tekst jest oparty na jednym z nich), które są również dostępne dla osób spoza edrone (np. https://www.youtube.com/watch?v=a4D1_Gpgz_c)

XAI i naszemu podejściu do niej, poświęcony jest także artykuł naukowy, powstały we współpracy ze środowiskiem akademickim:

https://link.springer.com/chapter/10.1007/978-3-030-77980-1_28).

Dodatkowo, w najbliższym czasie możesz spodziewać się na naszym blogu większej ilości artykułów na tematy związane z XAI, a więc, do zobaczenia!

Artificial intelligenceXAIMachine learningDeep learningEngineering

Grzegorz Knor

He began his data analysis career in 2007. Since 2017 involved in natural language processing. A physicist by training. Focus on ethics and understanding artificial intelligence.