I block-notes: L’intelligenza artificiale in breve

Share on facebook
Share on twitter
Share on linkedin
  1. Che cos’è?

L’Intelligenza artificiale è al centro di una nuova rivoluzione con un forte impatto sull’economia e sull’organizzazione del lavoro. Il McKinsey Global Institute prevede che, entro il 2030, l’Intelligenza artificiale produrrà un aumento del 16% del prodotto interno lordo mondiale e che il 70% delle aziende adotterà una tecnologia basata su sistemi intelligenti. Alla base di questa rivoluzione c’è un particolare settore dell’Ia: il machine learning: ispirandosi al processo di apprendimento umano che inferisce nuove conoscenze a partire da precedenti esperienze, i sistemi intelligenti non sono esplicitamente programmati ma vengono addestrati attraverso degli esempi che poi il sistema è in grado di generalizzare. Questo approccio è particolarmente utile quando si tratta di compiti complessi che sono difficili da tradurre in una serie di istruzioni precise e regole predeterminate. Il suo successo è testimoniato dalla diffusione nella vita quotidiana di assistenti vocali come Alexa o Siri, di sistemi avanzati di supporto alla guida come quelli in dotazione sulle auto Tesla e di interfacce di traduzione automatica come Google translate.

  1. Le sfide da superare

Oltre a fornire grandi opportunità, la diffusione dell’Intelligenza artificiale pone nuove sfide come, ad esempio, i problemi etici legati all’equità (fairness) degli algoritmi di machine learning. Infatti, nonostante l’apparente oggettività della teoria, la selezione degli esempi di training e il design degli algoritmi sono fatti dagli esseri umani e possono essere fortemente distorti, invalidando l’output finale. Ad esempio, è stato dimostrato che alcuni algoritmi commerciali per il riconoscimento facciale hanno un’accuratezza minore sulle donne di colore rispetto agli uomini di pelle chiara perché sono stati sviluppati in modo inadeguato.

  1. Come funziona un algoritmo di apprendimento

Il caso più semplice è quello dell’apprendimento supervisionato, in cui a un sistema viene fornita una famiglia di coppie input-output (x1 ,y1 ),…, (xn ,yn ), detta training set. L’obiettivo è di trovare una funzione f tale che, dato un nuovo input x, il valore f(x) sia una buona stima del corretto output y. Tipicamente, l’input è un vettore d-dimensionale x=(x1 ,…,xd ), mentre l’output è un numero reale. Le componenti x1 ,…,xd possono ad esempio rappresentare i livelli di grigio dei pixel di un’immagine in bianco e nero, mentre l’output y codifica l’etichetta che descrive il contenuto semantico dell’immagine. Un algoritmo di apprendimento è una procedura che seleziona la migliore funzione f in un insieme H di modelli. La scelta dell’insieme H è cruciale per garantire la performance dei sistemi intelligenti. Un esempio classico è quello dei modelli lineari in cui H è l’insieme delle funzioni affini, cioè della forma f(x)=w1 x1 +…+wd xd + b, dove w1 ,…wd , b sono i parametri da determinare. Un altro esempio sono le reti neurali che, nella loro forma più semplice (un singolo strato, con k unità nascoste), sono funzioni della forma: f(x)=v1 h(w11  x1  +…+w1d  xd + b1 )+ … +vk h(wk1  x1  +…+wd  xd + bk )+b0 , dove h è una funzione non-lineare, detta funzione di attivazione, come ad esempio la ReLU (Rectified Linear Unit) definita come h(t)=t se t è positivo e h(t)=0 se t è negativo. In generale, l’algoritmo sceglie la soluzione, tra tutti gli elementi di H, in base a due criteri. Il primo, per minimizzare l’errore, garantisce che la soluzione approssimi in modo adeguato i dati di training ed è della forma: l((f(x1 ),y1 )+…+l((f(xn ),yn ) dove l((f(x),y) misura quanto sbaglia il valore f(x) quando l’etichetta corretta è y. Ad esempio, una scelta canonica per l((f(x),y) è quella quadratica (f(x)-y)2. Il secondo criterio pone ulteriori vincoli sulla classe di soluzioni possibili. In molti casi è individuato sulla base di informazioni a priori (inductive bias): ad esempio, nei modelli lineari, si può scegliere di promuovere le soluzioni i cui parametri w1 ,…,wd siano piccoli.

  1. Nelle applicazioni

Nelle moderne applicazioni, il numero n di esempi di training e la dimensione d del vettore x sono in generale estremamente grandi. Ad esempio, il data-base Imagenet (utilizzato spesso per allenare le reti neurali) contiene oltre un milione di immagini, ciascuna delle quali è descritta da un vettore con più di 1500 componenti. È quindi necessario avere efficienti tecniche di ottimizzazione per trovare la migliore soluzione in H. Nella maggior parte delle applicazioni, questi metodi richiedono enormi risorse computazionali che sono disponibili solo in pochi centri di ricerca e hanno un forte impatto ambientale. Da questo punto di vista, la sostenibilità delle tecniche di machine learning è un’altra delle sfide dei prossimi anni: non basta l’avanzamento tecnologico, ma è necessario che la matematica e l’informatica si integrino per sviluppare algoritmi di apprendimento efficienti in termini sia di accuratezza statistica sia di risorse energetiche, di memoria e di tempo.