Seguitemi sul fediverso @fedi@blog.robutti.me

Il Machine Learning spiegato ad una giraffa

Probabilmente tutti voi avrete sentito almeno una volta nella vita il termine “Intelligenza Artificiale”, ormai entrato nella cultura di massa attraverso film e libri di fantascienza. Alcuni avranno più recentemente sentito il termine “Machine Learning”, magari associato a quello di “Deep Learning” o “Rete Neurale”.

Il racconto dei risultati meravigliosi raggiunti da queste tecnologie è spesso accompagnato da previsioni futuristiche che poco hanno a che fare con la realtà odierna, sia quando promettono sviluppi miracolosi, sia quando dipingono scenari distopici.

Siccome se ne parla sempre di più, sempre più persone senza competenza tecnica e senza una vera comprensione di queste tecnologie prendono posizione sull’argomento, esprimendo opinioni e raccontando la loro versione distorta di qualcosa che non hanno gli strumenti per capire. Per tutelarvi dall’abbondante fuffa che circola ormai anche sulle testate di primo piano, vi propongo una brevissima spiegazione di cosa sia il Machine Learning, pensata e scritta per essere compresa anche da una giraffa, che, notoriamente, non è un animale molto bravo con la matematica e la statistica.

Una giraffa che cerca di comprendere una distribuzione gaussiana
Una giraffa che cerca di comprendere una distribuzione gaussiana

Partiamo facendo chiarezza sui termini e su come vengono utilizzati dai ricercatori e dai tecnici. Il più ampio è appunto quello di “Intelligenza Artificiale” che include diverse branche dell’informatica accomunate dalla risoluzione di problemi attraverso “comportamenti intelligenti”. Questo termine viene considerato molto confusionario e risulta difficile definire dove inizia e finisce: si tende ad evitarlo quando si fa riferimento a tecnologie concrete e ad utilizzarlo quando si fanno discorsi generali a persone che non sono del settore. Tra le varie tecniche che vengono incluse nella categoria ci sono tecniche basate sulla logica, tecniche statistiche, tecniche di analisi del linguaggio naturale, la computer vision e tanto altro. Tra queste sono anche inclusi alcuni rami morti della ricerca come l’emulazione del cervello umano, che molti giornalisti e scrittori credono sia ancora un obiettivo della ricerca ma che in realtà è considerato impraticabile da diversi decenni.

Uno degli ambiti attualmente più ampi e vivaci che ricadono sotto l’etichetta di “Intelligenza artificiale” è il cosiddetto Apprendimento Automatico o Machine Learning. Sotto questo termine ombrello ricadono come nel caso precedente un gran numero di tecniche e approcci differenti tra loro, accomunati però da una proprietà chiara: questi programmi imparano a risolvere problemi o a “capire” ciò che gli viene dato in pasto attraverso l’uso di esempi. Si chiama “apprendimento” non per caso. La conoscenza utilizzata non è più quindi quella umana trasferita nella macchina ma è appresa in maniera autonoma. Il ruolo dell’umano quindi è definire come il programma dovrà apprendere, gli esempi e le informazioni da cui dovrà apprendere e una volta che l’apprendimento sarà stato soddisfacente, utilizzare questa conoscenza per prendere decisioni, automatizzare attività che solitamente richiedono l’intervento umano, oppure semplicemente comunicare la conoscenza acquisita a chi ne necessita.

Un’acacia per attirare l’attenzione di chi tra voi è effettivamente una giraffa
Un’acacia per attirare l’attenzione di chi tra voi è effettivamente una giraffa

Come detto troviamo molta diversità all’interno del Machine Learning: si va da metodi puramente statistici a metodi che mescolano geometria analitica e algebra lineare, fino a cose più “particolari” come gli algoritmi genetici che, partendo da soluzioni casuali a dei problemi dati, le fanno evolvere attraverso i meccanismi dell’evoluzione biologica (selezione, mutazione, combinazione). Tra queste tecniche risalta in particolare il Deep Learning che in questi ultimi tempi ha collezionato un gran numero di risultati considerati impensabili fino a pochi anni fa.

Il Deep Learning ricade nell’ambito delle cosiddette “reti neurali”, chiamate in questo modo perché nelle loro primissime formulazioni, ad esempio il perceptrone di Pitts (formulato negli anni ‘40), volevano essere un modello matematico per riprodurre il comportamento del cervello umano dentro una macchina. Si è rivelato un approccio errato per quel fine ma, come spesso succede nella Scienza, da un ramo apparentemente morto sono fioriti tanti risultati strabilianti. Tutto questo per dire che, al contrario di quanto credano in tanti, le reti neurali non hanno nessuna pretesa di essere un “cervello in miniatura”, tanto che è in corso un dibattito all’interno della comunità scientifica per abbandonare il termine così da evitare di confondere il pubblico e i media.

