A devenit destul de comun în zilele noastre să auzim oameni care se referă la sistemele moderne de învățare automată ca fiind „cutii negre”. Ca exemplu, luați în considerare un episod recent al podcastului lui Sam Harris, în care acesta l-a intervievat pe pionierul AI Stuart Russell. Harris întreabă:

„Deci, dacă nu mă înșel, majoritatea, dacă nu toate aceste abordări de învățare profundă, sau chiar mai general abordările de învățare automată sunt, în esență, cutii negre, în care nu poți inspecta cu adevărat modul în care algoritmul realizează ceea ce realizează.”

Deși această metaforă este potrivită pentru anumite situații particulare, ea este de fapt destul de înșelătoare în general și poate cauza o cantitate considerabilă de confuzie. După cum vom vedea, un sistem de învățare profundă nu este o cutie neagră; nici măcar dezvoltarea unui astfel de sistem nu trebuie să fie o cutie neagră. Cu toate acestea, adevărata provocare constă în faptul că ambele lucruri sunt complexe și nu sunt neapărat bine înțelese. Aici, vreau să încerc să clarific unele dintre aceste idei și, în același timp, să mă gândesc la ceea ce înțelegem prin explicații.

După cum voi explica mai jos, cred că confuzia provine, cel puțin în parte, din concepțiile greșite pe care oamenii le au despre cum funcționează aceste sisteme. Atunci când oamenii recurg la metafora cutiei negre, ceea ce par să exprime este faptul că este dificil de înțeles scopul diferitelor componente ale unui model de învățare automată. Deși acest lucru este într-adevăr dificil, vreau să argumentez că este, de asemenea, o așteptare nerealistă. Pe parcurs, voi încerca să explic diferența dintre modele și modul în care acestea sunt antrenate, voi discuta scenarii în care metafora cutiei negre este adecvată și voi sugera că, în multe privințe, oamenii sunt adevăratele cutii negre, cel puțin în ceea ce privește învățarea automată.

Explicații

Pentru început, este util să reflectăm la ce se referă oamenii atunci când vorbesc despre explicații. Aceasta nu este nicidecum o întrebare trivială, dar se pare că există cel puțin două moduri deosebit de relevante de a gândi despre acest lucru.

Când cerem cuiva o explicație despre motivul pentru care a făcut ceva („De ce ai făcut X?”), operăm pe baza unui anumit set de ipoteze de fond. În cazul unei decizii care a fost luată cu atenție, presupunem de obicei că au avut un motiv întemeiat pentru a acționa așa cum au făcut-o și, practic, cerem procesul de raționament pe care l-au folosit pentru a lua decizia respectivă. De exemplu, ne-am putea aștepta ca ei să fi cântărit argumentele pro și contra și să fi ales un curs de acțiune pe baza așteptării ca acesta să ducă la un anumit rezultat.

Când întrebăm de ce ceva a mers prost, prin contrast, cerem în schimb un fel de explicație post-hoc a eșecului. De exemplu, după un accident de mașină, am putea dori o explicație a ceea ce a cauzat accidentul. A fost șoferul distras? O altă mașină l-a făcut să vireze? Mai degrabă decât un proces de raționament, cerem, mai mult sau mai puțin, stimulul critic care a provocat o anumită reacție în afara comportamentului normal.

Când oamenii se gândesc la inteligența artificială, de obicei par să aibă în minte primul tip de explicație. Așteptarea este că sistemul a făcut o deliberare și a ales un curs de acțiune bazat pe rezultatul așteptat. Deși există cazuri în care acest lucru este posibil, din ce în ce mai mult asistăm la o evoluție către sisteme care seamănă mai mult cu cel de-al doilea caz; adică primesc stimuli și apoi doar reacționează.

Există motive foarte bune pentru acest lucru (nu în ultimul rând pentru că lumea este complicată), dar înseamnă că este mai greu să înțelegem motivele pentru care a fost luată o anumită decizie sau de ce am ajuns la un model în comparație cu altul. Ținând cont de acest lucru, haideți să analizăm ce înțelegem prin model și metafora cutiei negre.

Căsuțe și modele

