Come si misura l'intelligenza (artificiale)

  • Di
  • 2021-11-18 - 13 minuti
banner

Spesso, quando si parla di intelligenza artificiale, oppure quando si lavora utilizzando tecniche di machine learning, ci si chiede come si faccia a stimare la bontà di una soluzione: quando posso veramente dirmi soddisfatta del risultato? Quando un sistema è in grado di essere classificato come intelligente?

Anche gli stessi esseri umani spesso confondono le capacità mnemoniche con l’intelligenza: ricordare le poesie a memoria oppure sapere come risolvere un’equazione differenziale in meno di un minuto, non sono sinonimo di intelligenza.

O meglio: l’intelligenza non si riduce a questo, ed è il motivo per cui con questi esempi, scambiare un sistema -o un computer- per intelligente può essere molto facile.

La realtà è ben diversa: vediamo quindi come si misura l’intelligenza artificiale in questo articolo, analizzando alcuni degli aspetti che ci permettono di stimarne le reali capacità.

Intro

Nel 2016, Lee Se-dol, il campione sudcoreano di Go che ha perso in uno storico match contro l’algoritmo di intelligenza artificiale AlphaGo di DeepMind, dichiarando il suo ritiro dal gioco professionale.

Quello stesso giorno ha commentato dicendo “con il debutto dell’IA nei giochi Go, mi sono reso conto di non essere al top anche se divento il numero uno attraverso sforzi frenetici”, ha detto Lee all’agenzia di stampa Yonhap. " Anche se divento il numero uno, c’è un avversario che non può essere sconfitto."

Com’era prevedibile, i commenti di Se-dol hanno fatto rapidamente il giro di importanti pubblicazioni tecnologiche, alcune delle quali utilizzando titoli sensazionali riportando presunti spunti sul tema della dominanza dell’IA.

Sin dagli albori dell’IA, i giochi sono stati uno dei principali fattori di valutazione che permetesse la stima dell’efficienza degli algoritmi, e grazie ai progressi nel mondo del deep learning e dell’apprendimento per rinforzo, i ricercatori di intelligenza artificiale stanno creando programmi in grado di padroneggiare giochi molto complicati e battere i giocatori più esperti in tutto il mondo.

Purtroppo, molti giornalisti e analisti disinformati hanno raccolto questi successi per suggerire che l’IA stia diventando più intelligente degli esseri umani, rischiando a breve di ritrovarci dominati da questa entità superiore.

Allo stesso tempo, l’IA contemporanea fallisce miseramente in alcune delle attività più basilari che ogni essere umano può eseguire, come possono essere scegliere un tragitto che non sia passare su delle strade dissestate in mezzo alle campagne pur di farci risparmiare 2 minuti e 300 metri sul percorso verso la destinazione selezionata.

Questo fa sorgere la domanda: padroneggiare un gioco prova qualcosa? E se no, come si può misurare il livello di intelligenza di un sistema AI?

Prendi il seguente esempio. Nell’immagine qui sotto, ti vengono presentati cinque problemi e la loro soluzione. C’è anche un sesto compito che non è stato risolto. Riuscite a indovinare la soluzione?

Puzzle logico Puzzle logico

Probabilmente penserai che è molto facile (o molto difficile, dipende!) e sarai anche in grado di risolvere diverse varianti dello stesso problema con più combinazioni e diverse forme o colori, semplicemente vedendo questi esempi.

Al momento, però, non esiste un sistema di intelligenza artificiale, compresi quelli sviluppati nei laboratori di ricerca più prestigiosi, che possa imparare a risolvere un problema del genere con così pochi esempi.

L’esempio sopra è molto simile ad alcuni presenti nell’articolo " The Measure of Intelligence “, scritto da François Chollet, il creatore della libreria di deep learning di Keras. Chollet ha pubblicato questo articolo poche settimane prima che Le-sedol dichiarasse il suo ritiro, parlando proprio di come definire molte linee guida importanti sulla comprensione e la misurazione dell’intelligenza.

