IA, un mondo da conoscere
L’evoluzione delle tecnologie informatiche e dei sistemi automatizzati ha prodotto una grande quantità di macchine “intelligenti”. La vera frontiera dell’intelligenza artificiale, tuttavia, è quella che riguarda i meccanismi di apprendimento autonomi da parte del mezzo meccanico. Pregi e difetti dei vari sistemi, e un focus sugli algoritmi di apprendimento rinforzato
Difficile trovare in letteratura una definizione univoca di Intelligenza Artificiale, ma in generale si concorda su un assunto di base: quella dell'IA è un'area molto vasta, nondimeno sarà uno degli argomenti più dibattuti negli anni a venire. Ma cerchiamo di fare un minimo di chiarezza: la definizione più comune è quella che indica come Intelligenza Artificiale qualsiasi tecnica che cerca di imitare il comportamento umano. È quindi comprensibile che in questa affermazione siano ampiamente inclusi gran parte dei sistemi e degli algoritmi software che vengono usati stabilmente sulle macchine da anni. Che siano esse veicoli o robot industriali, ad esempio, semplici algoritmi condizionali piuttosto che basati su approcci statistici o bayesiani rientrano nella definizione appena data.
Quando oggigiorno si parla di IA, in realtà, si intende più frequentemente un suo sottoinsieme: il Machine Learning, ovvero un insieme di tecniche che permettono ad un calcolatore o, in generale, ad un sistema di imparare determinate cose senza essere esplicitamente programmato per farlo. Ecco, già ci si avvicina di piú all'obiettivo, ma prima occorre aggiungere qualcosa a questa definizione che si può facilmente trovare in rete. Un algoritmo di Machine Learning è in grado di imparare determinate caratteristiche a partire da un insieme di dati annotati di ingresso, ovvero informazioni alle quali qualcuno ha "appiccicato" virtualmente un'etichetta per guidare l'algoritmo nell'individuare elementi riconoscibili al fine di classificare il dato. Facciamo un esempio: se un sistema deve imparare a distinguere auto, aerei e navi a partire da fotografie, occorrerà fornire ad un algoritmo – selezionato in maniera adeguata a seconda del tipo di dato che dovrà elaborare – un certo numero di immagini di aerei, auto e navi, ad ognuna delle quali sarà legata un'etichetta che identifica che tipo di mezzo è rappresentato. L'algoritmo, pian piano, imparerà che ci sono mezzi che hanno le ali, una fusoliera, una coda e li chiamerà "aerei"; determinerà che le auto hanno quattro ruote, un cofano, ecc. e le classificherà come tali. Possiamo concludere che un algoritmo di machine learning impara a classificare elementi appartenenti ad un dominio ben definito e sarà tanto più bravo a farlo quanto grande, completo e ben annotato sarà l'insieme dei dati che vengono usati per addestrarlo. Tutto ciò ha una conseguenza: al di fuori di quanto ha imparato (nel caso di prima a riconoscere auto, aerei e navi in un'immagine) un sistema basato sul Machine Learning è destinato comunque a fallire. Non solo, una volta addestrato un sistema di questo genere è assolutamente statico (il comportamento e le sue performance non cambiano a meno che non si addestri nuovamente) e deterministico (allo stesso dato di ingresso corrisponderà sempre la stessa uscita). Quindi, almeno per questo primo sottoinsieme dell'Intelligenza Artificiale dobbiamo sfatare un mito: un sistema basato su ML (e quindi su IA) non è un sistema che evolve nel tempo in maniera autonoma. Non impara da solo. Si parla infatti di "apprendimento supervisionato".
Ma esistono sistemi che imparano da soli? Di base, si, ma occorre mettere i famosi puntini sulle "i". Esiste un sottoinsieme ancora più ridotto e specializzato del ML e quindi dell'IA ed è quello al quale quasi tutti, magari inconsapevolmente, fanno oggi riferimento: il Deep Learning e le reti neurali. Il concetto di base non è poi troppo diverso da quello del machine learning ma con una differenza sostanziale: i dati non sono annotati, ovvero non vengono etichettati per indicare alla macchina cosa debba imparare. I sistemi basati su reti neurali imparano autonomamente ad estrarre delle caratteristiche dai dati che vengono loro forniti in fase di addestramento. Quindi, in effetti, imparano in autonomia a riconoscere determinate cose. Che lo facciano nella maniera corretta o in quella che noi vorremmo, invece, non è affatto ovvio né scontato. Ci sono diversi fattori che influiscono sull'apprendimento, ma potremmo affermare che in gran parte esso dipenderà ancora una volta da qualità, numero e distribuzione dei dati forniti in ingresso alla rete neurale.
Si parla di reti neurali perché il DL è basato su delle unità minime di "elaborazione", i percettroni, che da un punto di vista logico lavorano in maniera simile ad un neurone umano. Ognuno di essi impara a riconoscere una caratteristica o un dettaglio ben definiti. Gli algoritmi di DL apprendono in maniera "non supervisionata" ma, ancora una volta, un sistema basato su reti neurali "evolve" – o meglio impara in maniera autonoma – solo durante la fase di addestramento/apprendimento. Dopo tale fase e dopo essere stato testato, il risultato è sempre un sistema deterministico pure se estremamente bravo a fare ciò per cui è stato addestrato come, ad esempio, a riconoscere infestazioni in una pianta a partire da immagini o estrarre conoscenza da una mole di big data. Normalmente tale sistema è molto più bravo ed efficiente di un qualsiasi algoritmo tradizionale sviluppato per fare la stessa cosa, ma risulta comunque "statico".
Esiste però una categoria ancora più ristretta che, in effetti, "evolve". Si tratta dei sistemi basati su algoritmi di "apprendimento rinforzato", ovvero di algoritmi che, per dirla in maniera molto semplificata, imparano dai propri errori. Ogni decisione/azione ha infatti un effetto specifico che genera un "reward", una ricompensa, che serve a dire al sistema se ha fatto qualcosa di buono oppure no, in modo che possa correggersi e convergere verso un risultato positivo. Un veicolo, ad esempio eseguirà delle manovre urtando contro svariati ostacoli finché, attraverso il meccanismo delle ricompense, non imparerà a muoversi senza urtare contro nulla. In questo caso, in ultima ipotesi, si potrebbe immettere sul mercato una macchina pre-addestrata ma in grado di affinare i propri comportamenti nel corso della propria esistenza … ma davvero qualcuno lo vorrebbe nel nostro settore?
Un'implicazione molto forte dell'apprendimento rinforzato quando applicato ad una macchina è che non lo si può addestrare se non in un ambiente chiuso e protetto o, meglio ancora, in uno simulato. Durante la fase di addestramento, infatti, i suoi comportamenti saranno errati ed imprevedibili.
Questa lunga introduzione serve a capire quanto si sia lontani dal concetto che sembra terrorizzare tutti (Commissione UE inclusa): che le macchine imparino ed evolvano in maniera autonoma. Da quanto appena scritto, è facile capire come ciò sia vero solo in una porzione minima di casi.
Eppure è stato proposto un nuovo regolamento chiamato AI-Act, volto a porre forti controlli nel campo dell'IA e che impatterà anche le macchine agricole. Questo avviene perchè i componenti di sicurezza di macchine e veicoli vengono, in generale, definiti come sistemi ad alto rischio e, se basati su IA, dovranno essere certificati da enti notificati. Da questa ultima frase emergono almeno tre lampanti debolezze: la prima è che il documento originale della commissione fa riferimento, appunto, all'Intelligenza Artificiale tout-court, ovvero potenzialmente a qualsiasi programma software o algoritmo che rientri nella definizione più generale (quasi tutti nel caso peggiore). La seconda debolezza sta nella mancanza di competenze nel campo dell'IA in svariati settori industriali e quindi nella difficoltà di avere centri competenti che possano effettuare certificazioni. La terza debolezza è che, per loro natura, i sistemi ML e DL sono strettamente dipendenti dia dati con i quali vengono addestrati e gli algoritmi utilizzati sono oggetto di ricerca continua: è quindi davvero possibile definire dei protocolli standard di certificazione? Beh, gli esperti sono piuttosto concordi nel rispondere "no" o “molto difficile” a questa ultima domanda.
Se poi pensiamo al nostro comparto, l'applicazione di algoritmi ML o DL a sistemi di sicurezza delle macchine agricole va sicuramente monitorato, e ci si dimentica un po' troppo spesso, ultimamente, tutti i vincoli ed i regolamenti che un costruttore deve già soddisfare per rendere sicuro il proprio prodotto. Si eseguono accurate analisi dei rischi e, anche se si usa un algoritmo nel campo dell'IA, abbiamo visto in precedenza che il sistema risultante che verrà immesso sul mercato sarà comunque un sistema deterministico e che non evolve autonomamente dopo la messa in servizio. E onestamente è probabilmente molto remoto il futuro in cui ciò avverrà. FederUnacoma, assieme al CEMA, è stata estremamente attiva negli ultimi mesi per definire alcune proposte di emendamento all'AI-Act, volte a rendere possibile che la sua applicazione risulti ragionevole nel nostro settore. Non vorremmo ritrovarci, nei prossimi anni, a dover far certificare da un ente terzo un sistema di guida automatica robusto e ben testato solo perché usa un algoritmo basato su approcci statistici che, da proposta attuale, rientrerebbe nella definizione di IA inserita nell'Atto da parte della Commissione. Questo non toglie che se un sistema con implicazioni di sicurezza che implementa soluzioni di IA che gli consentono di apprendere anche dopo la sua messa in opera possa, o debba, essere testato e certificato (sulla base di quali criteri e standard, sarà argomento di discussione degli anni a venire).
La realtà, a parere di chi scrive, è che l'AI-Act sia stato pensato per affrontare problemi molto importanti di carattere etico e sociale che si potranno presentare dall'uso dell'Intelligenza Artificiale. Si vuole evitare, infatti, che un algoritmo possa prendere decisioni che possano catalogare un essere umano, veicolare i comportamenti di una società e così via. L'intento, a mio avviso, è sicuramente lodevole e tali obiettivi legati all'essere umano ed ai suoi diritti vanno certamente perseguiti. Ma questo non significa dover trattare l'IA come un "orco cattivo" anche nei casi in cui tale orco, in realtà, è pericoloso quanto Shrek.