Intelligenza artificiale

Se ne parla sempre, ovunque. E comunque non abbastanza, non nelle sedi giuste. E la gente ha le idee confuse. 

Oggi ormai anche il frullatore è interconnesso e gestito (dicono) dall’intelligenza artificiale, spesso abbreviata in IA, all’italiana, o in AI, all’inglese.

E se ne parla spesso a sproposito. 

In queste brevi note vorrei tentare di spiegare cos’è la IA e cosa non è.

(Quando ho iniziato a scrivere l’intenzione era di buttar giù poche idee sintetiche. Ma poi l’entusiamo mi ha preso la mano….)

Nel caso tragico dei recenti incidenti aerei che hanno visto coinvolti due aeromobili 737Max si è parlato di automatismi fuori controllo, di software troppo complessi, di sistemi che richiedono conoscenze informatiche di alto livello per essere pilotati. Si è scomodato persino il pres.Trump affermando che “Gli aerei di oggi sono troppo complessi. Non voglio che a guidarli sia Einstein“, perdendo ancora un’ottima occasione per stare zitto. 

Gli automatismi degli aerei non sono troppo complessi. Non si tratta di un unico software che governa tutto l’aereo, ma di tanti moduli separati, spesso fisicamente confinati in computer separati, ognuno per un compito specifico. 

E ognuno di questi computer facilita il lavoro del pilota, tanto che il numero dei membri di equipaggio in cabina è passato da quattro a due. Nei tempi andati, quando si doveva fare tutto a mano, oltre ai due piloti erano presenti in cabina, soprattutto sui grandi aerei nei voli transoceanici, l’ingegnere di volo ed il navigatore. I loro compiti sono stati adesso sostituiti da sistemi elettronici che gestiscono autonomamente i motori, il condizionamento, la navigazione. 

Questi sistemi automatici hanno una caratteristica precisa, non sono “intelligenti”, nel senso che svolgono un lavoro preciso in un modo prevedibile, matematico, logico. Si pensi ad esempio al sistema FADEC di controllo dei motori:

electronic engine control aircraft Best of Schematic of a jet engine Fadec control system

 

Il sistema si limita a ricevere dal pilota la richiesta di potenza dalla manetta. E pensa a tutto il resto, regolando i vari attuatori per ottenere la potenza richiesta. Ogni attuatore viene regolato in base ad una legge matematica, il comportamento del sistema è, in qualche modo, meccanico e totalmente prevedibile. L’intelligenza, in tutto questo, è rischiesta solo in fase di progettazione. Ma il sistema di controllo non è intelligente.

Forse dovremmo fermarci un attimo a tentar di definire cosa intendiamo per intelligenza.  Pensiamo al nostro cervello umano, simile a quello di tanti mammiferi. Nasciamo sostanzialmente incapaci di eseguire qualsiasi compito che non sia quello di succhiare il latte dalla mammella o dal biberon. Tutto il resto lo impariamo, seguendo l’esempio dei nostri genitori, accumulando informazioni. L’intelligenza consiste nel saper risolvere problemi in base all’esperienza accumulata. 

I sistemi di controllo automatico non fanno niente del genere, non accumulano informazioni. Si limitano ad applicare equazioni matematiche stabilite dal progettista. Per ottenere una certa potenza richiesta leggono i sensori di temperatura, pressione, velocità, applicano certe equazioni, regolano l’apertura e la chiusura di certe valvole. Punto. E, soprattutto, quando escono dalle linee di produzione hanno già nel loro software tutte le informazioni che servono, ossia tutta l’intelligenza del loro progettista. E, soprattutto, non fanno niente che il progettista non sappia fare. Magari lo fanno molto più velocemente, questo si. Un po’ come una calcolatrice, che sa fare gli stessi calcoli che sanno fare i progettisti. Solo che li fa molto più velocemente. 

