Transparentné modely vs. modely typu čierna skrinka

Vysvetliteľná umelá inteligencia: od čiernych skriniek k transparentným modelom

Môže umelá inteligencia rozhodovať o tom, kto bude prepustený z väzenia, alebo kto postúpi do ďalšieho kola pracovných pohovorov? Môže odporúčať preventívne vyšetrenia na rôzne choroby alebo úplne prevziať zodpovednosť za riadenie vozidla v snehovej búrke? 

Nie ste si istí, ako odpovedať na takéto otázky? Ak by ste vedeli, že umelá inteligencia svoje rozhodnutie detailne zdôvodnila a každý človek by si mohol overiť, či sa rozhodovala správne – zmenilo by to váš názor? 

Prinášame sériu článkov na tému vysvetliteľnej a transparentnej umelej inteligencie. 

V tretej časti sa pozrieme na dve kategórie modelov umelej inteligencie – transparentné modely a modely typu čierna skrinka. Aké sú medzi nimi rozdiely a prečo používame aj netransparentné modely, keď je schopnosť pochopiť ich predpovede taká dôležitá? Ktoré modely môžeme považovať za transparentné a ktoré si, naopak, vyžadujú dodatočnú interpretáciu a vysvetlenie ich predpovedí?

Transparentné modely

Transparentné modely umelej inteligencie sú také, pri ktorých vieme pochopiť nielen to, ako fungujú po algoritmickej stránke, ale aj to, prečo sa rozhodujú tak, ako sa rozhodujú. Vieme teda ako ľudia pochopiť, ako modely “premýšľajú” a aké znalosti sa získali o reálnom svete. Tieto modely sú typicky staršie, menej výkonné a jednoduchšie*. 

Príkladom transparentného modelu sú rozhodovacie stromy. V rozhodovacích stromoch sú znalosti, na základe ktorých model vytvorí predpoveď pre vstup, vyjadrené explicitne ako pravidlá (napr. “AK má človek príjem viac ako 1000€ A má menej ako 40 rokov, TAK je možné schváliť mu úver vo výške 30.000€”).

* Zaujímavosťou je, že aj takéto prirodzene transparentné modely sa môžu pomerne jednoducho zmeniť na ťažko pochopiteľné. Stačí, ak je reprezentácia dát, ktoré sú na ich vstupe dostatočne komplexná alebo ak sú modely veľmi veľké. V takomto prípade je pre človeka ťažké až nemožné simulovať rozhodovací proces modelu, čo je jedna z podmienok transparentnosti.

Obrázok: Zjednodušený príklad rozhodovacieho stromu, ktorý poskytuje odporúčanie, či by mala alebo nemala byť žiadateľovi poskytnutá hypotéka. Strom sa rozhoduje na základe štyroch atribútov – veku a čistého príjmu žiadateľa, toho, či má spoluručiteľa a prípadne čistého príjmu spoluručiteľa. V tomto prípade by strom odporučil žiadosť zamietnuť. Žiadateľka má viac ako 40 rokov, jej príjem je nižší ako 1300€ a zároveň spoločný príjem so spoluručiteľom je menší ako 1600€. Strom si vytvára pravidlá počas procesu učenia. V tomto prípade by sa napríklad mohol strom učiť na základe toho, ktoré skupiny žiadateľov v minulosti riadne splácali úvery a ktoré nie. Takýto model môžeme považovať za transparentný, pretože človek dokáže jednoznačne simulovať a pochopiť, prečo bolo rozhodnutie modelu také, aké bolo.

Modely typu čierna skrinka

Aj pre komplexné modely typu čierna skrinka platí, že vieme pochopiť, ako pracujú. Rozumieme ich mechanike a matematickým operáciám, ktoré sú v procese učenia využívané. Čomu teda nerozumieme?

Moderné modely typu čierna skrinka sú natoľko komplexné, že nie je možné úplne simulovať to, ako prišli k rozhodnutiu. Nie tak, aby bola táto simulácia pre človeka zrozumiteľná natoľko, aby pochopil, aké podnety a znalosti zakódované v modeli viedli k ich rozhodnutiu. Inými slovami, nie je v ľudských silách vziať si pero a papier a nasimulovať celý rozhodovací proces modelu, pretože je jednoducho príliš komplexný. Jednotlivé operácie, ktoré prebiehajú v modeli, pritom môžu byť veľmi jednoduché. Môže sa jednať napríklad o sčítanie a násobenie. Keď však model obsahuje takýchto operácií milióny až miliardy, nie je v ľudských silách simulovať alebo aspoň skontrolovať efekt každej z nich.