Per questo, analizziamo alcuni degli aspetti di questo articolo, per vedere in che modo è possibile analizzare e stimare le reali capacità dell’IA.

Cosa c’è di sbagliato nell’attuale IA?

“La comunità dell’IA contemporanea gravita ancora verso il benchmarking dell’intelligenza confrontando l’abilità esibita da sistemi di IA e esseri umani in compiti specifici, come giochi da tavolo e videogiochi”, scrive Chollet, aggiungendo che misurare solo le abilità in un dato compito non è sufficiente misurare l’intelligenza.

Pensare che l’intelligenza sia sinonimo di capacità logiche o matematiche è totalmente erroneo: esistono diverse teorie, tra cui quella elaborata da Gardner, che parla proprio di diverse tipologie di intelligenza. Con il presupposto originale, invece, il lavoro nell’IA si è allontanato dalla visione originale di sviluppare “macchine pensanti” che possiedono un’intelligenza paragonabile a quella degli umani.

“Anche se siamo in grado di progettare sistemi che si comportano estremamente bene su compiti specifici, ci sono ancora forti limiti, essendo fragili, affamati di dati, incapaci di dare un senso a situazioni che si discostano leggermente dai loro dati di addestramento o dalle ipotesi dei loro creatori, e incapaci di riutilizzare sé stessi per affrontare nuovi compiti senza un coinvolgimento significativo da parte dei ricercatori umani”, osserva Chollet nel documento.

Le osservazioni di Chollet sono in linea con quelle fatte da altri scienziati sui limiti e le sfide dei sistemi di apprendimento profondo . Queste limitazioni si manifestano in molti modi:

  • Modelli di intelligenza artificiale che necessitano di milioni di esempi per eseguire le attività più semplici;
  • Sistemi di intelligenza artificiale che falliscono non appena si trovano davanti a casi limite, situazioni che esulano dai loro esempi di addestramento;
  • Reti neurali che sono inclini a esempi contraddittori o piccole perturbazioni nei dati di input che fanno sì che l’IA si comporti in modo irregolare.

Ecco un esempio: le reti neurali che giocano a Dota di OpenAI hanno avuto bisogno dell’equivalente di 45.000 anni di gioco per raggiungere un livello professionale; infatti, l’IA è anche limitata nel numero di personaggi che può giocare e la minima modifica alle regole del gioco si tradurrà in un improvviso calo delle sue prestazioni.

Lo stesso si può vedere in altri campi, come nel celebre caso delle auto a guida autonoma. Nonostante milioni di ore di esperienza su strada, gli algoritmi di intelligenza artificiale che alimentano i veicoli autonomi possono commettere errori stupidi, come schiantarsi contro i guardrail o i camion dei pompieri parcheggiati.

Cos’è l’intelligenza

Una delle sfide chiave con cui la comunità dell’IA ha dovuto lottare è definire l’intelligenza. Gli scienziati hanno discusso per decenni sulla possibilità di fornire una definizione chiara che ci permetta di valutare i sistemi di intelligenza artificiale e determinare cosa sia intelligente o meno.

Chollet prende in prestito la definizione del cofondatore di DeepMind Shane Legg e dello scienziato di intelligenza artificiale Marcus Hutter: “L’intelligenza misura la capacità di un agente di raggiungere obiettivi in un’ampia gamma di ambienti”.

La chiave qui è “raggiungere obiettivi” e “ampia gamma di ambienti”: la maggior parte degli attuali sistemi di intelligenza artificiale è piuttosto adatta nella prima parte, che consiste nel raggiungere obiettivi molto specifici, ma non riesce a farlo in una vasta gamma di ambienti.

