Predstavte si, že by ste mali zostaviť Machine Learning model na predikciu pravdepodobnosti, že daný americký občan sa stane americkým prezidentom. Ak sa trochu problematike rozumiete, asi mi dáta za pravdu, že model by na základe historických dát musel vylúčiť všetky ženy, Hispáncov a aj černochov (Obama je v počte dosavadných prezidentov štatistickou chybou), ale aj lekárov, spevákov či cowboyov. Ktosi zlomyseľný by mohol povedať, že to je aj dôvodom, prečo Clintonová neporazila Trumpa (ten skutočný dôvod je vysvetlený tu) . Ak má byť strojové učenie do budúcna používané v masovom rozsahu, tento druh “nedokonalosti” mu bude prekážať v ceste. Čo s tým teda vieme urobiť?
– – – Tento blog je súčasťou seriálu o 2018 trendoch v analytike. Ak si chcete, overiť, či viete, kam práca s dátami smeruje do budúcna, nakuknite sem. – – –
S príchodom verifikácie cez tvár alebo analyzovaním ľudí podľa ich vonkajších prejavov, sa umelá inteligencia dostane pred jednu zásadnú bariéru: na strojové učenie je potrebný značný počet už zrealizovaných opakovaní daného rozhodovania, spolu s výsledkom rozhodovania (hovorí sa im aj anotované príklady). Algoritmy potom následne porovnávajú navzájom prípady, keď nastal skúmaný výsledok (napr. jedinec zrušil predplatné časopisu) voči tým, kde sa naopak jav nedostavil (klient zostal predplatiteľom). Vzájomné odlišnosti potom poukazujú na to, čo by mohli byť faktory predpovedajúce správanie konkrétneho jedinca. Potiaľto všetko sedí.
Problémom anotovaných prípadov je však práve to, že ich strojom poskytujú ľudia. Totiž ľudia vedia poskytnúť (podobne ako v prípade modelu pre amerického prezidenta) často len také anotované prípady, ktoré sa už v minulosti. V našich historických rozhodnutiach sú však zakomponované aj naše (najmä kultúrne) stereotypy. Neveríte? Nuž, tak skúste natrénovať prediktívny model ako vyzerá ideálny pedagóg do materskej školy na Slovensku? Vyjde vám, že muži nemajú žiadnu šancu. (len pre korekciu, podľa môjho dosavadného pozorovania v Berlíne je asi 1/3 učiteľov v materských školách mužského pohlavia) Niektorí z vás si povedia, veď OK, na Slovensku by bol model “odstavujúci” mužov predsa presnejší? No a v tom je presne kameň úrazu. Teda prvý z dvoch.
Kde sa vzal, tu sa vzal
Väčšina prediktívnych modelov, ktoré vznikajú v dnešnej dobe, vznikajú na lokálnej úrovni. Ak dostanete zadanie od šéfa natrénovať model na pravdepodobnosť nezaplatenia faktúry, použijete údaje z krajiny, v ktorej firma pôsobí. Ak by ste sa vrátili späť za šéfom s tým, že potrebujete dataset aj z Indie (aby váš model bol dostatočne presný), asi by vám hrozilo odporúčanie na odbornu pomoc psychiatrického typu. Ak by ste náhodou mali aj vo vzorke príznak národnosti (po zavedení GDPR to bude dosť nepravdepodobné), model by sa zrejme uchýlil k tomu, že všetci cudzinci by boli vysoko pravdepodobní. Ak sú totiž v inej krajine pre zodpovednú finančnú disciplínu rozhodujúce iné faktory ako na Slovensku, tak všetci cudzinci by vychádzali ako rizikový, lebo ich neplatenie by sa dialo napriek tomu, že spĺňajú všetky slovenské faktory pre solídnu finančnú disciplínu. Preto všetkým teamom, ktoré som mal tu česť viesť, som prízvukoval, že ak nejaký príznak, ktorý je menšinovo zastúpený v celkovej vzorke (napr. iná krajina pôvodu) je silným prediktorom, vôbec to nemusí byť tak. Často to môže byť len proxi (zástupný parameter), že táto skupina sa správa inak, ale podstatu ich inakosti nie je zachytená v parametroch, ktoré sledujete. Na nedávanej odbornej prednáške som podobný príklad ilustroval aj na bežne mylnom predpoklade, že ľudské zdravie je korelované s vekom človeka.
A takto je to správane …
Problém je o to vypuklejší, že niektoré analytické softwary sa dokonca takýchto “cudzincov” vo vzorkách snažia aktívne zbaviť. V honbe za čo najlepším Liftom (metrike sily predikcie) odstraňujú hodnoty, ktoré pokladajú za outlierov, teda nerozhodujúci “šum v dátach”. (Takto by zrejme vypadol aj Obama z hry.) Je teda pomerne cynické, že postup eliminácia odlišnosti to dopracoval až do defaultných nastavení niektorých analytických balíkov.
Ako tomu predísť?
Zasvätenejší možno budú argumentovať, že tomuto všetkému sa predsa dá predísť cross-validation metódami alebo vhodným kvótovaním účastníkov vo vzorke, aby sa zabezpečila skutočná reprezentatívnosť. Ak sa však pozriete pravde na zúbky, sú to neraz len teoretické šance ako zvrátiť, lebo :
Úprava premenných sa v modelovacích postupoch deje ešte pred tým, než vôbec nejaké vzorky vzniknú. A medzi úpravy premenných patria aj transformácie, binning či odstránenie extrémov, čo sú všetko techniky, ktoré dokážu vypudiť menšinové dáta zo vzorky.
Cross-validation sa realizuje často tak, že sa celkové dáta pokrájajú na náhodne vybrané, rovnako veľké skupiny (napr. 1/10) a postupne sa vymenia ich kombinácie tak, aby každá podskupina bola minimálne raz na strane trénovacích dát a raz na strane overovacích dát, na ktorých sa počíta presnosť predikcie. Ak však už v celkovej vzorke bol slabo zastúpený daný faktor, cross-validácia na tom nič nezmení, lebo daný faktor bude slabo zastúpený aj v jednotlivých podskupinách. Prevencia potláčania menšiny sa teda cross-validáciou vyriešiť nedá.
Kvótovanie na skutočné reprezentatívne zastúpenie by mohlo byt riešením, pretože prichádza pred úpravou premenných aj pred výberom vzoriek (a cross-validáciou). S touto technikou však prichádza praktický problém ako mať reprezentatívnu vzorku na dôležité faktory v modeli, keď vopred neviem, ktoré to sú. Skutočné potlačenie problému je možné dosiahnuť len niekoľko kolovým modelovaním, kde na základe silných prediktorov z prvého modelu zabezpečíte reprezentatívnu vzorku populácie pre všetky tieto silné faktory a natrénujete druhú generáciu modelu. (ktorá však môže vyzdvihnúť iné faktory ako prvá generácia a tak môže byť potrebných niekoľko premodelovaní, kým je model naozaj robustný). Asi najhorším rizikom je, že pre niektoré faktory nemusíte ani poznať prirodzené rozdelenie možných hodnôt v populácii (ako spraviť reprezentatívnu vzorku SR populácie vzhľadom na obľúbenú sexuálnu polohu alebo farbu ?)
V dátovej analytike tak vzniká samostatná oblasť, ktorá sa zaoberá tým, aby podklady pre učenie AI algoritmov boli vyvážené a obsahovali dostatok príkladov ľudského správania naprieč kultúrami a národnosťami. Start-upy a rôzne technologické aplikácie totiž majú ambíciu vytvoriť univerzálne AI algoritmy, škálovateľné prostredníctvom webu do ľubovoľnej krajiny. Ak by napríklad naučili model odhaľovať podvody na základe US dát, v Ázijských kultúrach by ich modely zrejme neboli schopné relevantnej predikcie.
Hoď druhým kameňom, kto si bez viny
V prvej polovici textu som spomenul, že kamene úrazu sú dva. Okrem nereprezentatívnosti majú anotované prípady ešte jednu podstatnú slabinu. Popisujú totiž len tie javy, ktoré sa už skutočne stali. Vyššie citovaný problém s predikciou prezidenta USA nie je problém v tom, že trénovacia množina by bola nereprezentatívna. Aj keby sme zahrnuli do trénovacej množiny všetkých ľudí planéty, model by stále predikoval bieleho muža ako jasného kandidáta. Šance ženy nie sú nulové (veď Clintonovú v skutočnosti volilo viac ľudí ako Trumpa), problém je, že model sa učí len z tých prípadov, ktoré sa stali. Klasifikátory tohto typu avšak nevedia predpovedať veci, ktoré sa nikdy nestali. (smutným príkladom tohto nedostatku bol model na detekciu typu problému klientov IBM, ktorý vychádzal len z histórie už vyriešených problémov.) Väčšina machine learningových algoritmov dokáže dokonca efektívne zohľadniť daný faktor ako prediktor až vtedy, keď sa zopakuje niekoľko krát. V prípade amerických volieb by to znamenalo čakať aspoň 8 rokov. Inými slovami až 8 rokov po prvom úspechu ženy, by si model “poupravil” názor na ženy (aj to iba vtedy, kedy ženy vyhrali dvakrát po sebe). A to je práve tým druhým kameňom úrazu. Ak má byť strojové učenie masovo nasadené, musí sa učiť rýchlo. Model, ktorý 8 rokov niečo zle predikuje nikto samozrejme používať nebude. Teda umelá inteligencia potrebuje nielen reprezentatívne vzorky, ale potrebuje ich rýchlo po tom, čo sa objaví nový jav.
Ako von z bludiska
Riešenie, na vymotanie sa z tejto prekérnej situácie, spočíva v premene slabiny Umelej inteligencie na jej silnú stránku. Teda, presnejšie povedané, v nahradení jednej AI slabiny jej inou silnou stránkou. Stroje sú totiž schopné zásadne rýchlejšie vyhodnocovať prípady, dokážu to robiť za zlomky času, ktoré na to potrebuje človek. Ak máte výkonný počítač, za sekundu dokáže posúdiť milióny prípadov, zatiaľ čo človek si sotva stihne za daný čas vôbec jeden prečítať. Teda ak by sme počítaču predkladali dostatočne veľké množstvo anotovaných prípadov, ktoré sú naozaj rozmanité, tak by sa dokázal naučiť rozhodovať pri akokoľvek zložitom rozhodnutí. Problémom v jeho učení sme však my ľudia, lebo sme si nárokovali rolu učiteľa, ktorý mu predkladá vzory na učenie. Nuž, a my, ľudia, sme oveľa pomalší ako počítače, takže hoci on by sa bol schopný naučiť z miliardy prípadov, predkladáme mu iba státisíce, možno milióny anotovaných vzorov. Čo sa však stane, keď ho začne učiť niekto iný ako človek?
Tak ako počítače dokážu rýchlo vyhodnocovať poskytnuté prípady, dokážu rýchlo aj generovať príklady takých situácií. Takže, ak najprv postavíme z umelej inteligencie učiteľa/trénera, ktorý bude bleskovou rýchlosťou generovať príklady, “AI žiak” sa dokáže naučiť do oveľa väčšej precíznosti ako pri čisto ľudsky generovaných príkladov. Práve tento postup je predmetom metód Reinforced learning intelligence, ktoré preto naberajú na dôležitosti. Pričom učiteľom môže byť dokonca aj ten istý počítač (ktorý je aj žiakom), keď na striedačku prepína medzi módom na generovanie príkladov a ich vyhodnocovaní. Samozrejme, vyšším stupňom učenia je, ak na učiteľa vyčleníme samostatný počítač. Ten sa snaží vymýšľať pre svojho žiaka zlomyseľné chytáky, aby preveril, ako dobre už sa naučil zvládať daný proces. Tieto metódy sa potom neraz pretransformujú do Adversial machine learning sústav, kde stroj vyslovene testuje, či nachytá iný stroj (žiaka) na atypických príkladoch. Tieto postupy sa používajú najmä v oblasti bezpečnosti, kde stroje bojujú proti strojom.
Quo vadis?
Myslím, že je celkom symptomatické, že za oba hlavné problémy s presnosťou a účinnosťou umelej inteligencie môže práve ľudský faktor. Medzi mnohými Data Scientistmi prevláda názor, že stroje sú niečo ako cvičené opice, ktoré oni zachraňujú tým, že im dodávajú know-how ako predikovať veci. To, že v priestore Deep learningu to už dávno nie je pravda nám stroje dokázali. V oblasti klasického Machine learningu však stále veríme v ľudskú dominanciu. AJ keď v skutočnosti zostáva ľudstvu len jedna oblasť Machine learningu, kde majú stále navrch oproti strojom (o tom viac v jednom z májových blogov). Ak však Umelá inteligencia bude chcieť by naozaj užitočná, bude sa musieť v prvom rade stať naozaj umelou. Teda zbaviť sa ľudského faktora v procese učenia. A tak nás v dohľadnej dobe čaká dehumanizácia Machine Learningu. Ak patríte medzi tých, čo dnes tvoria machine learning modely, mali by ste sa nad tým NAOZAJ zamyslieť.
– – – Tento blog je súčasťou seriálu o 2018 trendoch v analytike. Ak si chcete, overiť, či viete, kam práca s dátami smeruje do budúcna, nakuknite sem. – – –
Publikované dňa 1. 5. 2018.