Typickým predstaviteľom tejto kategórie modelov sú hlboké neurónové siete. Zatiaľ čo v rozhodovacích stromoch sú znalosti vyjadrené explicitne ako pravidlá, v prípade neurónových sietí sú znalosti zapísané vo forme zväčša maličkých číselných hodnôt – parametrov modelu. Predpoveď je potom vytvorená vďaka postupnosti matematických operácií (najčastejšie nad maticami a vektormi), ktoré transformujú vstupné dáta na finálnu predpoveď modelu. 

Ilustráciu toho, ako neuróny v skrytých vrstvách kombinujú a postupne filtrujú vstupy za pomoci parametrov, môžete vidieť na obrázku z prvej časti série. Do obrázku sme doplnili príklad výpočtu výstupu neurónu na prvej skrytej vrstve. Je vidno, že výpočet hodnoty jedného neurónu naozaj nie je žiadna raketová veda a stačí na to vedieť spočítavať a násobiť.

Obrázok: Príklad výpočtu výstupu jedného neurónu v rámci neurónovej siete. V rámčeku je možné vidieť, ako môže vyzerať výpočet hodnoty jedného zo skrytých neurónov na prvej skrytej vrstve. “a”, “b”, “c” a “BIAS” sú príklady parametrov neurónovej siete – práve ony tvoria jej pamäť a tým, že neurónová sieť nastavuje ich hodnoty v procese učenia, sa učí. Dnešné reálne používané neurónové siete môžu mať stovky tisíc až stovky miliárd parametrov.

Ako ďalší príklad sa pozrieme na klasifikáciu čiernobielych obrázkov do piatich rôznych tried – auto, nákladiak, lietadlo, loď a kôň. Obrázok môžeme v počítači reprezentovať ako dvojdimenzionálnu mriežku čísel – maticu, v ktorej každá bunka obsahuje malé číslo. Toto číslo reprezentuje hodnotu konkrétneho pixelu (pri čiernobielom obrázku je biela farba reprezentovaná najčastejšie číslom 255, zatiaľ čo čierny pixel má hodnotu 0). 

Neurónová sieť v prvej vrstve za pomoci rôznych jednoduchých matematických operácií, ako sú násobenie a sčítanie, skombinuje tieto čísla so svojimi vlastnými parametrami. Vďaka tomu sa tento obrázok zmení na inú mriežku čísel. Tieto čísla už ale nie sú hodnotami pixelov samotného obrázku, ale sú akýmsi filtrátom (odborne hovoríme o skrytej reprezentácii). Pri práci s obrazovými dátami sa na to v neurónových sieťach často využíva operácia konvolúcia, ktorá je napríklad základom mnohých filtrov v obrázkových editoroch (napr. Photoshop).

Obrázok: V neurónových sieťach sa pri práci s obrazovými dátami často používa operácia konvolúcia (odtiaľ názov konvolučné neurónové siete). Na rovnakom princípe pracujú mnohé populárne filtre v editoroch fotografií. Ak ste v takomto editore niekedy napríklad vyhladili či rozmazali fotografiu, s veľkou pravdepodobnosťou ste použili filter založený na konvolúcii.

Druhá skrytá vrstva následne urobí presne to isté, čo prvá, no na jej vstupe už nie sú pixely obrázka, ale mriežka, ktorá vznikla v prvom kroku. Tento proces sa opakuje, až kým v neurónovej sieti nedôjdeme k poslednej, výstupnej vrstve, ktorej výstupom sú čísla. Každé z týchto čísiel nám povie, do akej miery “je model presvedčený”, či je na obrázku auto, nákladiak, lietadlo, loď alebo kôň. Ak je najväčšie prvé číslo z tejto pätice, model je presvedčený, že na obrázku sa nachádza auto, ak druhé, bude to nákladiak atď..