Ad esempio, un sistema di intelligenza artificiale in grado di rilevare e classificare gli oggetti nelle immagini sarà bravissimo nel distinguere una persona da un gatto, ma non sarà in grado di eseguire altre attività correlate, come disegnare un cane o un gatto.

Per spiegare questo concetto, Chollet esamina quindi i due approcci dominanti nella creazione di sistemi di intelligenza: AI simbolica e apprendimento automatico.

AI simbolica vs machine learning

Le prime generazioni di ricerca sull’intelligenza artificiale si sono concentrate sull’intelligenza artificiale simbolica, che prevede la creazione di una r_appresentazione esplicita della conoscenza_ e del comportamento nei programmi per computer. Questo approccio richiede agli ingegneri umani di scrivere meticolosamente le regole che definiscono il comportamento di un agente AI.

Il problema era che all’epoca si pensava fosse possibile descrivere e definire le abilità umane in regole formali dominate dalla logica, costruendo una sorta di conoscenza umana tramite delle apposite banche dati.

Ma, piuttosto che essere intelligenti di per sé, questi sistemi simbolici di intelligenza artificiale manifestano l’intelligenza dei loro creatori nell’utilizzo di programmi -spesso- complicati in grado di risolvere compiti specifici.

Il secondo approccio, ossia i sistemi basati sull’apprendimento automatico , si basa sul fornire al modello i dati del problema per far sì e lasciarlo sviluppare il proprio comportamento. La struttura di apprendimento automatico di maggior successo finora sono le reti neurali artificiali, che sono funzioni matematiche abbastanza complesse in grado di individuare dei modelli tra input e output.

Ad esempio, invece di codificare manualmente le regole per rilevare il cancro nelle risonanze, si può utilizzare una rete neurale con molte risonanze fornite in input e -eventualmente- annotate con i relativi risultati, un processo chiamato “addestramento”.

In questo caso, il cervello costituito dalla rete neurale, esamina i dati e sviluppa un modello matematico che rappresenta i tratti comuni dei modelli di cancro. Può quindi elaborare nuove radiografie e visualizzare la probabilità che i pazienti abbiano il cancro (disclaimer: si tratta di un’estrema semplificazione di un caso d’uso, la realizzazione è più complessa!).

I progressi nelle reti neurali e nell’apprendimento profondo hanno consentito agli scienziati di intelligenza artificiale di affrontare molti compiti che in precedenza erano molto difficili o impossibili con l’IA “tradizionale”, come attività di elaborazione del linguaggio naturale, la visione artificiale e il riconoscimento di immagini.

In questo senso, Chollet rifiuta entrambi gli approcci raccontati finora, perché nessuno di loro è stato finora in grado di creare un’IA generalizzata flessibile e fluida come la mente umana.

Vediamo il mondo attraverso la lente degli strumenti con cui abbiamo più familiarità. Oggi, è sempre più evidente che entrambe queste visioni della natura dell’intelligenza umana, che si tratti di una raccolta di programmi basati su una conoscenza di base o di una Tabula Rasa generica, sono probabilmente errate", scrive.

I sistemi veramente intelligenti dovrebbero essere in grado di sviluppare competenze di livello superiore che possono estendersi a molte attività. Sfortunatamente, il meglio che gli attuali sistemi di intelligenza artificiale ottengono è la “generalizzazione locale”, una stanza di manovra limitata all’interno del loro ristretto dominio.

Generalizzazione

Nel suo articolo, Chollet sostiene che la “generalizzazione” o il “potere di generalizzazione” per qualsiasi sistema di intelligenza artificiale è la sua “capacità di gestire situazioni (o compiti) che differiscono dalle situazioni incontrate in precedenza”.

È interessante notare che questo è un componente mancante dell’intelligenza artificiale sia simbolica che connessionista. Il primo richiede agli ingegneri di definire esplicitamente il suo confine comportamentale (fin dove sono in grado di arrivare? Quali sono i problemi che non posso risolvere con il mio sistema?) e il secondo richiede esempi che delineano il suo dominio di risoluzione dei problemi.

