Machine learning, determinismo e alchimia

Ieri sera è stata pubblicata una reaction ad una clip di Mr RIP, in cui lo stesso afferma che il machine learning è un po’ un’alchimia.

La mente è tornata velocemente ai miei ricordi da studente quindicenne, quando scrissi un programmino in linguaggio C che faceva un largo utilizzo di switch-case e if annidati: dato un input al programma, si poteva sapere con certezza, seguendo il diagramma di flusso disegnato mentre progettavo l’algoritmo, quale sarebbe stato l’esito. Tradotto per i non informatici: l’utente aveva a disposizione una sequenza finita di scelte e, nel caso avesse digitato qualcosa da me non prevista a priori, sarebbe finito in un caso standard di “tutti gli altri” (default case). Tutto si basava, a livello di singolo passaggio come a livello complessivo, sul determinismo.

Con il machine learning la situazione è diversa, un po’ simile a quanto avviene con le persone: non è possibile seguire e prevedere passo passo con assoluta certezza quale sarà la risposta di una persona dato il nostro input (concetto non molto chiaro ai vari santoni di quella pseudoscienza chiamata PNL). Detto in altri termini, ci confrontiamo con una “scatola chiusa” (così evitiamo suscettibilità antirazziste sul termine “black box”, tanto di “razzismo” ne vedremo tra poco) dove nessuno sa con estrema certezza come funzionano gli ingranaggi al suo interno (nel caso delle persone, anche loro ignorano i motivi nascosti dietro alcune azioni, il loro elefante nel cervello). Abbiamo davanti una scatola chiusa in senso lato (in senso stretto, per gli addetti ai lavori, si parla di scatola chiusa quando si ha a che fare con un sistema proprietario di cui non si conoscono logiche e codice, mentre altri sistemi sono ad esempio condivisi pubblicamente). I dati attraversano una serie di “layer” che son stati “addestrati” dando loro in pasto una grande quantità di dati, da cui individuare e pesare delle caratteristiche per dedurre (o, se preferite, “indovinare”), probabilisticamente, cosa porta dei dati con certe caratteristiche ad essere classificati in un certo modo o a portare a certi risultati. Mi si perdonerà l’estrema semplificazione, occorrerebbero diverse ore per spiegarlo come si deve. Il punto è che nemmeno chi ha ideato e “tunato” (“aggiustandone” i parametri) il modello ha un’idea precisa di ogni punto della sua “creatura”. Spesso i parametri si “aggiustano” da soli, ad esempio con reiterazioni in cui si aumenta, diminuisce o cambia qualcosa mentre si misurano alcuni punteggi come indicatori di accuratezza (esempio generico: dopo diverse simulazioni, il sistema dice che per quel tipo di applicazione ci sta bene una sigmoide anziché una funzione lineare e che è meglio utilizzare quel numero come gamma perché così ottengono un miglior punteggio F1 misurando precisione e recupero).

La stessa opinione sulla mancanza di determinismo è riportata anche in un articolo su KDNuggets:
Deterministic AI environments are those on which the outcome can be determined base on a specific state. By determinism, we specifically refer to AI environments that ignore uncertainty. Most real world AI environments are not deterministic. Instead, they can be classified as stochastic. Self-driving vehicles are a one of the most extreme examples of stochastic AI environments but simpler settings can be found in simulation environments or even speech analysis models.

La guida autonoma è un argomento complesso, quindi prendiamo un esempio più semplice: immaginiamo per un attimo dei robot antropomorfi come quelli nei Jetson.

La domestica Rosey e il manutentore Mac

Il robot vi versa cucchiani di zucchero in una bevanda, ma anziché impostare in maniera prevedibile un “ciclo for” con un limite sul numero di cucchiaini che vorreste, il sistema è gestito da ML che prende in input una serie di dati (come ad esempio: lo storico di quanto avete mangiato, l’attività fisica effettuata e le vostre condizioni sanitarie). Un giorno vi versa una dozzina di cucchiaini di zucchero e nessuno sa spiegarsi perché. E il problema più grave è che non è così facile investigare i meccanismi che lo hanno portato a quel risultato che, per noi, è un chiaro errore. Non è qualche ingranaggio inceppato come nel macchinario che dà da mangiare a Charlie Chaplin in “Tempi moderni”.

Charlotte alle prese con la modernità