Ako vidíme, oproti rozhodovacím stromom je pri neurónových sieťach veľmi náročné povedať, prečo bola predpoveď modelu taká, aká bola. Často iba nepriamo pozorujeme, ako sa vstup (napr. obrázok) vo vnútri modelu transformuje z jednej skrytej reprezentácie na inú a na základe toho môžeme odhadovať, čo sa vo vnútri modelu deje. 

Príklad postupnej filtrácie od vstupného obrázku až po výslednú predpoveď siete môžete vidieť na obr. 3. Ako vidno, výstupy prvých vrstiev neurónovej siete (CONV, RELU, …) sú pre človeka dobre čitateľné a dokonca môžeme odhadnúť, na čo sa konkrétna vrstva zameriava. Napríklad na výstupoch druhej vrstvy (RELU) vidíme, že niektoré časti siete sa zamerali na detekciu tieňa pod autom, zatiaľ čo iné detegovali okolitý les. 

Čím hlbšie ale v sieti ideme, tým menšiu schopnosť interpretovať, čo sa vo vnútri siete deje, máme. Napríklad nevieme, čo znamenajú svetlé oblasti, ktoré sú výstupom z poslednej skrytej vrstvy siete (POOL). Znamená svetlý pixel, že sa na obrázku nachádza koleso? Alebo to znamená, že je auto otočené smerom doprava?

Ešte raz – čomu teda ako ľudia nerozumieme? Príklad jazykového modelu na analýzu sentimetu

Pozrime sa na konkrétny príklad – umelú neurónovú sieť, ktorej úlohou je povedať, či má text pozitívny alebo negatívny sentiment.

Prečo bolo konkrétne rozhodnutie také, aké bolo?

Ak dostatočne veľký jazykový model ako BERT*, čo je v skutočnosti mohutná umelá neurónová sieť, natrénujeme na textových dátach s negatívnym a pozitívnym sentimentom, tento model bude fungovať, a zrejme aj presne. 

Nevieme však, na základe čoho model priradí textu pozitívny alebo negatívny sentiment. Považuje model text za negatívny kvôli tomu, že obsahuje priveľa výkričníkov? Alebo je to kvôli slovu “peklo”, ktoré autor textu použil? 

Aj takáto na prvý pohľad jednoduchá úloha vyžaduje, aby model veľmi dobre rozumel kontextu a aj samotnému jazyku. Je rozdiel medzi recenziou “Čašníci by mali ísť do pekla!!!” a “V tejto reštaurácii pekelne dobre varia!!!”.

* BERT: angl. Bidirectional Encoder Representations from Transformers. V súčasnosti jeden z najpoužívanejších a najsilnejších modelov na spracovanie prirodzeného jazyka.

Akú znalosť model obsahuje a kde je tá znalosť uložená?

Ak natrénovaný jazykový model funguje dobre, je zrejmé, že do nejakej miery rozumie ľudskému jazyku. Je však náročné povedať, či a do akej miery rozumie jednotlivým aspektom jazyka. Rozumie model rozdielu medzi slovesami a podstatnými menami? Naučil sa gramatiku a pravidlá skladby viet v konkrétnom jazyku? Chápe význam (sémantiku) jednotlivých slov, alebo sa len naučil štatistiku ich vzájomného výskytu?

Pri našej modelovej úlohe, analýze sentimentu, sa môžeme dovtípiť, že sa model okrem iného koncentruje na pozitívne a negatívne slová, ale nevieme, kde je táto znalosť uložená. Je to konkrétny neurón, ktorý je zodpovedný za to, že v texte vieme rozoznať pozitívny sentiment? Alebo je to kombinácia viacerých neurónov? Ako sme ukázali v predchádzajúcej časti, interpretovať význam jednotlivých parametrov modelu a ich vplyvu na výslednú predpoveď je netriviálny problém.

Sú transparentné modely mŕtve?

Väčšinu modelov, o ktorých môžeme prehlásiť, že sú transparentné, tvoria jednoduchšie modely (rozhodovací proces v komplexných modeloch alebo modeloch s priveľa pravidlami človek nedokáže kognitívne obsiahnuť) s menšou modelovacou kapacitou. Mohlo by sa teda zdať, že ich využitie je malé a na zložitejšie úlohy nestačia. 