Chollet va anche oltre e parla di “generalizzazione consapevole dello sviluppatore”, che è la capacità di un sistema di intelligenza artificiale di gestire situazioni che “né il sistema né lo sviluppatore del sistema hanno incontrato prima”.

Questo è il tipo di flessibilità che ti aspetteresti da un maggiordomo-robot che potrebbe svolgere varie faccende all’interno di una casa senza avere istruzioni esplicite o dati di formazione su di esse. Un esempio è il famoso test del caffè di Steve Wozniak, in cui un robot entrava in una casa mai vista prima e preparava il caffè senza conoscere in anticipo la disposizione della casa o gli elettrodomestici in essa contenuti.

Sembra un qualcosa relativamente banale per un essere umano, no? Per un sistema, è qualcosa di impossibile.

Altrove nel documento, Chollet chiarisce che i sistemi di intelligenza artificiale che riescono nel loro obiettivo sfruttando l’esperienza acquisita in precedenza (tramite regole) e una base dati non sono intelligenti.

Un esempio basato sulla rete neurale è AlphaZero , l’IA multiuso che è in grado di portare avanti una partita in diversi giochi da tavolo sfruttando milioni di partite per comprendere il gioco e come vincere.

Questo approccio funziona però facendo uso di risorse che vanno oltre le capacità della mente umana: l’essere umano più brillante non può memorizzare decine di migliaia di regole degli scacchi. Allo stesso modo, nessun essere umano può giocare milioni di partite a scacchi in una vita.

Risolvere qualsiasi compito con prestazioni al di là del livello umano sfruttando precedenti illimitati o dati illimitati non ci avvicina all’IA ampia o all’IA generale, indipendentemente dal fatto che il compito sia scacchi, calcio o qualsiasi e-sport”, osserva Chollet.

Questo è il motivo per cui è totalmente sbagliato confrontare Deep Blue, Alpha Zero, AlphaStar o qualsiasi altra IA di gioco con l’intelligenza umana.

Come misurare l’intelligenza

Nel suo articolo, Chollet presenta l’Abstraction Reasoning Corpus (ARC), un dataset destinato a valutare l’efficienza dei sistemi di intelligenza artificiale e confrontare le loro prestazioni con quelle dell’intelligenza umana. ARC è un insieme di problemi da risolvere su misura sia per l’intelligenza artificiale che per gli esseri umani.

Una delle idee chiave alla base di ARC è livellare il terreno di gioco tra umani e sistemi di intelligenza artificiale per fornire un terreno dove entrambi gli attori siano sullo stesso piano: è infatti progettato in modo che gli umani non possano sfruttare la loro vasta conoscenza di base del mondo per superare in astuzia l’intelligenza artificiale.

Ad esempio, non comporta problemi relativi alla lingua, con i quali i sistemi di intelligenza artificiale hanno storicamente lottato; d’altra parte, è anche progettato in modo da impedire all’IA (e ai suoi sviluppatori) di barare e sfruttare l’accesso a grandi quantità di dati o modelli da cui attingere le informazioni necessarie.

In questo caso, gli sviluppatori di sistemi dotati di IA devono costruire qualcosa in grado di gestire vari concetti come la coerenza di un oggetto, la persistenza dell’oggetto e delle azioni sull’oggetto, imparando a eseguire attività come cambiarne le dimensioni, disegnare qualcosa di simile, ruotarlo o colorarlo, riempiendo gli spazi.

Esempio di attività da risolvere tramite l’ARC Esempio di attività da risolvere tramite l’ARC

Inoltre, il set di dati di test, i problemi che hanno lo scopo di valutare l’intelligenza del sistema sviluppato, sono progettati in modo tale da impedire agli sviluppatori di risolvere i compiti in anticipo e di codificare la loro soluzione nel programma.