Un passo avanti rispetto ai meccanismi “stupidi” di regolazione sono i sistemi ad autoapprendimento. Si pensi ad un regolatore di temperatura, il termostato di casa nostra. Il suo algoritmo è elementare: quando la temperatura è inferiore a quella desiderata, un relè accende la caldaia. Quando la temperatura sale e supera quella desiderata, los tesso relé spegne la caldaia. Questo è un meccanismo un po’ rudimentale, che crea un andamento ondulatorio della temperatura, un po’ sopra e un po’ sotto rispetto alla temperatura desiderata. A questo si aggiunga che quando il termostato spegne la caldaia, i termosifoni restano caldi per un po’, e continuano a scaldare l’ambiente ancora per un po’. Analogamente, quando il relè accende la caldaia, i termosifoni ci mettono un po’ di tempo prima di andare in temperatura. E quindi il riscaldamento interviene in ritardo, rispetto al necessario. Una “imperfezione” simile nelle nostre case non crea alcun danno, non importa a nessuno se la temperatura oscila di mezzo grado o di un grado. Ma nei processi industriali un simile errore è spesso inammissibile, servono regolatori molto più precisi. E’ possibile allora sfruttare le funzioni di “autoapprendimento”. Per fare questo si lancia il processo di autoapprendimento. Il regolatore effettua dei cicli di prova e memorizza la risposta del sistema. Potrà in questo modo calcolare l’inerzia termica, e aprire e chiudere in anticipo le valvole dell’acqua calda o fredda in modo da minimizzare le oscillazioni di temperatura in un range molto ristretto.  Possiamo parlare in questo caso di “intelligenza”? No, anche se i depliant pubblicitari li descrivono come “controllori intelligenti”. Anche in questo caso l’intelligenza è quella del progettista, che programma una sequenza di autoapprendimento molto rigida e molto prevedibile. Il regolatore esce di fabbrica già pronto ad effettuare il suo ciclo di autoapprendimento per calcolare i parametri di risposta del sistema. 

I sistemi di controllo che abbiamo visto fino ad ora, semplici o complessi che siano, seguono in ogni caso una logica del tipo IF-THEN-ELSE (in italiano SE-ALLORA-ALTRIMENTI). Vediamo il caso del termoregolatore semplice, la logica sarebbe questa:
IF (“temperatura attuale” minore di “temperatura desiderata”) THEN
        accendi la caldaia
ELSE
       spegni la caldaia

Anche il regolatore più furbo ragiona nello stesso modo, solo che impara a giocare d’anticipo.

Passiamo ora a sistemi che siano davvero intelligenti. Proviamo a definire cosa significa “davvero intelligenti”. Devono saper fare qualcosa che il progettista non sa fare, in un modo che il progettista non sa prevedere. Il primo esempio che mi viene in mente è AlphaGo, il software sviluppato da Google per giocare al gioco del Go, con la speranza di vincere i migliori campioni di questo gioco. Speranza rivelatasi fondata in quanto AlphaGo ha vinto per 5 a 0, nel 2015, contro il campione europeo Fan Hui e poi per 4 a 1, nel marzo 2016 contro il campione coreano Lee Sedol

Cosa rende speciale AlphaGo rispetto ai sistemi che abbiamo visto in precedenza? Il fatto che AlphaGo ha imparato letteralmente a giocare studiando migliaia di partite di Go giocate in precedenza dai grandi campioni. Nel software di AlphaGo non sono state inserite le regole del Go, non è stato creato un algoritmo del tipo IF-THEN-ELSE, non è stata inserita nessuna regola del tipo “se il tuo avversario gioca questa mossa, tu rispondi con quest’altra”. Tutto si è svolto “semplicemente” sottoponendo ad AlphaGo migliaia e migliaia di partite. Studiando le partite AlphaGo ha imparato a giocare, e a vincere. La cosa particolare, rispetto al passato, è che i progettisti di AlphaGo non sono in grado di prevedere quale sarà la prossima mossa giocata dal computer, perché non sono stati loro a progammare gli algoritmi. Loro si sono limitati a programmare un sistema in grado di imparare. Il resto l’ha fatto AlphaGo, da solo. E’ chiaro che AlphaGo è stato pensato, ottimizzato e addestrato proprio per quel tipo di compito. 

Messa in maniera molto rudimentale, una IA altro non è che un tentativo di replica della nostra struttura cerebrale, in cui reti neurali elettroniche cercano di simulare, in modo per ora piuttosto rozzo, le nostre sinapsi. 

Le reti neurali nascono vergini e vengono addestrate, con un meccanismo che si chiama Machine Learning e  Deep Learning. L’addestramento consiste nel mostrare alla IA le situazioni che deve imparare a riconoscere e gestire. Un esempio classico è quello dei riconoscimento di immagini. Alla IA vengono mostrate quantità immense di foto contententi ciò che la IA deve imparare a riconoscere. Nelle reti neurali si formano delle connessioni tanto che alla fine la IA è in grado di di riconoscere anche immagini che non ha mai visto, per analogia a quelle già viste. Se ad esempio addestriamo una IA mostrandogli migliaia di foto di cani di ogni tipo, questa sarà in grado di riconoscere un cane specifico anche se non è mai apparso in nessuna delle foto viste, per analogia. 

