L’intelligenza artificiale è sempre stata una mia passione. Quando ho iniziato a scrivere i primi algoritmi ero ancora uno studente universitario. Il nostro professore di intelligenza artificiale ci assegnò come compito per l’esame la realizzazione di uno dei primi algoritmi di riconoscimento facciale. Io e i miei amici leggemmo un articolo scientifico che parlava di questo algoritmo e di una sua evoluzione e insieme a una compagna di corso, Alessandra, iniziammo a lavorare a questo piccolo progetto. Il nostro primo algoritmo si rivelò poco efficace: il volto di Alessandra veniva spesso riconosciuto come quello del professor Tascini, che in quel periodo aveva un evidente pizzo in volto.
Da quell’epoca abbiamo fatto grandi passi in avanti, se pensiamo che oggi sblocchiamo i nostri cellulari e autorizziamo i pagamenti grazie a sistemi di riconoscimento facciale che utilizzano dati biometrici.
Gran parte di questa evoluzione è legata a un aumento esponenziale della capacità computazionale, del numero di dati con cui vengono allenati gli algoritmi, della componente algoritmica che stiamo utilizzando. Questi tre fattori costituiscono i principali elementi di interesse di questo scenario e sono anche tre motivi cardine per cui oggi possiamo raggiungere risultati molto efficienti ed efficaci nell’ambito dell’intelligenza artificiale.
Ottimismo e consapevolezza
Per scoprire le origini di questo mondo dobbiamo tornare indietro al 1956, quando alla conferenza di Dortmund, discutendo della possibilità di costruire macchine che potessero imitare l’intelligenza umana, venne usata per la prima volta l’espressione “intelligenza artificiale”.
Sin dall’inizio un certo ottimismo si mescolava alla paura: sentimenti contrastanti che si possono cogliere in due domande che allora venivano poste alla comunità scientifica.
La prima era: quando il campione del mondo di scacchi Kasparov sarebbe stato battuto dal computer – o, come diremmo oggi, da un algoritmo? All’epoca, quando i computer in circolazione erano ben pochi, si pensava che la storica vittoria del computer sarebbe avvenuta nel 1968. In realtà abbiamo dovuto attendere il 10 febbraio 1996, quando in un centro congressi di Philadelphia, per la prima volta, il computer Deep Blue ha battuto il campione russo.
Il secondo interrogativo era: quando il computer sarebbe stato in grado di fare tutto ciò che sa fare l’uomo? Si stimava all’epoca che questo risultato sarebbe stato raggiunto nell’arco di vent’anni. Ma la previsione è stata smentita e ancora oggi tanti ricercatori, di fronte a questa domanda, continuano a dare la stessa risposta.
In realtà, che il computer sappia fare tutto ciò che è in grado di fare l’uomo vuol dire parlare di intelligenza artificiale generale. Da una parte, è il sogno di ogni scienziato; dall’altra, è la grande paura che in questo momento sta dilagando. In realtà, l’intelligenza artificiale è ancora molto lontana dal saper fare tutto ciò che sa fare l’uomo. Il ragionamento, la grande capacità di generalizzazione che noi abbiamo sono molto difficili da riprodurre nelle macchine: gli esseri umani sono in grado di dedurre da pochi esempi, mentre ancora oggi i nostri algoritmi, sia quelli di deep learning sia quelli generativi, hanno bisogno di tantissimi dati a disposi-
zione per poter estrarre informazioni.
L’intelligenza artificiale, o meglio l’intelligenza artificiale ristretta, è in grado di eseguire bene, a volte con risultati migliori di quelli dell’uomo, alcune operazioni, le cosiddette superhuman capabilities: si tratta di abilità legate a dei task precisi e nelle quali il computer eccelle, ma solo in un determinato ambito e senza la capacità di generalizzare.
Una rete neurale, per esempio, sa riconoscere benissimo un neo benigno o maligno della pelle, perché è stata addestrata su grandissimi set di dati; tuttavia, non possiamo utilizzare lo stesso apprendimento e la medesima rete allenata per riconoscere parti cancerogene del nostro intestino, perché sono due problemi molto diversi e in questi scenari non è quasi mai possibile generalizzare.
La scarsa capacità di generalizzare costituisce oggi uno dei grandi limiti di molti degli approcci dell’AI. È una delle barriere che più di frequente ostacolano i processi di adozione di soluzioni di intelligenza artificiale nel mondo delle imprese e degli enti: a volte, è troppo dispendioso ricominciare da capo con nuovi processi di apprendimento per ogni nuovo sottoproblema da affrontare, o disporre di dataset che possiedano il necessario grado di variabilità e di rappresentatività dei dati per supportare algoritmi di deep learning in grado di effettuare generalizzazioni su una particolare famiglia di problemi.
Dataset e apprendimento
Il nostro percorso passa attraverso la comprensione dei principali aspetti tecnici che spiegano il funzionamento dei moderni metodi di intelligenza artificiale e dalla conoscenza di alcuni termini specifici utilizzati in questa disciplina.
L’apprendimento supervisionato è l’approccio più comune e di più lunga data nell’ambito dell’apprendimento automatico, il cosiddetto machine learning. Prevede l’utilizzo di un dataset (cioè di un grandissimo insieme di dati) di addestramento, contenente un elevato numero di esempi codificati e accuratamente etichettati da supervisori umani (di qui la definizione di “apprendimento supervisionato”). Ogni esempio è un’istanza composta da un input, un’immagine, un testo o un insieme di valori numerici e la rispettiva risposta, etichetta o annotazione desiderata, fornita dal supervisore.
Il sistema di apprendimento automatico analizza questi esempi etichettati e impara a riconoscere i pattern che legano gli input alle risposte corrette. Attraverso tecniche come le reti neurali o altri modelli di machine learning, il sistema “costruisce” un modello in grado di mappare nuovi input non visti in precedenza, assegnando loro le corrette risposte o etichette.
L’apprendimento supervisionato richiede quindi notevoli sforzi di etichettatura manuale dei dati. Tuttavia, una volta addestrato, il sistema diventa molto efficace nel fornire risposte accurate su nuovi dati non ancora etichettati. Esempi pratici di apprendimento supervisionato includono il riconoscimento di immagini, la traduzione automatica, la classificazione di testi e la previsione di risultati numerici.
A differenza dell’approccio supervisionato, l’apprendimento non supervisionato non richiede dati etichettati da supervisori umani. Il sistema riceve solo input grezzi, non etichettati, come immagini, dati di sensori o altri dati strutturati e non strutturati. L’obiettivo è far emergere autonomamente pattern, regolarità, gruppi o strutture nascoste nei dati, senza una “verità” predefinita.
I tipici metodi di apprendimento non supervisionato includono il clustering, che ha lo scopo di raggruppare istanze simili, la riduzione della dimensionalità dei dati per ottenere rappresentazioni compatte di problemi complessi e l’apprendimento di distribuzioni o densità probabilistiche nei dati. Queste tecniche consentono di scoprire correlazioni, anomalie e insight dai dati che potrebbero non essere intuibili o prevedibili in anticipo.