"Žal mi je Dave"* - kako regulirati algoritme?
Gregor Plantarič
7. maj 2014 ob 11:56:51
Ljudje so danes z odprtimi rokami sprejeli udobje tehnologije ne da bi zares razumeli, kako ta deluje ter kakšen abnormalen potencial kopičenja podatkov imajo naše naprave, katere praktično vedo, kdo smo, kje smo in kaj počnemo (ter še na tisoče drugih zadev). To dosežejo s pomočjo "pametnih" ter vedno bolj kompleksnih algoritmov, ki lahko v delčku sekunde najdejo, sortirajo, določijo, kontrolirajo in ukrepajo na podlagi množice podatkov, da nam tako pomagajo pri vsakdanjih življenjskih opravilih; v nasprotnem primeru bi se ljudje najbrž izgubili v preobilici informacij.
Za večino ljudi so algoritmi kot nekakšen "moderen mit"; sprašujejo se, kaj točno počnejo? Kaj sploh so? Ali lahko počnejo karkoli? Kdo jih nadzira? Kdo nadzira nadzornika? Ali mi nadziramo algoritme, ali oni nas? Kakšne so posledice? Kaj se zgodi, če jim prepustimo našo najdragocenejšo posest - naše življenje? In še cel kup moralnih in etičnih vprašanj. Znanstveniki se tako hipotetično sprašujejo npr. kako naj se algoritem v avtomobilih brez voznika odloči v primeru nesreče med dvema človeškima življenjema (ko se mora v istem trenutku odločiti med enim ali drugim, koga bo "pustil" živeti)?
Algoritmi (v svetu računalništva oz. informatike) so računalniški programi, ki (po domače povedano) "pomagajo računalnikom, da se odločajo o stvareh" (sicer uradne definicije za algoritem še nimamo, splošna neuradna pa je "seznam korakov, ki nas pripeljejo do rešitve problema"). Kar se sliši dokaj enostavno in nedolžno dokler jih ni skupaj več tisoč, ali milijonov istočasno v akciji in se nato sprašujemo, kaj se je pravzaprav zgodilo. Algoritmi lahko dandanes delujejo tudi avtonomno ter upravljajo in kontrolirajo stroje. Takšni avtonomni roboti pa že lahko funkcionirajo in se vedejo neodvisno od človeka (ali vsaj z visoko stopnjo neodvisnosti); ko pa bodo nekega dne opremljeni še z (visoko razvito) umetno inteligenco pa se že počasi bližamo znanstvenofantastičnim scenarijem. Ampak že sedaj imamo v uporabi "manj pametne" stroje v industriji, vojski, medicini, raziskovanju vesolja ipd. (nekateri zadnji projekti so googlov avtomobil, Paro, Cheetah, BigDog, Petman). Kot so seveda prisotne tudi politične težnje, da se uporablja algoritme za nadzor ljudi (zloglasni projekt Evropske unije INDECT) ali celo, da bi na podlagi algoritmov predvideli kriminalna vedenja ljudi, v stilu ZF filma Posebno poročilo (Minority Report).
Ker torej algoritmi vedno bolj drastično posegajo v naša življenja, se je seveda - predvsem v zadnjih letih - pojavila težnja po pravni varnosti, kako jih regulirati? Vedno več pravnih in ostalih strokovnjakov, znanstvenikov se ukvarja s tem vprašanjem. Regulacija algoritmov je sicer le del širšega interdisciplinarnega področja regulacije nastajajočih tehnologij (nanotehnologija, biotehnologija, avtonomni stroji, robotika, umetna inteligenca itd.). Izkazalo se je, da je svet algoritmov postal tako kompleksen (poleg tega se nenehno razvija), da ga je pravzaprav težko ujeti v neko pravno terminologijo ter regulirati v praksi. Znanstveniki vidijo delovanje algoritmov kot neko "mrežo vzrokov", na milijone povezanih programskih, informacijskih niti, kjer "nevidni pajek" izvrši nalogo in čeprav lahko vsi vidimo rezultat, je bil proces v ozadju tako kompleksen, da tudi znanstvenik, ki ga je razvil, ne ve pravzaprav, kaj se je zgodilo, kaj ga je povzročilo - "kje je pajek?". Ostali delovanje opisujejo kot "črno škatlo"; (black box), "lahko sicer vidimo (kaj je šlo vanjo in kaj gre iz nje), a ne razumemo notranjega delovanja".
Ljudje naredimo nekaj preprosto ker to hočemo; gremo skozi seznam argumentov za in proti in kljub temu lahko (namerno) sprejmemo "slabo" odločitev. Algoritmi niso dobri ali slabi, pošteni ali nepošteni, pravični ali nepravični - čeprav lahko človek te vrednote vnese v dizajn algoritma - predvsem je v ospredju odgovornost človeka upravljavca v ozadju, ali naj on prevzame jamstvo, če algoritem deluje slabo, nepošteno in nepravično? Težava kompleksnih algoritmov je predvsem v tem, da se ne vedejo vedno predvidljivo. Tudi sama koda je lahko hroščata (predvsem ker so razvijalci dandanes pod velikim časovnim pritiskom in vse prevečkrat zmanjka časa za kontrolo kakovosti). Vsekakor že imamo primere, ko gre kaj zares narobe (Flash Crash leta 2010, leta 2012 je Knight Capital Group izgubil 440 milijonov dolarjev idr.). Naj kaznujemo za slabe rezultate brez regulacije algoritmov?
V resnici morda vse skupaj le ni tako težavno kot je videti na prvi pogled. Namreč vsaj običajno imamo vedno neko osebo v ozadju, "nadzornika" oz. nekoga ki je naročil, razvil in "spustil" algoritem v svet. Poleg tega imamo lahko na voljo "klasično" dokumentacijo ("memos", "hot documents"), ki vsebuje kritične informacije o primeru ter nam morda pove, kakšni so bili resnični cilji v ozadju (npr. "strimo konkurenco"); morda ljudje ne razumemo (delovanja) algoritma, ampak to pa razumemo. Kot imamo konec koncev tudi rezultate; ne glede na to kateri algoritem je bil uporabljen. Imamo pa že tudi nekaj sodb, kjer so se lotili odgovornih za algoritme (kot npr. Nemško sodišče od Googla zahteva umik žaljivih autocompletov, Google mora žaljiva autocomplet gesla izbrisati) ter tudi praktično že vsaj posredne zakonske regulacije algoritmov (primer avtonomna vozila).
Nekako torej pridemo do zaključka, da za samo regulacijo na koncu detajli algoritma niti niso tako pomembni. Fokus regulacije ne bi smel biti na samem delovanju algoritma (kaj ta počne), temveč bi moralo biti pomembno, kaj algoritem "postane" (da lahko naredi kaj). Iz zapisanega je tudi očitno, da neka klasična točna zakonska pravila, navodila niso pravi pristop k reševanju te problematike. Za začetek morda potrebujemo neka "zlata pravila" (splošna načelna pravila) glede razvoja oz. uporabe algoritmov. Predvsem na področju robotike je bilo razvitih že kar nekaj predlogov (od Asimovih Treh zakonov robotike, Etičnega kodeksa robotike do EPRSC/AHRC načel robotike itd.), ki so morda uporabni tudi za to področje. Splošna načela bi se tako lahko glasila: 1. algoritme se ne sme razvijati samo ali prvenstveno za ubijanje ali škodovanje ljudem; 2. ljudje, ne algoritmi, so odgovorni povzročitelji. Algoritmi so orodja, ki so jih razvili in programirali za dosego človeških ciljev; 3. algoritmi morajo biti zasnovani na način, da zagotavljajo zanesljivo delovanje in varnost; 4. Vedno mora biti razvidno, kdo je pravno odgovoren za algoritem.
Ko imamo enkrat načela, pa se lahko malo bolj konkretno lotimo same regulacije, najprej najdemo neke fleksibilne definicije (kot npr. v primeru regulacije nanotehnologije), opravimo oceno tveganosti oz. nevarnosti (ki pravzaprav trenutno ni jasna niti znanstvenikom), se osredotočimo na odgovornost za rezultat (na podlagi dolžne skrbnosti pri samem razvoju ter uporabi algoritma); in tako sprejmemo neke mednarodne smernice ali v primeru EU vsaj regijske direktive, da lahko države regulacijo lažje prenesejo v nacionalno pravo (ker preprosto ne more vsaka država tega urejati po svoje). Morda bi bilo potrebno uvesti, kakšno splošno obvezno zavarovanje za finančno zaščito pred fizičnimi ter ostalimi poškodbami, ki so nastale na podlagi motnje v delovanju algoritma. Ostane vprašanje transparentnosti, kajti četudi bi imeli (kljub obrtnim skrivnostim) popoln vpogled v samo kodo programa algoritma, je velika verjetnost, da prav tako še vedno ne bi vedeli, kje leži težava.
Regulacija algoritmov sama je v bistvu eksperiment, kjer ne bomo imeli "ene in dokončne rešitve". Gre za kompleksen netočen proces, ki je ves čas v teku in šele ko se bomo soočili s konkretnimi problemi, jih bomo lahko tudi (bolj natančno) regulirali.
*Citat superračunalnika HAL 9000 (ang. Heuristically programmed ALgorithmic computer) iz kultnega znanstvenofantastičnega filma režiserja Stanleyja Kubricka iz leta 1968