Metafora cutiei negre datează de la începuturile ciberneticii și ale behaviorismului și se referă de obicei la un sistem pentru care putem observa doar intrările și ieșirile, dar nu și funcționarea internă. Într-adevăr, acesta a fost modul în care B. F. Skinner a conceptualizat mințile în general. Deși a reușit să demonstreze cu succes modul în care anumite comportamente învățate pot fi explicate printr-un semnal de întărire care lega anumite intrări de anumite ieșiri, el a făcut apoi celebra greșeală de a crede că această teorie ar putea explica cu ușurință tot comportamentul uman, inclusiv limbajul.

Ca un exemplu mai simplu de cutie neagră, luați în considerare un experiment de gândire al lui Skinner: vi se dă o cutie cu un set de intrări (întrerupătoare și butoane) și un set de ieșiri (lumini care sunt fie aprinse, fie stinse). Manipulând intrările, puteți observa ieșirile corespunzătoare, dar nu vă puteți uita înăuntru pentru a vedea cum funcționează cutia. În cel mai simplu caz, cum ar fi un întrerupător de lumină într-o cameră, este ușor de determinat cu mare încredere că întrerupătorul controlează nivelul de lumină. Cu toate acestea, pentru un sistem suficient de complex, poate fi efectiv imposibil să se determine modul în care funcționează cutia doar încercând diverse combinații.

Imaginați-vă acum că vi se permite să deschideți cutia și să priviți înăuntru. Vi se oferă chiar și o schemă electrică completă, care arată care sunt toate componentele și cum sunt conectate. Mai mult, niciuna dintre componente nu este complexă în sine; totul este construit din componente simple, cum ar fi rezistențe și condensatori, fiecare dintre acestea având un comportament care este bine înțeles în mod izolat. Acum, nu numai că aveți acces la specificațiile complete ale tuturor componentelor din sistem, dar puteți chiar să efectuați experimente pentru a vedea cum răspunde fiecare dintre diferitele componente la anumite intrări.

Ați putea crede că, având toate aceste informații la îndemână, ați fi acum în măsură să dați o explicație bună a modului în care funcționează cutia. La urma urmei, fiecare componentă individuală este înțeleasă și nu există informații ascunse. Din păcate, complexitatea apare din interacțiunea mai multor componente simple. Pentru un sistem suficient de complex, este puțin probabil să puteți prezice care va fi ieșirea cutiei pentru o anumită intrare, fără a face un experiment pentru a afla. Singura explicație pentru motivul pentru care cutia face ceea ce face este că toate componentele urmează regulile care guvernează comportamentul lor individual, iar comportamentul general apare din interacțiunile lor.

Chiar mai important, dincolo de modul de funcționare a sistemului, probabil că nu ați putea explica de ce fiecare componentă a fost plasată acolo unde este, chiar dacă ați cunoaște scopul general al sistemului. Având în vedere că cutia a fost proiectată pentru un anumit scop, presupunem că fiecare componentă a fost adăugată cu un motiv. Cu toate acestea, pentru un sistem deosebit de inteligent, fiecare componentă ar putea sfârși prin a prelua mai multe roluri, ca în cazul ADN-ului. Deși acest lucru poate duce la un sistem foarte eficient, face, de asemenea, foarte dificil să ne gândim măcar la rezumarea scopului fiecărei componente. Cu alte cuvinte, modul în care sistemul este complet transparent, dar motivul este potențial de nepătruns.

Aceasta, după cum se pare, este o metaforă perfectă pentru învățarea profundă. În general, întregul sistem este deschis la inspecție. Mai mult, este alcătuit în întregime din componente simple care sunt ușor de înțeles în mod izolat. Cu toate acestea, chiar dacă cunoaștem scopul sistemului general, nu există neapărat o explicație simplă pe care să o putem oferi cu privire la modul în care funcționează sistemul, în afară de faptul că fiecare componentă individuală funcționează în conformitate cu propriile reguli, ca răspuns la datele de intrare. Aceasta este, într-adevăr, adevărata explicație a modului în care funcționează sistemul și este complet transparentă. Întrebarea mai dificilă, desigur, este de ce fiecare componentă și-a asumat rolul pe care îl are. Pentru a înțelege mai bine acest lucru, va fi util să separăm ideea de model de algoritmul folosit pentru a-l antrena.