Quando applicati ai dati personali, ciò che fanno questi algoritmi, creando modelli predittivi basandosi esclusivamente su dati raccolti dal passato e dal momento presente, è avallare il modello Freudiano di causa-effetto, dell’approccio incentrato sull’eziologia per cui se tu hai vissuto un certo avvenimento o fatto qualcosa nel passato, molto probabilmente questo influenzerà ciò che potresti potenzialmente fare nel futuro, dando poco peso ad un tuo eventuale cambio di motivazione o di condizioni: se statisticamente, se sei stato in carcere, è più probabile che ci tornerai, allora io che sono il datore di lavoro preferisco investire su chi ha la fedina penale pulita, non importa se quell’esperienza dietro le sbarre ti abbia fatto maturare più velocemente e meglio di un tuo coetaneo (anche se magari non avrà elaborato alti pensieri come quelli che lo psichiatra e filosofo Viktor Frankl riportò dopo la sua esperienza da deportato nei campi di sterminio); se sei stato “non conforme” alle aspettative, l’algoritmo ti assegnererà un punteggio più basso, che potrebbe anche innescare delle spiacevoli reazioni a catena come nell’episodio Nosedive di Black Mirror (e se pensate sia fantascienza, chiedetelo ai Cinesi e al loro sistema di credito).
Il rischio è che, una volta inserito un soggetto umano in un determinato cluster secondo alcune features (ovverosia in un insieme di “soggetti simili per caratteristiche”), non ci sia spazio per una visione teleologica quale quella di Adler, secondo cui non era tanto importante la situazione di partenza e il vissuto di un individuo, quanto le sue motivazioni, difficilmente prevedibili se si analizza il suo storico. Sarebbe interessante vedere quanto sia possibile applicare il pensiero di Simon Sinek (“You don’t hire for skills, you hire for attitude. You can always teach skills.“) se a misurare l’attitudine è un robot che decide le assunzioni.
A questo punto, mentre l’epigenetica ci mostra scenari in cui sia possibile in qualche modo “battere” il proprio DNA (con buona pace di Gattaca), i modelli basati sui nostri dati ci portano ad uno spietato determinismo nel peggiore delle sue accezioni. Un determinismo che paradossalmente si scontra con le scelte di macchine che deterministiche non sono.

Controlli e riconoscimento: umani vs macchine

Sia chiaro: da un punto di vista etico-morale non sto facendo paragoni tra risultati di machine learning e ragionamenti umani. Quando ad esempio si dice che gli algoritmi sono razzisti e che dobbiamo avere paura dei sistemi automatici di riconoscimento… in realtà, già anni fa, sarcasticamente, i Griffin hanno ironizzato anche sui controlli “manuali” da parte di personale di sicurezza:

E per i sistemi automatici? Google ha chiesto scusa dopo il “piccolo errore” di scambiare una ragazza per Gorilla.

Quando si urla all’algoritmo cattivo che discrimina, cerchiamo di fermarci un attimo a riflettere sui bias presenti nel mondo reale e alla cattiveria in noi che preferiamo ignorare: se l’algoritmo ci rinfaccia la cruda realtà (che emerge dai dataset che gli carichiamo), subito diciamo che l’algoritmo è un mostro, ma non ci si chiede mai abbastanza perché il bot Tay di Microsoft sia diventato una perversa reincarnazione di Hitler dopo un giorno di interazione con utenti umani (come direbbe qualcuno: “garbage in, garbage out“, in questo caso la monnezza proveniva direttamente dalla testa degli utenti). Non è difficile capire che “a biased world can result in biased data sets and, in turn, bias artificial intelligence frameworks” (l’hanno detto e scritto in molti, tra cui John Mannes).

In quei casi fortunatamente si trattava solo di applicare un’etichetta a delle immagini o fare due chiacchiere con un bot maniaco, non erano state associate azioni automatiche (o “cinetiche”, come si direbbe in gergo militare quando azioni cibernetiche si traducono in azioni “fisiche”).
Però pensiamo un attimo a cosa possa succedere se un sistema d’arma viene collegato a sistemi di riconoscimento immagini che scambiano un tartaruga per un fucile:

Dobbiamo quindi avere più paura delle macchine che degli umani? Ricordiamo che anche ad occhi e cervelli umani può accadere di sparare ad un giornalista scambiandolo per terrorista.

Risparmio il video intero, comunque disponibile pubblicamente dopo esser stato diffuso da WikiLeaks

Accettare consigli (o azioni) e cercare un senso

