A prescindere dal compito che sono chiamati a svolgere – guidare un’auto come completare un videogame o riconoscere con la massima precisione possibile un’immagine – gli algoritmi possono evolvere? Meglio: possono cambiare e modificarsi secondo gli schemi evoluzionistici delle teorie darwiniane, dove i caratteri e le mutazioni del Dna che si rivelano efficaci, consentendo sopravvivenza e riproduzione, trionfano a scapito di quelle dannose o neutrali? In parallelo al filone del deep machine learning gli scienziati credono di sì. E hanno recuperato dagli anni Ottanta, in particolare in questo periodo, un altro percorso parallelo di ricerca noto come neuroevoluzione. Dalla costruzione di reti neurali, che tenta di riprodurre tramite calcoli sempre più potenti il processo di apprendimento di un singolo concetto per come avviene a livello cerebrale, la neuroevoluzione prova a riprodurre, per così dire, il cervello stesso.

 

Si tratta di un ambito estremamente importante perché, viste le sfide sempre più raffinate che attendono le tecnologie “alimentate” dall’intelligenza artificiale, capire se un algoritmo che ne è alla base può mutare – lasciando per strada istruzioni inutili e acquisendo solo quelle di successo – lancia anche una previsione sul futuro. Cioè sulla sostenibilità di un mondo sempre più orchestrato dagli algoritmi. Se negli ultimi trent’anni buona parte della ricerca ispirata al cervello si è concentrata sulle reti neurali, cioè sul pensiero di una macchina descritto come la trasmissione di dati tramite funzioni matematiche chiamate neuroni, negli ultimi tempi un paio di ricerche hanno appunto sollevato l’attenzione sul processo evolutivo di questi algoritmi. Possono cambiare come è accaduto alle ali degli insetti o alla forma del naso dei mammiferi e agli altri miliardi di combinazioni che hanno reso uomini, animali e piante ciò che sono nel corso dei millenni? Forse sì.

 

Come noto, e come s’insegna alla scuola elementare, l’evoluzione racconta come i piccoli e lenti cambiamenti nel corredo genetico di un organismo gli assegneranno un vantaggio o uno svantaggio nel suo habitat. E d’altronde da quello stesso contesto sono influenzati. Se una specifica mutazione gli consente di prosperare e vivere, sarà mantenuta. Altrimenti morirà insieme all’organismo stesso. Google Brain e la no profit statunitense OpenAI hanno provato a innescare questo meccanismo in una serie di algoritmi riassumendo i primi risultati in una serie di paper.

  • 900X5501.jpg
  • 900X5503.jpg

Nel primo caso ci si è occupati del riconoscimento delle immagini. Il team di Google ha prodotto mille algoritmi dedicati al riconoscimento delle foto, allenati tramite le reti neurali a riconoscere specifici tipi di contenuti. Poi un gruppo di 250 computer ha scelto due algoritmi ciascuno e li ha sostanzialmente messi a confronto. Ne ha testato l’accuratezza, ponendoli alla prova su una stessa immagine. Per poi emettere la propria, implacabile sentenza: quello col miglior risultato è stato salvato, l’altro “ucciso”. Il sopravvissuto è stato così copiato e il suo clone – o figlio – lievemente modificato, proprio come capita al Dna durante la riproduzione, ma con l’obiettivo di aumentarne la capacità nell’interpretazione dei dati forniti in pasto. Così il figlio è stato riallenato e rimesso in competizione con altri mille algoritmi, replicando il processo per cinque cicli.

 

Il risultato? La neuroevoluzione ha dimostrato, pur con alcuni punti deboli, che è possibile “coltivare” un algoritmo che ottenga il 94,6% di tasso d’accuratezza nel compito affidatogli. Registrando simili esiti in tutte le ripetizioni dell’esperimento, coordinate dal team di Google Brain e dal coautore Esteban Real: ciò che funzionava veniva tenuto, ciò che non andava eliminato. Proprio come in natura. Ogni tanto, però, qualcosa è andato storto e l’algoritmo ha mostrato incertezze evolutive. Un po’ come, sempre come accade in natura, succede con alcuni elementi come le ali: quelle a metà aiutano poco gli esseri viventi che le portano ma quelle complete consentono loro di volare. Insomma, il test va allargato a una serie di altri elementi ma il percorso appare tracciato. E promettente.

 

OpenAI, dal canto suo, anziché concentrarsi su un’unica forma di evoluzione ha messo a confronto un algoritmo master con un compito complesso come giocare a un videogame, ottenendo un risultato sempre più elevato, o camminare in un simulatore tridimensionale. Grazie alle informazioni fornite da una serie di algoritmi worker, o lavoratori. Replicando quasi lo schema di un alveare. In pratica non ha tentato di insegnare alla macchina come prendere una decisione ma come imparare meglio, ha raccontato Tim Salimans, coautore e ricercatore della no profit dedicata agli standard sull’intelligenza artificiale, dai dati a disposizione.

 

Per il test la squadra di OpenAI ha programmato 1.440 algoritmi-lavoratori e li ha fatti giocare a un videogame Atari. Ciascuno ha effettuato una partita fino al Game Over, insomma alla conclusione. Momento in cui ha comunicato il proprio punteggio all’algoritmo-master. I lavoratori che hanno ottenuto i risultati migliori sono stati copiati e mutati, per essere poi rimessi alle prese col videogioco e, come nel caso di Google, mantenendo le modifiche che hanno garantito i risultati migliori. Cassando, ovviamente, quelle nocive. Un approccio certo limitato, visto che il set d’informazioni era minimo (il punteggio), ma che ha consentito questo tipo di lavoro d’approfondimento, partorendo algoritmi-worker sempre più efficaci. Complicando e arricchendo un po’ la ricerca potrebbero insegnare sempre meglio all’algoritmo-master. In ogni caso, un’evoluzione sotto ogni punto di vista.

 

La realtà è che i due filoni di ricerca si stanno riunendo. Quello, sorto intorno agli anni Ottanta e decollato grazie al lavoro di nomi come David Rumelhart, Geoffrey Hinton e Ronald William, noto come “backpropagation”, un metodo ormai comune di allenare reti neurali artificiali, che ha descritto la capacità di espansione e “riproduzione” delle reti insieme alla già citata neuroevoluzione, tornata al centro dell’attenzione all’inizio del Duemila grazie al lavoro di Kenneth Stanley, docente all’università della Central California e a suoi lavori come l’algoritmo Neat (NeuroEvolution of Augmenting Topologies, il cui paper ha raccolto oltre 1.600 citazioni su Google Scholar). Consentiva appunto alle reti neurali di evolversi in più ampie e complesse versioni nel corso del tempo. Da lì si è perfino arrivati a Hyper-Neat, ispirato alle abilità del Dna umano.

 

Insomma, dopo trent’anni lo studio sugli algoritmi che sovrintenderanno le sofisticate soluzioni tecnologiche del prossimo futuro è un campo ibrido che dal deep learning spazia verso le teorie darwiniane applicate all’informatica: si insegna a un algoritmo come agire nel mondo, dandogli stimoli che lo spingano a evolversi e producendo così algoritmi-figli sempre più precisi nei risultati e nelle potenzialità.