Pravdou však je, že transparentné modely sa stále v praxi používajú. A to z toho dôvodu, že sú oblasti, v ktorých je transparentnosť minimálne taká dôležitá, ako samotná výkonnosť modelu. V prestížnom časopise Nature nedávno vyšiel článok [1], ktorý kritizuje bezdôvodné nadpoužívanie príliš komplexných modelov, aj keď by na riešenie daného problému úplne postačovali jednoduchšie, no zato transparentné modely.

Príklad: Nature Compas/Corels

Compas je program, ktorý používajú viaceré súdy v USA na odhadnutie pravdepodobnosti, že človek, ktorý spáchal trestný čin, bude znovu konať protizákonne. Je to program, ktorý priamo ovplyvňuje životy ľudí, no zároveň je vyslovene netransparentný. Spoločnosť, ktorá program vyvíja, dokonca ani nezverejnila princíp, na akom funguje.

Vo vyššie spomínanom článku v časopise Nature autorka Cynthia Rudin uviedla alternatívnu metódu Corels, ktorá má oveľa menej parametrov, je transparentnejšia a pritom rovnako presná ako Compas.

Je prirodzené, že človek, o ktorom sa rozhoduje, či pôjde do väzenia alebo nie, chce poznať dôvod, pre ktorý sa súd rozhodol tak, ako sa rozhodol. Aj človek, ktorý spáchal nejaký priestupok, má totiž právo presvedčiť sa, že proces a dôvody, pre ktoré poputuje do väzenia, sú fér

Aby to nebolo príliš jednoduché, vieme sa na tento konkrétny problém pozrieť aj z iného pohľadu. Bolo by naozaj dobré, ak by potenciálni zločinci presne vedeli, za akých okolností ich softvér označí ako vysoko rizikových a za akých nie? Nemohlo by to viesť k snahe oklamať systém za účelom dosiahnutia nižšieho trestu?

V doménach, kde sa rozhoduje o ľudských osudoch, zahoďme komplexné modely a používajme tie jednoduchšie, ale pochopiteľnejšie, ak s nimi vieme dosiahnuť dostatočnú presnosť.

Napriek nedostatkom, ktoré vyplývajú z komplexnosti, stále platí, že najsilnejšie modely, ktoré máme, sú zároveň najkomplexnejšie a ťažko vysvetliteľné a interpretovateľné. V prvej časti seriálu sme si ukázali, že voľba algoritmu strojového učenia pre riešenie konkrétneho problému je často o hľadaní kompromisov. Zatiaľ čo komplexné modely zvyčajne dosahujú vyššiu presnosť, miera ich interpretovateľnosti býva nižšia. V nasledovnej časti si predstavíme metódy, ktoré by nám mohli pomôcť zvýšiť úroveň ich transparentnosti.

Záver

V tomto dieli seriálu o vysvetliteľnej umelej inteligencii sme sa pozreli na dve kategórie modelov umelej inteligencie – transparentné modely a modely typu čierna skrinka. Pri transparentných modeloch sme ako ľudia schopní pochopiť nielen mechanizmus ich fungovania, ale aj proces ich rozhodovania. Vieme teda vysvetliť, prečo ich rozhodnutia boli také, aké boli. 

Čierne skrinky sú typicky komplexné modely, ktorých rozhodnutia nie je možné priamo vysvetliť a v ktorých sú znalosti ukladané vo forme, ktorá nie je zrozumiteľná pre človeka. Ak chceme zvýšiť ich transparentnosť, musíme na ne aplikovať dodatočné mechanizmy vysvetliteľnosti a interpretovateľnosti.


V ďalších dieloch sa pozrieme na konkrétne príklady metód vysvetliteľnosti a interpretovateľnosti. Ukážeme si, prečo nám nestačí len jedna metóda vysvetliteľnosti.  Taktiež sa dozviete, ako môžeme merať kvalitu vysvetlenia predpovede umelej inteligencie a povieme si, aké benefity môžeme mať ako ľudia z  používania transparentných a vysvetliteľných metód umelej inteligencie.

Projekt podporil Nadačný fond PricewaterhouseCoopers v Nadácii Pontis.

Zdroje:

[1] RUDIN, Cynthia. Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature Machine Intelligence, 2019, 1.5: 206-215.

Vysvetliteľná umelá inteligencia: od čiernych skriniek k transparentným modelom