Ultimo aggiornamento: 2021/11/12 1:40.
Vado subito al sodo per chi ha fretta. Faccio tre asserzioni-scommessa:
-
Il machine learning è semplicemente un riconoscimento di schemi (pattern recognition) e non costituisce “intelligenza” in alcun senso significativo della
parola.
-
Il riconoscimento di schemi fallisce in maniera profondamente non umana e in
situazioni che un umano invece sa riconoscere in maniera assolutamente
banale. Questo rende difficilissimo prevedere e gestire i fallimenti del
machine learning e quindi rende pericolosa la collaborazione umano-macchina.
-
Qualunque sistema di guida autonoma o assistita basato esclusivamente sul
riconoscimento degli schemi è destinato a fallire in maniera imbarazzante e
potenzialmente catastrofica.
Sono asserzioni molto forti, e le faccio sapendo di non essere un esperto di
questi settori ma semplicemente un loro osservatore con un pizzico di
esperienza personale: se vi fidate di me, lo fate a vostro rischio e pericolo,
e sono disposto a cambiare idea di fronte a smentite documentate (e francamente sarei contento di perdere questa scommessa). Però temo
che ignorare queste riflessioni possa essere un grosso pericolo per molti.
Premetto inoltre che non sto dicendo che l’intelligenza artificiale è una bufala, ma che il machine learning viene spesso spacciato per “intelligenza”. E prima di criticare, vi chiedo di leggere attentamente le parole che ho scelto con cura nel formulare le mie asserzioni-scommessa.
Provo a spiegare cosa mi ha portato a queste conclusioni provvisorie.
Prima di tutto riassumo cosa si intende per
machine learning: in estrema sintesi, si danno in pasto a un software tantissimi esempi di una
cosa, tantissimi esempi di cose differenti (ossia che non sono quella cosa) e
lo si “premia” quando riconosce correttamente la cosa in questione. Questo
apprendimento automatico può raggiungere livelli di affidabilità altissimi e
in molti casi funziona egregiamente. Il riconoscimento ottico dei caratteri
(OCR) e il riconoscimento vocale sono esempi di grande successo del
machine learning.
Ma si può dire che un sistema di OCR sia intelligente? Capisce che sta
leggendo un sonetto di Shakespeare o una mail di spam, e può quindi adeguarsi di
conseguenza? È in grado di considerare il contesto e capire che
magnifica e magni fica sono due letture molto differenti e
potenzialmente imbarazzanti, ma che la seconda potrebbe essere valida se lo
scrivente si esprime in romanesco? Un lettore realmente intelligente lo
capirebbe dal contesto (e dalla sua conoscenza delle attività sessuali umane). Un OCR no. Non è intelligente, perché non ha
conoscenza del mondo reale, ma conosce soltanto delle forme (le lettere) e
assegna loro una probabilità di corrispondere a uno dei modelli che conosce.
Non sa nulla del loro significato e quindi non può correggersi di conseguenza.
E non importa quanti miliardi di campioni di lettere o di parole gli dai: non
acquisirà mai la comprensione del testo.
Ogni tanto questi sistemi di riconoscimento sbagliano, ma non è un problema.
Se un sistema di OCR “legge” una parola al posto di un’altra non muore
nessuno. Se Alexa crede che l’abbiate chiamata, quando invece stavate pronunciando il
nome della vostra spasimata Alessia durante un momento di passione, il peggio
che può succedere è che la registrazione del vostro amplesso finisca nel
cloud di Amazon e venga scambiata fra i dipendenti dell’azienda che
fanno il monitoraggio dei campioni audio. Imbarazzante, ma probabilmente non
letale.
La ragazza che si chiama Alessia è un cosiddetto
edge case: un caso limite, una situazione rara che però fa sbagliare il sistema di
riconoscimento.
Questi sbagli avvengono in modi strani perché l’addestratore umano, quello che
insegna al software a riconoscere una forma, non riesce a calarsi nella
“visione del mondo” che ha quel software e non riesce ad anticipare tutti i
modi possibili nei quali potrebbe prendere un granchio e a insegnargli a
riconoscere tutti questi casi limite.
Lo spiega benissimo uno che di queste cose ne capisce a pacchi, Andrej
Karpathy, direttore del reparto di intelligenza artificiale di Tesla, in
questa lezione magistrale
del 2018, quando mostra queste immagini:
Quante auto sono? Una, quattro o due?
Come si possono annotare (identificare per il software) le linee di corsia
quando fanno così?
Altri due esempi fra tanti: un’auto caricata a coda in avanti su una bisarca è un’auto in contromano?
Credit: Roman Babakin / Shutterstock (
fonte).
Una bici montata di traverso sul retro di un’auto è una bici che mi sta
tagliando la strada e devo quindi frenare?
Di recente su Reddit è stato pubblicato un bell’esempio di questi
edge case: un camion ha dei cartelli di stop dipinti sul portellone
posteriore, e il sistema di riconoscimento ottico dei cartelli di una Tesla li
etichetta e li mostra come se fossero cartelli reali.
Cosa succede se il sistema di decisione dell’auto ritiene che quei cartelli
siano reali e quindi inchioda in mezzo alla strada, creando la situazione
perfetta per un tamponamento a catena? Ìl sistema è sufficientemente
sofisticato da tenere conto del contesto e quindi “sa” che i cartelli stradali
normalmente non si muovono lungo le strade, per cui rigetta il riconoscimento
e lo ignora nelle sue decisioni di guida?
Un conducente umano, avendo conoscenza del mondo, non avrebbe la minima
esitazione: sono cartelli dipinti sul retro di un camion, li posso
tranquillamente ignorare. Un sistema di guida autonoma o assistita sarà
altrettanto consapevole? E il conducente saprà anticipare questi possibili
errori che lui non farebbe mai?
Beh, direte voi, dai, una cosa del genere sarà un caso raro. Poi succede
questo:
Una Tesla Model 3 viaggia a 130 km/h e mostra un flusso costante di semafori
che appaiono dal nulla sulla corsia del conducente.
Un essere umano sa in un millisecondo che questo è impossibile, perché ha conoscenza del mondo e sa che i semafori non volano e non compaiono dal nulla; il sistema di
guida assistita di Tesla no, perché non “sa” realmente che cosa sono i
semafori nel mondo reale e quindi non “sa” che non possono apparire dal nulla
a 130 km/h.
Che cosa ha causato questo clamoroso errore di riconoscimento?
Un camion che trasportava semafori.
Eh dai, ma i semafori erano spenti, obietterete voi. Poi succede
questo:
Questo è esattamente il tipo di errore che un conducente umano non farebbe mai
e che invece un sistema di guida basato esclusivamente sul
riconoscimento delle immagini farà, e farà in circostanze imprevedibili. Con
conseguenze potenzialmente mortali. Se state valutando un’auto dotata di
questi sistemi, pensateci bene. Se ne avete una, pensateci ancora di più.
Certo, gli umani commettono altri tipi di errori, per cui alla fine
l’obiettivo non è creare un sistema di guida assolutamente infallibile, ma
semplicemente uno che fallisca mediamente meno (ossia causi meno incidenti)
della media dei conducenti umani.
Tutto questo vuol dire che la guida autonoma basata sul riconoscimento puro
degli schemi è impossibile? No. Una soluzione potrebbe essere semplificare l’ambiente operativo (strade su misura, rigidamente normate, accessibili solo a veicoli autonomi/assistiti). Per esempio, un ascensore (che in sostanza è un treno verticale in una galleria verticale chiusa) è un sistema di “guida autonoma” affidabilissimo, che richiede pochissima “intelligenza” grazie a un ambiente operativo ipersemplificato.
Allo stesso tempo, va notato che ci sono esempi di sistemi che interagiscono egregiamente con un ambiente operativo complesso pur avendo una “intelligenza” molto limitata: le api. Con un solo milione di neuroni riescono a navigare, interagire con i fiori, comunicare con le altre api, gestire gli aggressori e avere una società complessa e organizzata (hanno persino delle “votazioni”). Noi abbiamo cento miliardi di neuroni (centomila cervelli d’ape) a testa e non riusciamo a capire come indossare una mascherina o perché. Chiaramente c’è un margine di ottimizzazione che le api sfruttano e noi no, ma è anche vero che un’ape va in crisi quando incontra l’edge case di una cosa che non esiste in natura, tipo una barriera trasparente (il vetro di una finestra).
È anche possibile che estendendo il concetto di
riconoscimento degli schemi all’asse del tempo (ossia imparando a riconoscere
come cambia un oggetto nel corso del tempo) ed estendendo il concetto di
schema a oggetti complessi (incroci, rotatorie, attraversamenti pedonali) si
riesca a ottenere risultati accettabili. Ma questo richiede un database di
esempi colossale, una classificazione vastissima e una potenza di calcolo
ancora più colossale. Nessuno dei sistemi attualmente in commercio ci si
avvicina, come spiega bene Filip Piekniewski. Siate prudenti.
Questo articolo vi arriva gratuitamente e senza pubblicità grazie alle
donazioni dei lettori. Se vi è piaciuto, potete incoraggiarmi a scrivere
ancora facendo una donazione anche voi, tramite Paypal (paypal.me/disinformatico) o
altri metodi.