Modeluri și algoritmi

Pentru a intra cu adevărat în detalii, trebuie să fim un pic mai preciși cu privire la ceea ce vorbim. Harris se referă la „modul în care algoritmul realizează ceea ce realizează”, dar în realitate există două părți aici: un model – cum ar fi un sistem de învățare profundă – și un algoritm de învățare – pe care îl folosim pentru a adapta modelul la date. Când Harris se referă la „algoritmul”, se presupune că se referă la model, nu neapărat la modul în care acesta a fost antrenat.

Ce înțelegem mai exact prin model? Deși poate oarecum vag, un model statistic surprinde în esență ipotezele pe care le facem cu privire la modul în care funcționează lucrurile în lume, cu detalii care trebuie învățate din date. În special, un model specifică care sunt intrările, care sunt ieșirile și, de obicei, modul în care credem că intrările ar putea interacționa unele cu altele în generarea ieșirii.

Un exemplu clasic de model este reprezentat de ecuațiile care guvernează gravitația newtoniană. Modelul afirmă că ieșirea (forța de gravitație între două obiecte) este determinată de trei valori de intrare: masa primului obiect, masa celui de-al doilea obiect și distanța dintre ele. Mai exact, modelul afirmă că gravitația va fi proporțională cu produsul dintre cele două mase, împărțit la pătratul distanței. În mod critic, nu explică de ce acești factori ar trebui să fie factorii care influențează gravitația; pur și simplu încearcă să ofere o explicație parcimonioasă care să ne permită să prezicem gravitația pentru orice situație.

Desigur, chiar dacă acest lucru ar fi complet corect, pentru a putea face o predicție, trebuie să cunoaștem și factorul de scalare corespunzător, G. În principiu, totuși, ar trebui să fie posibil să aflăm această valoare prin observație. Dacă am presupus un model corect (sau aproape corect) pentru modul în care funcționează lucrurile în realitate, avem o șansă bună de a putea afla detaliile relevante din date.

În cazul gravitației, desigur, Einstein a arătat în cele din urmă că modelul lui Newton era doar aproximativ corect și că acesta eșuează în condiții extreme. Cu toate acestea, pentru majoritatea circumstanțelor, modelul newtonian este suficient de bun, motiv pentru care oamenii au fost capabili să învețe constanta G= 6,674×10^(-11) N – (m/kg)² și să o folosească pentru a face predicții.

Modelul lui Einstein este mult mai complex, cu mai multe detalii care pot fi învățate prin observare. În majoritatea circumstanțelor, el oferă aproximativ aceeași predicție ca și modelul newtonian, dar este mai precis în circumstanțe extreme și, desigur, a fost esențial în dezvoltarea unor tehnologii precum GPS. Și mai impresionant este faptul că predicțiile secundare ale relativității au fost uluitoare, reușind să prezică, de exemplu, existența găurilor negre înainte de a putea spera vreodată să testăm existența lor. Și totuși, știm că nici modelul lui Einstein nu este complet corect, deoarece nu reușește să se potrivească cu modelele mecanicii cuantice în condiții și mai extreme.

Gravitația, bineînțeles, este deterministă (din câte știm noi). În învățarea mecanică și în statistică, în schimb, avem de-a face, de obicei, cu modele care implică incertitudine sau aleatorism. De exemplu, un model simplu despre cât de mult veți trăi ar fi doar să preziceți media populației pentru țara în care locuiți. Un model mai bun ar putea lua în considerare factori relevanți, cum ar fi starea dvs. de sănătate actuală, genele dvs., cât de mult faceți exerciții fizice, dacă fumați sau nu țigări etc. Cu toate acestea, în aproape fiecare caz, va exista o anumită incertitudine în ceea ce privește predicția, deoarece nu cunoaștem toți factorii relevanți. (Acest lucru este diferit, bineînțeles, de aparenta și adevărata aleatorie care apare la nivel subatomic, dar nu ne vom preocupa de această diferență aici).