Il riconoscimento di immagini è una delle componenti fondamentali delle autovetture a guida autonoma. Un primo modulo software usa le telecamere dell’auto per riconoscere tutti gli oggetti che la circondano: auto, camion, ciclisti, pedoni, segnali stradali, marciapiedi, ostacoli.  In questo video si può vedere una Tesla che guida in modo autonomo. Nelle tre immagini sulla destra si vede l’immagine catturata dalle tre telecamere e l’elaborazione della AI che si occupa del riconoscimento automatico degli oggetti che potrebbero interferire con la guida. 
Un altro modulo software esamina gli oggetti riconosciuti dal primo modulo ed elabora le strategie necessarie per la guida. Entrambi i moduli sono applicazioni di AI, il primo orientato al riconoscimento di immagini, il secondo alla elaborazione delle strategie di guida. Il primo viene addestrato con migliaia di immagini. Il secondo viene invece addestrato facendo inizialmente da “passeggero” mentre guidano autisti umani. La IA “guarda” il comportamento dell’autista e impara. 

Un altro esempio di applicazione della IA è la gestione automatica delle attività ripetitive. La società LoopAI, americana ma fondata da un italiano, crea sistemi in grado di gestire dati strutturati (schedari, database) e non strutturati (foto, audio, moduli scritti a mano) e crea macchine in grado di sostituire l’uomo per fare quei compiti d’ufficio ripetitivi, quali ad esempio il processo per la liquidazione delle pratiche assicurative. La macchina studia tutte le pratiche passate, in cui impiegati analizzano documenti di ogni tipo per capire se una certa pratica assicurativa va liquidata o è una truffa. Dopo un certo tempo di addestramento (settimane) la macchina è in grado di liquidare in pochi minuti (18 minuti) il lavoro che viene normalmente fatto da esseri umani in due anni di lavoro. Questo video spiega molto bene il processo e le sue prospettive.

Un campo in cui la IA sta trovando grandi applicazioni è quello del supporto decisionale ai medici. Il sistema IBM Watson, in passato (2011) usato per giocare e vincere al gioco televisivo Jepoardy! (dal quale è stato tratto l’italiano Rischiatutto). Watson è un computer in grado di capire e rispondere usando il linguaggio naturale, al punto di capire le domande molto criptiche che vengono usate nel gioco Jeopardy!. Oggi Watson viene usato per compiti molto più seri che si spingono fino alla assistenza ai processi diagnostici dei medici. 

Uno dei campi in cui la IA è più utilizzata è il supporto all’analisi della diagnostica per immagini. Ancora una volta alla IA è stato dato in pasto un gran numero di immagini diagnostiche (ecografie, radiografie, TAC, RM) con le relative diagnosi espresse dai medici. Alla fine dell’addestramento la IA è stata in grado di continuare in autonomia, emettendo diagnosi a fronte di una serie di immagini del paziente. 

Tuttti questi sistemi non vanno (per il momento) a sostituire il medico. Sono invece intesi come un ausilio, un aiuto, un supporto. Sarà sempre (per il momento) il medico a confermare o correggere la diagnosi della IA.  Sistemi di questo tipo si stanno sperimentando ovunque nel mondo, anche a casa nostra, all’ospedale di Vimercate.

Il vero punto di svolta dei sistemi AI è che sono automatismi che iniziano in qualche modo ad agire fuori dal nostro strettissimo controllo. Come dicevo prima, i sistemi di automazione classici sono totalmente conosciuti e prevedibili. Conoscendo i dati di ingresso se ne conoscono le azioni di uscita, matematicamente. Quando un sistema di automazione non fa quel che ci si aspetta questo dipende esclusivamente da un errore di progettazione o da un guasto.

I sistemi IA invece si comportano grosso modo come un animale addestrato. Se anche l’addestramento è perfetto, se anche l’animale reagisce come ci aspettiamo, noi non sappiamo davvero cosa succede nella sua testa, non sappiamo esattamente quali sinapsi si attivano, quali circuiti intervengono. Conosciamo, grosso modo, il sistema nel suo complesso. Ma non sappiamo in che modo le informazioni di addestramento sono state metabolizzate. Come dire che non abbiamo la certezza matematica che ad un certo input corrisponda un certo output. 

Questa non è una cosa che ci deve spaventare, così come non ci spaventano il nostro cane o il nostro cavallo. Se li abbiamo addestrati bene abbiamo la ragionevole certezza di saper prevedere quali saranno le sue reazioni. Nel caso di una IA questa certezza è maggiore, perché non ci sono reazioni istintive che possano interferire. Un cane, un cavallo, possono spaventarsi, eccitarsi, adirarsi. E queste reazioni possono interferire con il comportamento atteso. Nel caso della IA queste reazioni semplicemente non esistono. 
Il vero problema è che l’addestramento potrebbe non essere sufficiente, e la IA potrebbe trovarsi in una situazione in qualche modo nuova, che potrebbe gestire in modo errato. Qualcuno forse ricorda l’incidente occorso ad una Tesla in cui il pilota automatico, gestito da una IA, confuse il colore chiaro di un rimorchio con il cielo, e andò a sbattere uccidendo il proprietario. 
C’è da dire che il proprietario aveva inserito la guida automatica e non aveva fatto il suo dovere di supervisione. Viene infatti chiaramente detto che le capacità di guida autonoma di una Tesla devono servire da supporto al guidatore, che deve comunque sempre restare vigile, pronto ad intervenire nel caso in cui l’autopilot dovesse prendere lucciole per lanterne. E’ la stessa cosa che fanno i piloti d’aereo, che attivano il pilota automatico ma non perdono mai di vista gli strumenti e controllano sempre che l’autopilota faccia il suo dovere. 

