Sono state date tante definizioni di Intelligenza Artificiale (IA) da quando l’espressione è stata coniata dal matematico americano John McCarthy nel 1956. C’è una definizione di IA che l’Unione Europea (UE) ha dato nell’EU AI Act: Un sistema basato su macchine progettato per operare con vari livelli di autonomia e che può mostrare capacità di adattamento dopo l’implementazione e che, per obiettivi espliciti o impliciti, deduce, dagli input che riceve, come generare output quali previsioni, contenuti, raccomandazioni o decisioni che possono influenzare ambienti fisici o virtuali. L’EU AI Act è un documento che ha l’obiettivo di evitare i rischi dell’IA senza limitarne il potenziale ed è un documento a cui tutti, soprattutto gli sviluppatori, dovranno attenersi.
Per decenni, nonostante lo sviluppo delle tecnologie informatiche sia stato continuo nel tempo, si è parlato di IA quasi esclusivamente in contesti accademici. Solo dall’inizio del nuovo millennio, in effetti dalla fine del primo decennio del 2000, l’interesse per l’IA è esploso, grazie alle numerose applicazioni di machine learning (apprendimento automatico) e in particolare di deep learning (apprendimento profondo), soprattutto quelle legate al riconoscimento delle immagini e della voce. Ma cos’è il machine learning?
Il machine learning è essenzialmente un insieme di metodi che hanno una caratteristica comune: opportunamente allenati con dati sono in grado di svolgere un particolare compito. Il deep learning utilizza una rete neurale con moltissimi strati (layers) e moltissimi nodi (anche chiamati neuroni). È dalla grande numerosità degli strati di una rete neurale che nasce l’espressione deep learning. È a questo tipo di strumenti che la definizione della UE fa riferimento. I metodi di machine learning si sono sviluppati e hanno trovato numerose applicazioni grazie alla disponibilità di enormi masse di dati, necessari per la fase di allenamento (training). In figura se ne può vedere una minuscola in cui, oltre agli strati di input (input layer) e di output (output layer), ci sono due strati interni, chiamati hidden layers. Le reti neurali utilizzate nelle applicazioni reali hanno migliaia di strati e milioni o anche miliardi di nodi.
Vediamo la logica del funzionamento del deep learning con un esempio di riconoscimento di immagini. Il compito è capire se all’interno di un’immagine c’è un albero. Lo strato di input serve per fornire alla rete un’immagine. Ogni nodo dello strato di input rappresenta un pixel dell’immagine (una fototessera ha oltre 160000 pixel). Lo strato di output ha due nodi, uno indica ‘sì, c’è l’albero’, l’altro ‘no, non c’è l’albero’. In ogni nodo c’è una funzione matematica che dipende da uno o più parametri. Nella fase di allenamento vengono fornite alla rete neurale migliaia e migliaia di immagini, una dopo l’altra. In alcune di queste immagini compare un albero e in altre no. Alla rete, quando diamo l’immagine, diciamo anche se l’albero c’è oppure no. I valori dei parametri delle funzioni nei nodi vengono, durante la fase di allenamento, immagine dopo immagine, modificati in modo che la rete neurale sbagli il meno possibile, cioè dica il più spesso possibile che l’albero c’è quando l’immagine contiene un albero e viceversa che non c’è quando l’immagine non contiene un albero. Al termine della fase di allenamento, la rete, se ben allenata, avrà scelto per le funzioni matematiche dei nodi i valori ‘giusti’ dei parametri. A quel punto potremo dare in input un’immagine qualsiasi, senza dire alla rete se l’immagine contiene un albero o no, e la rete ci dirà in output se contiene un albero.
Si sente spesso dire che una rete neurale riproduce il funzionamento del cervello umano. È un concetto che affascina ma che è lontano dalla realtà e rischia di innescare pensieri scorretti, ad esempio che stiamo progettando robot che pensano come gli umani. Nel nostro cervello non ci sono funzioni matematiche. Ogni metodo di machine learning è ‘semplicemente’ un algoritmo, una sequenza di operazioni, che implementate in un linguaggio di programmazione diventano un software.
Nell’ambito medico il potenziale dell’IA è enorme. Potremmo capire meglio, ad esempio, le cause di una malattia o l’efficacia di un farmaco se avessimo a disposizione le storie di un grande numero di pazienti. Attraverso l’IA potremo migliorare e arricchire il processo di diagnosi, trattamento e cura di un paziente, migliorando anche il rapporto fra medico e paziente.
Nell’IA ci sono però anche grandi rischi, come ad esempio quelli di discriminare o di generare immagini o notizie false o di usare in modo automatico strumenti che possono aiutare le persone ma non sostituirle. Così come presentano molti rischi altri strumenti di IA recentemente sviluppati, come ChatGPT, strumenti che appartengono a quella che si chiama IA generativa, di cui oggi tutti parlano. Nel prossimo futuro vedremo potenti e importanti applicazioni dell’IA e vedremo anche documenti, come l’EU AI Act, e norme che avranno l’obiettivo di evitarne i rischi.