Tom's Hardware Italia Tom's Hardware
Spazio e Scienze

Intelligenza Artificiale: evoluzione e genetica

Negli ultimi anni il discorso sull'Intelligenza Artificiale si è fatto molto intenso, grazie soprattutto agli ottimi risultati ottenuti con la tecnica del Deep Learning. Un approccio di cui si è parlato a più riprese anche su rivista non specializzate, quando gli algoritmi si sono rivelati capaci di battere campioni umani in un gioco da tavolo o un videogame, o di ricostruire una fotografia, leggere un testo, o di creare un falso video difficile da individuare.

Il Deep Learning tuttavia non è l'unico modo per sviluppare un'Intelligenza artificiale, e forse non è nemmeno il più potente. Se da una parte si tenta di imitare il funzionamento del cervello umano, infatti, dall'altra c'è qualcuno che cerca di riprodurre il processo evolutivo che ha reso il nostro cervello l'incredibile macchina biologica che conosciamo.

ai002

Si tratta degli algoritmi evolutivi, cioè di software progettati per evolversi con un sistema davvero simile a quello dell'evoluzione darwiniana. Questo approccio ha trovato nuova forza grazi al lavoro di Dennis Wilson (Università di Tolosa, Francia) che, insieme ad alcuni colleghi, ha mostrato che gli algoritmi evolutivi sono in grado di eguagliare i risultati ottenuti con il Deep Learning nel 2013, vale a dire battere giocatori umani in videogiochi classici come Pong o Space Invaders.

Wilson ha messo alla prova i suoi algoritmi usando il database noto come Arcade Learning Environment, creato appositamente per lo sviluppo delle Intelligenze Artificiali. L'obiettivo è addestrare le AI dando come input solo ciò che si vede a schermo. Di fatto, guardano il gioco e cercano di capirlo proprio come facciamo noi.  

Uguagliare un risultato di cinque anni fa potrebbe non sembrare un granché, ma è interessante notare anche il fatto che gli algoritmi evolutivi appaiono più efficienti: si arriva al risultato più velocemente. Inoltre i programmi sono relativamente piccoli e semplici, facili da comprendere anche per un essere umano. Di contro, nel Deep Learning si va incontro al problema della Black Box: nessuno sa esattamente cosa accade all'interno del sistema, né si può arrivare a scoprirlo, come ci ha ricordato tempo fa Andrea Ridi di Rulex Analytics.

Gli algoritmi evolutivi

In genere quando si crea un programma per computer si lavora su un obiettivo specifico. Con questi algoritmi però l'approccio è completamente diverso. Il codice infatti è generato in modo casuale, ma il sistema ne genera moltissime varianti, anche centinaia di migliaia alla volta, mettendo insieme frammenti di codice esistenti. Ognuna di queste varianti originali è detta genoma.

ai003

Ci si affida al caso e i risultati saranno naturalmente disastrosi all'inizio, ma alcuni genomi daranno qualche piccolo risultato. Dalla seconda generazione in poi si introduce il concetto di mutazione, piccoli cambiamenti apparentemente casuali che potrebbero avere un risvolto positivo.

Wilson e i colleghi ne hanno testati circa 10.000 alla ricerca di quello migliore. Alcuni genomi hanno sviluppato tecniche di gioco molto complesse, mai viste prima. Altri hanno scelto un approccio più semplice, ma che era sfuggito ai giocatori umani. 

Alla lunga il codice generato in questo modo può diventare il migliore disponibile, superando quello scritto da esseri umani. Non è detto che succeda, ma ci sono esempi interessanti nel campo della progettazione robotica e dei componenti aeronautici.

AI001

Quello degli algoritmi evolutivi, infine, non va visto come un'alternativa al Deep Learning, ma come una sua possibile integrazione. Esiste la possibilità, infatti, di applicare l'approccio evolutivo alle reti neurali. I potenziali risultati, al momento, sono difficili da prevedere.  Si può dare però per scontato il fatto che abbiamo davanti a noi un rapido miglioramento, che ci sta già spingendo a riflessioni etiche e filosofiche sempre più pressanti.