In alcuni casi, tralasciando gli errori equivalenti all’etichetta da gorilla sull’immagine di una donna, un sistema di raccomandazione che mostra il successivo brano da ascoltare o il prossimo video da vedere, basandosi su presunti gusti e presunto stato d’animo, può essere utile, purché magari non porti ad una bolla (se ascolto i Dream Theater, difficilmente il sistema mi consiglierà “Il pulcino pio”, anche se in questo caso direi che è un bene rimanere nella mia zona di comfot musicale). Lo stesso può valere per i suggerimenti “gli utenti simili a te hanno comprato anche…”, benché ricordano molto una frase detta così, in maniera estemporanea, da Carmelo Bene al minuto 18:45, ospitato nel lontano 1995 al Maurizio Costanzo Show: “Siete acquistati, non è che acquistate”. (Sugli effetti del condizionamento occorre discuterne per bene magari un’altra volta).
Come scrive Alessandro Baricco nel suo “The Game”:
Perfino Google, e in fondo nel modo piú clamoroso, annientava i passaggi intermedi: non c’era piú una casta di sapienti che sapeva dove si trovava il sapere: a saperlo era un algoritmo che scattava invisibile e ti conduceva direttamente a quel che cercavi.
DOVE ANDAVA PIÚ GENTE, QUELLO ERA IL POSTO MIGLIORE. Risultato: oggi Google, che di per sé non è un esperto di niente, viene consultato come se fosse un oracolo perché è in grado di rendere conto, al millimetro, del giudizio di milioni di persone. Dove vedete stabilito un principio che sarà poi decisivo: il parere di milioni di incompetenti è piú affidabile, se sei in grado di leggerlo, di quello di un esperto.

Abbandonato il campo dei “consigli per gli acquisti”, totalmente diverso è affidarsi ad un sistema che comporta effetti più importanti. Per dirla come il premio Nobel in economia Daniel Kahneman (in “Pensieri lenti e veloci”):
Se un bambino muore perché un algoritmo ha commesso un errore è più terribile che se muore a causa di un errore umano, e la differenza di intensità emozionale è prontamente tradotta in preferenza morale“.
C’è della bella differenza tra consigliare e decidere. Possiamo farci ispirare da un grafo per i consigli per gli abbinamenti dei cibi, mentre un altro discorso è farci preparare un piatto da un robot chef che accosta due ingredienti solo perché “sulla carta”, in base ad alcuni parametri vanno bene. Come anche: ben venga la nota ricerca di IBM col suo Watson impiegato nella lotta al cancro, ma nella modalità da loro stessi indicati “Go beyond human capabilities by combining human expertise with the power of technology“. I dati sono ottimi se utilizzati in maniera descrittiva (e/o predittiva), non prescrittiva – in altri termini: non è una buona idea iniziare una chemioterapia automaticamente solo perché il sistema di riconoscimento immagini di Watson ha ipotizzato, in certo intervallo di confidenza, che un paziente abbia sviluppato qualcosa di maligno, senza chiedere la supervisione di un medico.

Chiaro che, come creature “pensanti”, vogliamo cercare un senso a qualunque cosa, che sia nel movimento apparente della volta celeste (a cui qualcuno si ostina ancora a “credere”, nonostante tutte le spiegazioni scientifiche contro l’astrologia) o nella decisione presa da alcune intelligenze (naturali o artificiali che siano). Per dirla con le parole di un Nobel per la letteratura, Luigi Pirandello: “Una realtà non ci fu data e non c’è, ma dobbiamo farcela noi, se vogliamo essere: e non sarà mai una per tutti, una per sempre, ma di continuo e infinitamente mutabile“. Non sono solo poeti ad aver trattato l’argomento: anche Nassim Taleb, matematico libanese, ha trattato la questione della ricerca di senso da parte degli accademici dopo che qualcosa è stato già realizzato; dal suo libro “Antifragile“:
“Impartire lezioni di volo agli uccelli e credere che sia la lezione la causa di queste meravigliose abilità appartiene a una classe di illusioni causali chiamate epifenomeni. Quali sono queste illusioni? Quando trascorri del tempo sul ponte di una nave o nella cabina del timoniere con una grande bussola davanti, puoi facilmente sviluppare l’impressione che la bussola stia dirigendo la nave piuttosto che rifletterne semplicemente la direzione. L’effetto di insegnare agli uccelli come volare è un esempio di credenza epifenomenale. […] Chi pratica non scrive, fa. Gli uccelli volano e quelli che danno loro lezioni sono quelli che scrivono la loro storia”.
Il che spiega bene la situazione attuale in ML: mentre qualcuno è impegnato a produrre modelli e testarli, a volte anche senza un’adeguata preparazione accademica, una gran parte di persone (che magari non ha mai messo mano ad una riga di codice) produce articoli e video con titoli come: “Vi spiego come funziona l’intelligenza artificiale”.

