Si sente sempre più parlare di stupefacenti prestazioni rese possibili dall’Intelligenza Artificiale, ma poco si sa su come si svolgono i processi di apprendimento, ovvero di addestramento, di queste macchine. Uno dei metodi utilizzati è quello delle Teoria dei Giochi.
A seguire l’articolo di Alberto Montanari, Coordinatore della Commissione Industria 4.0 di Federmanager Bologna – Ferrara – Ravenna, pubblicato su Filo Diretto – marzo 2020
La Teoria dei Giochi
La Teoria dei Giochi è una branca della matematica. È un metodo per migliorare l’apprendimento. Analizza i comportamenti e le scelte in situazioni in cui è necessario decidere una “strategia” per ottenere il miglior risultato possibile.
Il concetto prende il nome dai giochi da tavolo, dove la decisione di un giocatore influenza l’azione degli altri giocatori e viceversa.
(l’immagine sottostante è tratta da https://towardsdatascience.com)
Non bisogna lasciarsi sviare dal nome. Non si tratta solo di “giochi” come immaginiamo. Si occupa soprattutto di conflitti di società commerciali, di casi finanziari, di paesi, di nazioni… Al fine di creare una teoria comune, tutte queste e molte altre situazioni sono state chiamate “giochi” e i loro partecipanti “giocatori”.
La Teoria può essere suddivisa in cinque tipi principali di giochi: Giochi cooperativi, Giochi simmetrici, Giochi di informazione perfetta, Giochi simultanei, Giochi a somma zero.
Sono utilizzate anche la Teoria MiniMax (il gioco degli scacchi) e la Teoria del Gioco Inverso (le aste).
Vi ricordate “A Wonderful Mind”?
Forse ricordate la storia di John Nash notoriamente rappresentata in “A Wonderful Mind”.
I contributi di Nash sono stati al centro della Teoria dei Giochi per decenni. La Teoria dell’Equilibrio di Nash dimostra che in ogni gioco si può raggiungere una situazione in cui nessun giocatore non può più beneficiare del cambio della propria strategia. Tutti i giocatori capiscono che non esiste soluzione migliore rispetto alla situazione in cui si trovano in quel momento, perché nessuno avrebbe un vantaggio nel cambiare.
Un modo per scoprire se una partita ha raggiunto un equilibrio di Nash può essere quello di rivelare la propria strategia agli avversari. Se dopo la rivelazione, nessuno di loro cambia la strategia, viene dimostrato l’equilibrio.
Un equilibrio di Nash è più facile da raggiungere nei giochi simmetrici (i partecipanti hanno gli stessi obiettivi) che in quelli asimmetrici (hanno gli obiettivi diversi o contrastanti). Questi ultimi sono più comuni nelle applicazioni del mondo reale e nell’Intelligenza Artificiale.
Rete generativa avversaria, un gioco “a somma zero”
Le reti neurali chiamate “Generative Adversarial Networks” (GAN) sono l’unione di due reti in lotta tra loro in un gioco “a somma zero” (se un giocatore guadagna qualcosa, causa una perdita all’altro).
La GAN è composta da 2 modelli, un modello discriminante (D) ed uno generativo (G).
Ogni modello cerca di fare meglio dell’altro e di “vincere” il confronto. L’obiettivo del modello G è quello di creare campioni falsi di dati, che sono distribuiti all’interno dei dati originali. L’obiettivo del D è invece quello di riconoscere e distinguere i campioni reali dai campioni falsi creati dal modello G.
Questo gioco continua fino a quando ogni modello diventa un esperto di ciò che sta facendo. Il modello G aumenta la sua capacità di simulare l’effettiva distribuzione dei dati. Il D diventa più esperto nell’identificare i campioni reali. In altre parole, le due reti neurali competono “addestrandosi” l’un l’altra. Al termine del gioco si raggiunge l’equilibrio di Nash, ovvero i due modelli diventano molto bravi nello svolgere i loro compiti e non sono più in grado di migliorare.
Un modello simile può essere utilizzato in molte applicazioni. In particolare, nel campo del Natural Language Processing (elaborazione del linguaggio naturale) o del riconoscimento delle immagini. L’esempio di questo ultimo è rappresentato dalle figure sottostanti:
A destra trovate immagini false di visi create da Nvidia GAN da utilizzare in un esercizio di riconoscimento facciale dello schema disegnato a sinistra (immagini tratte da www.medium.com).
Reinforcement Learning (apprendimento di rinforzo)
Il Reinforcement Learning è una tecnica di apprendimento automatico che utilizza la teoria dei giochi. Mira ad insegnare ad un soggetto come scegliere azioni da compiere per conseguire determinati obiettivi tramite interazione con l’ambiente. Il soggetto cerca di imparare il comportamento attraverso un meccanismo di ricompensa/punizione, che incoraggia azioni corrette.
Tuttavia, se più soggetti sono collocati nello stesso ambiente, questa condizione non è più vera. Prima l’apprendimento del soggetto dipendeva solo dall’interazione tra lui e l’ambiente, ora dipende anche dall’interazione tra i soggetti.
I sistemi con un elevato numero di soggetti possono diventare molto complessi, perché aumenta esponenzialmente la quantità di modi possibili in cui interagiscono tra loro.
Come esempio di un apprendimento di rinforzo, cerchiamo di migliorare il flusso del traffico in una città utilizzando un gruppo di automobili. Da sola ognuna può interagire bene con l’ambiente esterno, ma le cose possono diventare più complicate se vogliamo far comportare le auto come se fossero un gruppo unito. Un’auto potrebbe entrare in conflitto con un’altra, perché entrambe desiderano seguire un certo percorso.
L’apprendimento di rinforzo ha recentemente mostrato risultati impressionanti in giochi come AlphaGo. Le reti neurali sono state addestrate innanzitutto con la Teoria dei Giochi. Il software per AlphaGo è gestito da DeepMind (una società) controllata da Alphabet (Google).
In un test di addestramento di IA, hanno simulato due soggetti che dovevano raccogliere mele usando vari metodi della Teoria dei giochi. C’era la possibilità di eliminare l’avversario per un breve periodo per ottenere maggiori quantità di frutti. Dopo migliaia di tentativi si è cristallizzato uno schema: se c’erano abbastanza mele, i due agenti dell’IA hanno cercato pacificamente di raccogliere quante più mele possibile. Quando invece le risorse erano scarse, le logiche diventavano più aggressive e l’uno tendeva a eliminare l’altro soggetto per raccoglierne di più. Algoritmi più complessi, invece, tendevano a mettere fuori gioco più spesso l’altro soggetto, anche quando le risorse erano disponibili.
Sviluppi e applicazioni
I sistemi di IA che si possono giovare maggiormente della Teoria dei Giochi sono quelli con la maggiore complessità.
Gli algoritmi GAN e di apprendimento di rinforzo possono essere utilizzati per l’elaborazione dei dati e per renderli adattabili ai cambiamenti delle circostanze. L’apprendimento di rinforzo con un solo soggetto è un’area ben compresa poiché esistono gli algoritmi necessari, mentre nel caso di più soggetti la teoria è da perfezionare.
In ogni caso, in un ambiente con più partecipanti la Teoria dei Giochi può comunque essere molto efficiente.
Un esempio pratico e industriale: l’ottimizzazione in Germania di un apparecchio mobile di produzione di biogas i cui parametri vengono gestiti in continuo tramite l’interazione dell’IA e della Teoria dei Giochi (la figura è tratta da Dietrich Balzer). Se il sistema si sposta e cambia posizione, la struttura e i componenti vengono ridefiniti. La stessa cosa avviene quando la temperatura nel bioreattore è inferiore a 25 gradi Celsius o superiore a 35 gradi.
Con l’IA e la Teoria dei Giochi l’Università e i giganti dell’informatica contribuiscono a salvare specie animali mettendo un freno ai bracconieri.
Paws, abbreviazione di “Protection Assistant for Wildlife Security”, è il nome del software che deve supportare i ranger nei parchi nazionali in Africa. Poiché le aree da proteggere sono così grandi, è impossibile controllare tutto insieme.
L’applicazione suggerisce percorsi dove la probabilità di incontrare bracconieri o trappole è particolarmente alta. Per addestrare il sistema, il team ha alimentato il software con i dati di dodici anni con i precedenti attacchi da parte di bracconieri, i luoghi delle trappole, i percorsi. Per evitare di essere troppo prevedibili per i bracconieri, gli scienziati dell’Università della California del Sud usano i principi della Teoria dei Giochi. I ricercatori riferiscono che il metodo è già stato testato con successo in un parco nazionale in Uganda.
Strategie Evolutive Stabili
Si può immaginare come le applicazioni per l’IA siano molto più complicate degli esempi della Teoria classica dei Giochi.
Vi sono nuove teorie per cui la ricerca degli equilibri di Nash viene sostituita dalle “Strategie Evolutive Stabili”. Studiano se esiste una strategia di difesa che può rimanere inalterata pur sopportando un attacco da parte di nemici che perseguono una strategia differente. Recentemente algoritmi di rinforzo dell’apprendimento, come il “Q-learning”, sono stati ristudiati con questo nuovo approccio. L’obiettivo è di apprendere strategie efficienti adattandosi a cambiamenti, ad ambienti e problemi più diversi.
La Strategia Evolutiva Stabile dei Giochi appare promettente. Offre sia strumenti teorici che vantaggi pratici, ma è ancora in sviluppo e necessita degli sforzi della comunità di ricerca per il suo miglioramento.
Scarica l’articolo in formato pdf
Sei interessato a questo argomento?
Potrebbero interessarti anche gli eventi realizzati dalla nostra Commissione Industria 4.0 e gli articoli su tematiche simili