Le reti neurali sono semplici matrici molto grandi e complesse ma niente più di un elenco di numeri particolarmente ben disposto e complicato a piacere che, insieme ad altre tecniche, può essere utilizzato da un programma per riconoscere un cane in una foto, per guidare una macchina, per inventarsi una storia o per battere il campione del mondo di Go. Quindi non preoccupatevi, l’Intelligenza Artificiale cosciente di sé stessa che prende iniziative e distrugge il mondo non verrà fuori dal Deep Learning così come dagli algoritmi genetici descritti prima non potrà venir fuori un opossum.

Un opossum arrabbiato con chi dice che il Machine Learning distruggerà il mondo
Un opossum arrabbiato con chi dice che il Machine Learning distruggerà il mondo

Fatta un po’ di chiarezza sui termini, vediamo di andare un po’ più in dettaglio su cosa possono fare tutte le tecniche di cui abbiamo parlato prima, portando un po’ di esempi concreti.

È pratica comune dividere gli algoritmi di Machine Learning in base ai problemi che risolvono. Tre delle principali categorie che il Machine Learning affronta sono:

Molte delle applicazioni basate sul Machine Learning di cui si sente parlare però non sembrano ricadere in categorie così semplici: con alcune funziona, come ad esempio i filtri anti-spam o la diagnosi di malattie a partire dalla cartella clinica. Con altre invece i conti non tornano: prendiamo ad esempio le auto che si guidano da sole, come la Google Car o le altre attualmente in sperimentazione. Guidare una macchina non è un solo problema, sono tanti problemi: osservare lo spazio circostante, decidere le traiettorie da seguire, decidere cosa fare in caso di pericolo, mantenere una guida fluida e così via. Quindi come funzionano questi sistemi? Funzionano mettendo insieme tante parti diverse, di cui solo alcune che utilizzano algoritmi di Machine Learning, e che vengono ingegnerizzate e messe insieme per compiere un’attività come la desidera l’umano. I singoli pezzi però sono volti a risolvere singoli problemi estremamente specifici: riconoscere un ostacolo, calcolare una traiettoria, valutare un percorso. All’esterno appare tutto come un unico sistema pensante che controlla la macchina, ma questa è un’illusione, una pareidolia, che non ha nessuna corrispondenza con il modo in cui funziona il sistema.

Lo stesso approccio viene usato in tanti sistemi di robotica, di automazione industriale o in sistemi complessi come Watson di IBM, in cui il “comportamento intelligente” non è legato alla complessità del Machine Learning usato bensì ad una progettazione umana a monte che permette di orchestrare il lavoro per svolgere un compito nella maniera desiderata.

In direzione opposta vanno invece esperimenti come quelli compiuti da DeepMind, azienda sussidiaria di Google che si occupa di ricerca sull’Intelligenza Artificiale. Loro, attraverso modelli di Deep Learning, cercano di risolvere problemi via via più complessi cercando di ridurre la componente di intelligenza umana che contribuisce al funzionamento del sistema. Un esempio è DQN che ha imparato a giocare a 50 giochi dell’Atari osservando lo schermo pixel per pixel e avendo come unica informazione a disposizione il punteggio attuale. L’uomo non funge da intermediario dando al sistema una nozione di “situazione” o di “mossa” ma lascia libero il sistema di apprendere direttamente dall’immagine che vede a schermo.

Spero con questo breve articolo di avervi fornito gli strumenti minimi necessari per interpretare gli eventi e le notizie, spesso distorte, gonfiate o strumentalizzate che vengono pubblicate su questi temi, ormai sempre più spesso anche nei media mainstream. Queste tecnologie saranno sempre più presenti, accessibili e pervasive non solo nel mondo digitale dove da sempre supportano i servizi che tutti utilizziamo, ma anche nel mondo reale. E come sempre succede saranno terreno di scontro politico e sociale, come già sta succedendo negli Stati Uniti, dove il dibattito sulle armi totalmente autonome è entrato prepotentemente nella discussione pubblica.

Ignorando l’aspetto tecnico della questione si rischia di esser facile preda di chi, per interesse, vuole instillare paura e diffidenza nel progresso, oppure di chi vuole sfruttare queste tecnologie a discapito dei cittadini che, se non informati, non hanno modo di cogliere potenziali pericoli e problemi. Vi invito quindi ad analizzare con spirito critico tutte le notizie che leggete in merito e a non fermarvi alle opinioni sputate dai commentatori che spesso, dal punto di vista di chi queste cose le ha studiate, non ne capiscono molto più del lettore a cui si rivolgono ma prendono comunque posizione in base a ciò che gli fa più comodo per sostenere le proprie argomentazioni, troppo spesso ideologiche e raramente fattuali.

Update: questo post è stato segnalato come eccellenza del giorno dalla Treccani per il progetto Premio Treccani Web. Link.

Update 2: la Treccani ha tirato giù tutto quindi il link è morto.