Secondo Chollet, “ARC valuta solo una forma generale di intelligenza fluida, con particolare attenzione al ragionamento e all’astrazione”. Ciò significa che il test favorisce la “sintesi del programma”, il sottocampo dell’intelligenza artificiale che implica la generazione di programmi che soddisfano le specifiche di alto livello.

Esempio di task da risolvere: colorare tutti gli spazi interni alla figura di giallo Esempio di task da risolvere: colorare tutti gli spazi interni alla figura di giallo

Questo approccio è in contrasto con le tendenze attuali nell’IA, che sono inclini a creare programmi ottimizzati per un insieme limitato di attività, come ad esempio, saper vincere una partita ad un determinato gioco.

Conclusioni

Nei suoi esperimenti con ARC, Chollet ha scoperto che gli esseri umani possono risolvere completamente i test ARC, mentre sembra che ARC sia fuori dalla portata degli attuali sistemi di intelligenza artificiale, che anche utilizzando eventualmente tecniche di Deep Learning, tendono a generalizzare un’attività che non è possibile astrarre completamente.

Attualmente è infatti aperta (ancora per poco) una competizione su Kaggle, con in palio 20.000 dollari (divisi per i diversi livelli del podio): molti team hanno partecipato con entusiasmo alla challenge, ottenendo tra i punteggi massimi la risoluzione del 20% del dataset proposto; c’è da dire che Chollet non pensava di arrivare a questa soglia.

Messaggio di Chollet che ringrazia i partecipanti alla challenge Messaggio di Chollet che ringrazia i partecipanti alla challenge

Sebbene l’ARC sia un lavoro in corso, può diventare un punto di riferimento promettente per testare il livello di progresso verso l’IA a livello umano.

Ipotizziamo che l’esistenza di un sistema in grado di risolvere le attività proposte all’interno dell’ARC: questo rappresenterebbe la capacità di programmare un’intelligenza artificiale tramite dei singoli esempi su attività completamente diverse per svolgere una vasta gamma di attività, cosa che normalmente richiederebbe un’intelligenza fluida, simile a quella umana”, osserva Chollet.

Considerato il tipo di competenze necessarie per la risoluzione di queste problematiche e i risultati ottenuti finora, possiamo convenire che la tecnologia ha fatto dei passi da gigante e che i sistemi di intelligenza artificiale hanno imparato a risolvere dei compiti piuttosto difficili.

Chiederci però come si misura l’intelligenza artificiale è però una domanda difficile a cui rispondere, perché significa tenere in conto di tutte le capacità umane che maturiamo con l’esperienza, circondati continuamente da stimoli che coinvolgono lo spazio, riferimenti temporali, 5 diversi sensi e via dicendo…

Ergo, tranquill*: nessun sistema di intelligenza artificiale potrà (al momento) prendere il posto di un essere umano quanto a intelligenza!

Post correlati

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source
Logo di NgRome
Logo de La Locanda del Tech
Logo di Tomorrow Devs
Logo di Coderful

Non perderti gli ultimi aggiornamenti, iscriviti a TheRedCode Digest!

La tecnologia corre, e tu devi correre più veloce per rimanere sempre sul pezzo! 🚀

Riceverai una volta al mese (o anche meno) con codici sconto per partecipare agli eventi del settore, quiz per vincere dei gadget e i recap degli articoli più interessanti pubblicati sul blog

Ci sto!

#TheRedComics

Edizione di Novembre

A cura di Sophie Aiello, copy di Chiara Romano

Fumetto di agosto di Sophie Aiello

Vuoi diventare #tech content creator? 🖊️

Se vuoi raccontare la tua sul mondo #tech con dei post a tema o vuoi condividere la tua esperienza con la community, sei nel posto giusto! 😉

Manda una mail a collaborazioni[at]theredcode.it con la tua proposta e diventa la prossima penna del blog!

Ma sì, facciamolo!