Questo è qualcosa che dovremmo sempre ricordare, prima di affidare le nostre vite ad una IA. La supervisione umana è insostituibile, proprio perché la IA non è un automatismo totalmente prevedibile. Potrebbe sempre sbagliare. Paradossalmente è proprio il tentativo di riprodurre nella IA alcuni meccanismi del ragionamento dei cervelli animali che rende il loro comportamento in parte imprevedibile. 
E’ per questo che si continua a sottolineare il fatto che i sistemi IA devono servire da supporto alle decisioni umane e non devono in alcun modo sostituirsi agli esseri umani. Una IA potrà essere diabolicamente abile a diagnosticare malattie partendo da sintomi, anamnesi e risultanze di laboratorio. Ma sarà sempre il medico a supervisionare il lavoro della IA e a esprimere il giudizio finale. Così, per lo meno, dovrebbe essere. 
Il rischio è ovvio, l’uomo potrebbe pigramente abituarsi a prendere per buone le decisioni delle IA. 

I rischi e le paure.

Siamo appena all’inizio di questa era, molto ma molto lontani da quella che viene definita AGI (Artificial General Intelligence), in italiano Intelligenza Artificiale Forte, ossia una IA che possa emulare il cervello umano occupandosi di qualsiasi compito con la stessa efficacia con cui oggi le IA “deboli” si occupano solo di compiti specifici. 

Questa prospettiva spaventa molti, perché ricorda da vicino il mito di Frankenstein, che si ribella al suo creatore. Forse, ancora prima, il mito di Prometeo che si ribella a Giove. La letteratura ed il cinema, soprattutto quelli di fantascienza, sono pieni di storie (vedi 2001 odissea nello spazio) in cui le IA, in varie forme, si ribellano ai loro creatori e fanno di tutto per distruggerli. 

Siamo ancora molto lontani da una vera AGI, posto che ci arriveremo mai.  Molto interessante a questo proposito è il libro Superintelligence di Nick Bostrom che riflette molto sulle possibilità e le possibili conseguenze dell’avvento di una AGI. Se ben ricordo lui dice “probabilmente non succederà, ma se dovesse succedere che una IA raggiunga il livello di AGI, correremmo il rischio non accorgercene fino a quando non sarà troppo tardi”. 

A mio parere, il vero rischio dell’avvento delle IA, anche di quelle “mediocri” dei nostri giorni, è che vadano pian piano ad occupare molti dei nostri posti di lavoro.  Gli ottimisti dicono che è sempre stato così, che l’uomo ha sempre avuto paura delle novità tecnologiche, fin dal tempo dei luddisti che nel XIX secolo sabotavano i primi telai meccanici. Ed è sempre successo che le novità tecnologiche (il vapore, l’elettricità, il motore a scoppio) finivano per dare un notevole impulso all’economia aumentando a dismisura i posti di lavoro. Dicono, gli ottimisti, che sarà lo stesso per l’automazione e per l’applicazione delle IA. 

I pessimisti, invece, pensano che l’automazione, soprattutto con l’avvento delle IA, potrà sostiture l’uomo in tutte le posizioni lavorative intermedie, lasciando liberi solo i lavori meno qualificati (pulizie, manovalanza) e quelli più qualificati (management, ricerca scientifica). E’ facile vedere come, in effetti, le fabbriche oggi siano sempre più diventando “black factories” ossia “fabbriche a luci spente” in cui macchinari completamente automatici provvederanno alla produzione dei nostri beni di consumo e in cui la presenza degli umani sarà marginale. 
Nel settore impiegatizio succederà lo stesso, mille forme di IA provvederanno a sostituire man mano l’uomo nelle operazioni d’ufficio più ripetitive. Pochi esseri umani basteranno a sovraintendere e controllare il lavoro di pochi potenti computer in cui una IA farà in pochi minuti il lavoro che prima richiedeva migliaia di ore umane.  

Non so dire se abbiano ragione gli ottimisti o i pessimisti. So solo che un tema del genere dovrebbe essere al centro delle discussioni politiche attuali. Invece pare sia ancora ai margini, relegato in congressi specialistici.