Pe lângă faptul că este o rebranduire incredibil de reușită a rețelelor neuronale și a învățării automate (la rândul său, se poate spune că este o rebranduire destul de reușită a statisticii), termenul de învățare profundă se referă la un anumit tip de model, unul în care ieșirile sunt rezultatele unei serii de multe transformări simple aplicate intrărilor (foarte asemănător cu schema noastră electrică de mai sus). Deși modelele de învățare profundă sunt cu siguranță complexe, acestea nu sunt cutii negre. De fapt, ar fi mai corect să ne referim la ele ca la niște cutii de sticlă, deoarece putem privi literalmente înăuntru și să vedem ce face fiecare componentă.

Problema, bineînțeles, este că aceste sisteme sunt, de asemenea, complicate. Dacă vă dau un set simplu de reguli pe care trebuie să le urmați pentru a face o predicție, atâta timp cât nu sunt prea multe reguli și regulile în sine sunt simple, ați putea destul de ușor să vă dați seama în mintea dumneavoastră de întregul set de corespondențe intrare-ieșire. Acest lucru este valabil, de asemenea, deși într-o măsură mai mică, și în cazul unei clase de modele cunoscute sub numele de modele liniare, în care efectul modificării oricărei intrări poate fi interpretat fără a cunoaște valoarea altor intrări.

Modelurile de învățare profundă, prin contrast, implică de obicei neliniarități și interacțiuni între intrări, ceea ce înseamnă că nu numai că nu există o cartografiere simplă de la intrare la ieșire, dar efectul modificării unei intrări poate depinde în mod critic de valorile altor intrări. Acest lucru face foarte greu să ne dăm seama mental ce se întâmplă, dar detaliile sunt totuși transparente și complet deschise inspecției.

