SAS Forum 2017: Granice analitike i preko njih (II)
Dr Goran S. Milovanović,
Data Science Srbija
Ove godine mi se ukazala iznenadna prilika da u društvu SAS Adriatic tima i kao predstavnik Data Science Srbija posetim SAS Forum 2017 u Milanu, Italija. Pored toga što se Forum, održan 11. aprila u fenomelanoj Milano Congressi (MiCo), pokazao kao pravi multimedijalni spektakl u kome sam uživao, svaka ovakva prilika pokrene u meni nova razmišljanja i nova preispitivanja otvorenih pitanja i mogućnosti u svetu nauke o podacima. Dozvolite mi da u narednim redovima podelim neka od tih razmišljanja sa vama kroz par kratkih vinjeta.
* * *
Ako je jedna granica analitike koju moramo da osvojimo i naučimo da kontrolišemo ta preko koje nas naš put vodi u svet izračunavanja bliskog nama, u fizičkom i mentalnom smislu reči podjednako koliko i u neposrednom okruženju, druga nad kojom sam imao prilike da se zamislim tokom posete SAS Forumu 2017 je ona toliko diskutovana, toliko teška za osvajanje granica kompleksnosti sa kojom se suočavamo. Meta diskusije u areni kompleksnosti nauke o podacima su danas skoro eksluzivno metodi dubokog učenja, odn. duboke neuronske mreže. Čitaoci će mi oprostiti naredni pokušaj da veoma složenu i podjednako važnu problematiku približim u narativu.
Šta, zapravo, motiviše razvoj algoritama dubokog učenja? Klasične neuronske mreže – dozvolite mi da ih tako nazovem, metode učenja neuronskim mrežama karakteristične do 90-ih godina XX veka – uspeh u rešavanju regresionih i klasifikacionih problema duguju složenim, distribuiranim reprezentacijama u skrivenim slojevima procesnih jedinica koje povezuju njihove ulaze i izlaze. Svi koji su proučavali rad neuronskih mreža znaju da u klasičnom višeslojnom perceptronu, treniranom algoritmom povratne propagacije, mreža kodira odnose svojih reakcija na izlaznom sloju prema različitim strukturama informacije koje zadajemo na ulaznom sloju skupom brojeva koji se odnose na težine veza kojima su međusobno povezane njene skrivene jedinice – njeni interneuroni. Do optimalne težine veza za rešenje određenog problema dolazi se mukotrpnim treningom – koji u klasičnom višeslojnom perceptronu podrazumeva nadgledano učenje, odn. trening signal iz prethodnog označenog trening seta ajtema. Uvođenje skrivenih slojeva u perceptron, koji je istorijski nastao direktnim povezivanjem ulaznog i izlaznog sloja postiže se mogućnost rešavanja problema nelinearno separabilnih kategorija u klasifikaciji, čime se zapravo neuronskoj mreži omogućava da kodira izuzetno složene interakcije između karakteristika (features) kojima opisujemo strukture informacije date na njenom ulaznom sloju. Zahvaljujući ovoj osobini, koju rani perceptroni nisu imali, neuronske mreže sa algoritmom povratne propagacije signala greške su 80-ih i 90-ih godina XX veka značajno pomerile granice kompleksnosti struktura koji su mogli da se otkriju i kasnije predviđaju mašinskim učenjem. Ali, koliko daleko su granice pomerene?
Problem sa klasičnim neuronskim mrežama bio je u tome koliko skrivenih slojeva, zapravo, možete da ubacite u igru. Što više skrivenih slojeva imate na raspolaganju, to je vaša neuronska mreža u stanju da kodira interakcije sve višeg i višeg reda, što vam omogućava mašinsko učenje koje je u stanju da prepozna sve finije i finije detalje u ulaznoj strukturi podataka i iskoristi ih u klasifikaciji na izlaznom sloju. Istovremeno, što više skrivenih slojeva mreže pokušavate da trenirate, to su šanse da će algoritam učenja uspeti da “otkrije” optimalnu raspodelu težina veza između jedinica u skrivenom sloju manje; tehnički rečeno, vi proširujete dimenzionalnost prostora parametera i tako postavljate mreži sve teži i teži optimizacioni problem. Revolucija dubokog učenja se sastojala upravo u koraku u kome su otkriveni (razni) algoritmi za treniranje neuronskih mreža koji prevazilazile ovo ograničenje. Čini se da je prostor parametera u kome možemo da se krećemo sada skoro beskrajan, i u nauci o podacima pohrlili smo ka rešavanju sve složenijih i složenijih problema. Uspeh je bio, bez pogovora, fascinantan, i uskoro su se začuli prvi glasovi o nastupajućoj veštačkoj inteligenciji koja će počivati upravo na dubokim neuronskim mrežama.
* * *
Uz jedan mali problem. Kada Data Scientist pokušava da klasifikuje neku pojavu na osnovu karakteristika kojima je opisujemo u npr. pet određenih kategorija primenom multinomijalne logističke regresije – jednog klasičnog modela diskretnog odlučivanja veoma popularnog u ekonometriji – on tačno zna kako i zašto njegov matematički model radi kako radi. Ne samo da su parametri tog modela direktno interpretabilni i jasni analitičaru, već je i sam unutrašnji rad algoritma – baziran na maksimizaciji objektivne funkcije verodostojnosti u klasičnoj teoriji logističkih modela – savršeno jasan. U nekim koracima on mora da koristi izvesne aproksimacije, ali jednom postignuto, prihvatljivo rešenje, je jasno svakome ko uopšte razume šta radi. Uvid u model je tako kompletan: znamo kako model radi, znamo zašto radi tako kako radi, razumemo potpuno sve njegove parametre i jasan nam je precizno uticaj vrednosti svakog od njih na predikcije (klasifikacije) koje model pruža. Za ljudski um, naviknut da realnost objašnjava i oseća se sigurnim samo u menadžmentu koji razume pored toga što neko ili nešto znaju kako da ga izvedu, ovo je veoma značajna odlika. Problem sa neuronskim mrežama, posebno istaknut u problemima dubokog učenja, je u tome što je upravo dinamika parametara u radu modela toliko složena da je direktan uvid u to kako tačno model postiže to što postiže praktično nemoguć. Još nad klasičnim mrežama sa algoritmom povratne propagacije morali ste da izvodite prave naučne studije samog ponašanja mreže kao dinamičkog sistema kako biste stekli uvid u to šta je zapravo uradio algoritam tokom treniranja mreže, i razumeli zašto mreža odgovara na vaša pitanja onako kako odgovara. U mrežama treniranim metodama dubokog učenja, sama studija njihove unutrašnje dinamike je toliko složena da je opravdano postavljeno pitanje o tome da li neko, uključujući i same autore modela, zaista precizno razume šta i kako one rade.
Potrebno je da budemo veoma precizni ovde: to ne znači da neko razvija nekakve matematičke modele “na slepo”, samo tako da budu dovoljno složeni, pa se obraduje uspehu u njihovom razvoju i radu skoro kao dobitku na lutriji. Naprotiv, dizajn dubokih neuronskih mreža je veoma osmišljen, one se precizno planiraju za određene klase problema, njihovi autori jasno znaju šta i zašto pokušavaju da postignu određenim vidom arhitekture ili algorimom učenja. Problem se nalazi na drugoj ravni: mi poznajemo, i možemo matematički da proučimo neke generalne karakteristike tako složenih mašina za učenje, ali još uvek ne možemo u potpunosti da ispratimo i razumemo unutrašnju dinamiku informacija koja se prati sve događaje tokom rada takvog sistema. Mi možemo u potpunosti da opserviramo takvu dinamiku, da snimimo promenu svako zamislivog broja: promena je toliko složena sama po sebi da mi još uvek ne možemo precizno da kažemo tačno šta u njoj dovodi do tačno koje – ispravne ili pogrešne – reakcije duboke neuralne mreže. Na čudan način, u inženjeringu inteligentnih sistema sada počinjemo da se zatičemo u situaciji koja je kognitivnim psiholozima i neurobiolozima dobro poznata. Mi u empirijskim naukama o saznanju polazimo od pretpostavke da je centralni nervni sistem crna kutija, i pokušavamo da na osnovu analize inputa i autputa, uz neke dopunske pretpostavke, shvatimo koji unutrašnji parametri i kompjutacioni mehanizmi odlikuju njegov rad. Stvarajući duboko učenje, polako počinjemo da stvaramo sisteme koji su po kompleksnosti možda uporedivi sa strukturama prirodnih nervnih sistema, ali se ispostavlja da su već i prvi naši pokušaji toliko složeni da moramo da ih proučavamo baš kao što moramo da proučavamo i prirodne sisteme na koje smo se ugledali kada smo projektovali njihove veštačke analogije! Razlika je u tome što unutrašnju dinamiku rada veštačkih neuronskih mreža možemo da opserviramo u potpunosti, za razliku od empirijskog proučavanja prirodnih nervnih sistema u kome moramo da se oslanjamo na metodologije prilično ograničenog uvida u njihovo funkcionisanje, što predstavlja i najveću prepreku razvoju teorije psihologije saznanja.
Prethodno rečeno otvara nekoliko važnih problema. Prvi se sastoji u strahu da će duboke neuronske mreže, primenjene na rešenje nekog složenog problema, jednom početi da greše – i to će se svakako, sasvim sigurno dogoditi, pošto niko ne može za sve klase problema da bude poptuno siguran u to da se jednom neće pojaviti ulazna struktura informacije takva na koju mreža neće moći da generalizuje jednom usvojeno ponašanje. Ovo je dobro poznat problem sa neuronskim mrežama koji je detaljno diskutovan u istoriji kognitivnih nauka (ali se u opštem hype oko dubokog učenja u javnosti jedva pominje). Drugi problem je možda još fundamentalniji, pošto prvi možemo da rešavamo time što ćemo ograničiti primenu dubokog učenja samo na probleme za koje smo apsolutno sigurni da će ih uvek odlikovati kvalitativno ista struktura informacija – na koju smo mrežu i trenirali. Taj teži problem, ono što nas neće osloboditi nelagodnosti, je sama činjenica da rad dubokog učenja nama ne obezbeđuje direktnu interpretaciju modela kakvu nam obezbeđuje npr. logistička regresija (i drugi matematički modeli) iz našeg prethodnog primera. Koliko se analitičar i njegov klijenti osećaju lagodno u situaciji u kojoj analitičar nudi algoritam koji rešava određeni problem, i to ga rešava dobro, ali bez jasnog objašnjenja za sebe i druge o tome kako ga algoritam rešava? Čini se kao da se u takvoj situaciji javlja problem poverenja u tehnologiju kojoj treba da prepustimo kontrolu nad ekstremno složenim i važnim procesima u našoj okolini.
SAS Forum, Milano, Italija, 11. april 2017. O mašinskom učenju i veštačkoj inteligenciji
govori gospodin Oliver Šabenberger, CTO SAS-a.
Nešto od ovih problema, koje sam čitaocu pokušao da približim u ovom narativu, svestan toga da se njihova dubina i značaj donekle gube u ovakvim opisima, imao sam prilike da kratko prodiskutujem i sa gospodinom Oliverom Šabenbergerom, EVP i CTO SAS-a, tokom SAS Foruma 11. aprila. Autor ovih redova, koji otvoreno priznaje da je podjednako fasciniran uspesima dubokog učenja koliko i rezigniran hype-om koji prate nekritički medijski napisi o tim uspesima, se ne seća kada je od nekoga čuo zreliju, staloženiju ocenu ove situacije do od SAS-ovog CTO-a. Prvo što me je obradovalo u vezi budućih razvoja SAS-ovih sistema u odnosu na ovu problematiku je odluka da se čvrsto stoji sa dve noge na zemlji: da, do kraja godine će u SAS-ovu paletu analitičkih metoda biti uključeni i algoritmi dubokog učenja, ali se otvoreno razmišlja i razgovara o tome da se ide sa preporukom izgradnje ansambla klasičnih i modernih metoda koje bi analitičarima obezbedili veću mogućnost kontrole u izgradnji i radu toliko složenih sistema. Kako se g-din Šabenberger izrazio o dubokom učenju: ti algoritmi ne odaju svoje tajne. Dakle, mora da bude otvorena potraga za hibridnim pristupom koji bi nam obezbedio da ujedno (a) iskoristimo njihove neverovatne moći u prepoznavanju paterna u ekstremno složenim strukturama podataka, i (b) da analitičaru obezbedimo da krajnji model na produkciji drži u stanju u kome razume šta se sa modelom dešava. Iskreno, posle više od petnest godina profesionalnog rada u kvantitativnoj analitici i više od dvadeset u kognitivnim naukama, to je jedini način na koji bih se lično osećao komforno u kontekstu dubokog učenja (zapravo, drugačiji seting bih smatrao neprihvatljivim).
Odgovarajući na pitanja novinara o tome u kojoj meri se podižu izvesni društveni rizici činjenicom da se sistemi dubokog učenja na neki način nalaze van našeg razumevanja (pa samim tim valjda i van naše kontrole), Šabenberger je ostavio još jedan dobar utisak staloženim odgovorom o tome da nema razloga da se plašimo sistema koji smo sami dizajnirali svesni činjenice da nikada neće generalizovati bilo šta van prostora svog trening seta – koliko god sistem bio “dubok” ili “plitak”. Konačno neko ko nam je priznao da nas veštačka inteligencija koju još nemamo neće pojesti koliko sutra za ručak, ostavljajući racionalno i široko otvorena vrata za prijem svih fascinantih postignuća i rezultata koji su razvijeni u prethodnih desetak godina. Problema nenadgledanog učenja, za koji se “strahuje” da predstavlja klasu algoritama koji bi eventualno mogli da postanu stvarno “kreativni” – iako ni to još niko ne zna da li je zaista tačno – u razgovoru smo se samo dotakli, i složili se oko togada je i to oblast u kojoj tek treba sačekati velike rezultate (iako neke iz te klase algoritama, poput LDA, koristimo svakodnevno).
Iskustvo, pored pameti i mašte, je ono koje mora da nas vodi ka granicama analitike i preko njih, u izazove koje sam, nadam se, uspeo da predstavim ovde.