E quando proprio non sappiamo darci una risposta, allora cerchiamo di trovare analogie o di spiegarci che, come scriveva Umberto Eco ironizzando sulla numerologia delle piramidi: “Lo spessore del ripiano è di 3,10 centimetri e la larghezza della cornice della finestra di 8,8 centimetri. Sostituendo ai numeri interi la corrispondente lettera alfabetica avremo C10 H8, che è la formula della naftalina”. I dati non parlano da soli, ecco perché esistono soggetti che passano diversi anni a studiare il proprio campo, dando un significato ai numeri – ecco perché spesso un giornalista o un politico, con in mano dei dati, non necessariamente divulgherà conclusioni corrette (anzi, potremmo dire quasi mai; non basta prendere un grafico e indicare una linea o una percentuale senza capire cosa c’è dietro). Ciononostante, anche una rigorosa analisi dei dati con metodo scientifico può portare a bizzarre correlazioni con dubbie causalità come mostrato dal divertente sito di Tyler Vigen di cui riporto uno dei tanti grafici (sì, lo so, ci sono comunque causalità di second’ordine, ad esempio l’investimento in tecnologia potrebbe aumentare in una nazione benestante e potrebbero esserci correlazioni tra tasso di suicidio e livello di benessere, benché paradossale, di una società, ma è giusto per dare un’idea).

Più gli Stati Uniti investono in tecnologia, più aumentano i suicidi. Non lo sapevate? Sapevatelo!

“Voglio trovare un senso a questa correlazione anche se questa correlazione un senso non ce l’ha” (non me ne voglia Vasco Rossi per questo adattamento). Dopo “L’uomo in cerca di senso” (del prima citato Frankl), ci si potrebbe aspettare, in futuro, che un automa che si interroghi sulle azioni dei propri simili, scrivendo “Una macchina in cerca di senso”?
Possiamo dare un qualunque senso, a posteriori, alla risposta di questi sistemi, però siamo sicuri di voler affidarci totalmente a qualcosa di non perfettamente prevedibile? Possiamo fidarci di un robot che cucina una pizza in maniera deterministica, basandosi su un set di instruzioni (e con casistiche limitate e ben delineate), ma ci fideremmo a prendere un mano un trapano “smart” che, anziché far ruotare la punta in un verso, decide autonomamente (in base ad alcuni fattori interni ed esterni) che sia meglio farla girare nel senso opposto? Vero è che l’essere umano brama la varietà per portare un po’ di scompiglio nella sua ordinaria monotonia, ma pur sempre entro certi limiti, vogliamo esser sorpresi ma non troppo, come ironizza Luca Ravenna. Quel pezzo di standup comedy ci fa quindi tornare al confronto con la prevedibilità (o meno) che ci si aspetta dalla risposta degli umani rispetto alle macchine: il recente premio Nobel per la fisica (sui sistemi complessi), Giorgio Parisi, ha ricordato in una sua analogia tra molecole ed esseri umani che, quando un numero limitato di persone cammina per strada, l’andamento dei singoli sembra casuale (potremmo dire libero e apparentemente senza vincoli), ma, all’aumentare del numero, si creano spontaneamente (senza che qualcuno scriva una legge o che qualche vigile diriga il traffico) dei flussi con delle direzioni, in cui ci si incanala – fenomeno noto a chiunque esca a passeggio in un centro densamente abitato durante un fine settimana. Un po’ come se donassimo parte della nostra intelligenza e affidassimo la nostra scelta ad un “sistema ingelligente” e ci conformassimo più o meno consapevolmente (anche in questo caso, direi che Asch ci aveva avvisato in merito al condizionamento, in questo caso anche senza parole). Cosa accade invece quando più sistemi autonomi interagiscono tra loro? Tranquilli, non sto immaginando Skynet, ma la risposta è che è difficilmente prevedibile e che si possono solo effettuare simulazioni (o osservazioni) che però non garantiscono assolutamente il concetto alla base dell’informatica deterministica – in breve: in sistemi deterministici, a parità di condizioni iniziali (es: eventuali stati di memoria), dato un input, so per certo che otterrò un certo ouput (ed eventualmente una certa configurazione di stati di memoria nel sistema). Con l’intelligenza artificiale posso normalmente dare una percentuale di probabilità che un determinato risultato si verifichi e, anche se il risultato è riproducibile in senso stretto, la rete potrebbe cambiarsi configurazione nel tempo e lo stesso input, presentato giorni dopo (e dopo aver elaborato altri dati), potrebbe dar luogo ad un risultato diverso. Possiamo cercare di spiegare empiricamente come funzionano alcuni sistemi di machine learning, ma dobbiamo serenamente accettare che “la realtà d’oggi è destinata a scoprire l’illusione domani” (di nuovo Pirandello).

C’è tuttavia della speranza: l’applicazione di machine learning non è necessariamente intrinsecamente non deterministica: sono allo studio delle best practices per renderla “replicabile” (anche se non utilizzerei la parola “prevedibile”). Possiamo infine confidare per ora nell’evoluzione dei sistemi di ispezione e debugging (alcuni citati anche nel video con cui si apre questo articolo).

Approfondimenti

3 commenti

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.