Calculul real efectuat de aceste modele pentru a face o predicție este de obicei destul de simplu; unde lucrurile devin dificile este în învățarea reală a parametrilor modelului din date. Așa cum am descris mai sus, odată ce presupunem o anumită formă pentru un model (în acest caz, o rețea neuronală flexibilă; apoi trebuie să încercăm să aflăm valori bune pentru parametrii din date.

În exemplul gravitației, odată ce am presupus un model „suficient de bun” (proporțional cu masa și invers proporțional cu distanța la pătrat), trebuie doar să rezolvăm valoarea unui parametru (G), prin adaptarea modelului la observații. În schimb, în cazul sistemelor moderne de învățare profundă, pot exista cu ușurință milioane de astfel de parametri care trebuie învățați.

În practică, aproape toate aceste modele de învățare profundă sunt antrenate folosind o variantă a unui algoritm numit stochastic gradient descent (SGD), care preia eșantioane aleatorii din datele de antrenament și ajustează treptat toți parametrii pentru a face ca rezultatul prezis să semene mai mult cu ceea ce ne dorim. Motivul exact pentru care funcționează atât de bine cum o face nu este încă bine înțeles, dar principalul lucru de reținut este că și acesta este transparent.

Pentru că este inițializat de obicei cu valori aleatorii pentru toți parametrii, SGD poate duce la parametri diferiți de fiecare dată când îl rulăm. Cu toate acestea, algoritmul în sine este determinist și, dacă am folosi aceeași inițializare și aceleași date, ar produce același rezultat. Cu alte cuvinte, nici modelul, nici algoritmul nu este o cutie neagră.

Deși este oarecum nesatisfăcător, răspunsul complet la întrebarea de ce un sistem de învățare automată a făcut ceva se află, în cele din urmă, în combinația dintre ipotezele pe care le-am făcut în proiectarea modelului, datele pe care a fost antrenat și diversele decizii luate cu privire la modul de învățare a parametrilor, inclusiv caracterul aleatoriu al inițializării.

Înapoi la cutiile negre

De ce contează toate acestea? Ei bine, există cel puțin două moduri în care conceptul de cutii negre este foarte relevant pentru învățarea automată.

În primul rând, există o mulțime de algoritmi și sisteme software (și nu doar cele bazate pe învățarea automată) care sunt cutii negre în ceea ce îl privește pe utilizator. Acesta este poate cel mai frecvent cazul în cazul software-ului proprietar, în care utilizatorul nu are acces la mecanismele interne și tot ceea ce putem vedea sunt intrările și ieșirile. Acesta este genul de sistem despre care ProPublica a relatat în reportajul său despre algoritmii de stabilire a sentințelor judiciare (în special sistemul COMPAS de la Northpointe). În acest caz, cunoaștem datele de intrare și putem vedea scorurile de risc care au fost acordate persoanelor ca rezultat. Cu toate acestea, nu avem acces la algoritmul utilizat de companie sau la datele pe care a fost antrenat. Cu toate acestea, este sigur să spunem că cineva are acces la detalii – probabil angajații companiei – și este foarte probabil ca acesta să fie complet transparent pentru ei.

Al doilea mod în care metafora cutiilor negre este relevantă este în ceea ce privește ei sisteme pe care încercăm să le învățăm, cum ar fi vederea umană. În unele privințe, comportamentul uman este neobișnuit de transparent, în sensul că putem întreba efectiv oamenii de ce au făcut ceva și putem obține explicații. Cu toate acestea, există motive întemeiate pentru a crede că nu cunoaștem întotdeauna adevăratele motive pentru lucrurile pe care le facem. Departe de a fi transparenți pentru noi înșine, pur și simplu nu avem acces conștient la multe dintre procesele interne care ne guvernează comportamentul. Dacă ni se cere să explicăm de ce am făcut ceva, am putea fi capabili să oferim o narațiune care să transmită cel puțin cum am simțit procesul de luare a deciziei. Dacă ni se cere să explicăm cum reușim să recunoaștem obiectele, prin contrast, am putea crede că putem oferi un fel de explicație (ceva care implică margini și culori), dar, în realitate, acest proces funcționează mult sub nivelul conștiinței.

Deși există circumstanțe speciale în care putem inspecta efectiv funcționarea internă a sistemelor umane sau a altor mamifere, cum ar fi experimentele de neuroștiință, în general, încercăm să folosim învățarea automată pentru a imita comportamentul uman folosind doar intrările și ieșirile. Cu alte cuvinte, din perspectiva unui sistem de învățare automată, omul este cutia neagră.

Concluzie

În concluzie, este util să reflectăm asupra a ceea ce își doresc oamenii atunci când se gândesc la sisteme care nu sunt cutii negre. De obicei, oamenii își imaginează ceva de genul scenariului în care o mașină care se conduce singură a ieșit de pe șosea, iar noi vrem să știm de ce. În imaginația populară, așteptarea pare a fi aceea că mașina trebuie să fi evaluat rezultatele posibile, să le fi atribuit probabilități și să o fi ales pe cea cu cele mai mari șanse de a maximiza un rezultat mai bun, unde mai bun este determinat în funcție de un fel de moralitate care a fost programată în ea.

În realitate, este foarte puțin probabil ca lucrurile să funcționeze astfel. Mai degrabă, dacă întrebăm mașina de ce a făcut ceea ce a făcut, răspunsul va fi că a aplicat un calcul transparent și determinist folosind valorile parametrilor săi, având în vedere datele de intrare curente, iar acest lucru i-a determinat acțiunile. Dacă întrebăm de ce a avut acei anumiți parametri, răspunsul va fi că aceștia sunt rezultatul modelului care a fost ales, al datelor pe care a fost antrenat și al detaliilor algoritmului de învățare care a fost utilizat.

Acest lucru pare frustrant de nefolositor și este ușor de înțeles de ce oamenii apelează la metafora cutiei negre. Totuși, gândiți-vă că, de fapt, nu avem acest tip de acces pentru sistemele pe care încercăm să le imităm. Dacă întrebăm un șofer uman de ce a ieșit de pe șosea, acesta va fi probabil capabil să răspundă în limbaj și să dea o explicație despre el însuși – că era beat, că a fost distras, că a trebuit să facă o manevră de deviere sau că a fost orbit de vreme – și totuși, în afară de a oferi un fel de coerență narativă, nu știm cu adevărat de ce a făcut-o, și nici el nu știe. Cel puțin, cu ajutorul învățării automate, putem recrea același cadru și putem sonda starea internă. Ar putea fi complicat de înțeles, dar nu este o cutie neagră.

.