Verso la creazione dell’IA con istinto
Reti neurali con conoscenza pre-allenamento
Alla fine di agosto 2019, i ricercatori di Google hanno pubblicato un documento intitolato Weight Agnostic Neural Networks, aprendo gli occhi a un pezzo mancante del puzzle nella nostra ricerca di creare Intelligenza Artificiale (AI) il più vicino possibile ai cervelli naturali: l’istinto. Questo articolo illustra i modi per trovare le architetture della rete neurale artificiale (ANN) fino ad ora, sottolinea l’importanza dell’istinto in un cervello e, per gli affamati di dettagli, descrive come l’istinto può essere incorporato nell’intelligenza artificiale.
Finora architetture di reti neurali
L’architettura di una ANN, in breve, si riferisce al numero, alla disposizione e alle connessioni dei neuroni in essa contenuti. Quando si costruisce un ANN per risolvere un problema, si desidera la migliore architettura possibile sotto tutti i vincoli. Dopo tutto, non paga avere una soluzione non ottimale. I modi per trovare le migliori architetture ANN sono in continua evoluzione. All’inizio del loro viaggio, gli appassionati di AI selezionano manualmente le loro architetture, ad esempio scegliendo due livelli nascosti con 4 nodi ciascuno, come mostrato nell’immagine seguente. Per essere saggi, possono provare diverse architetture per tentativi ed errori, confrontare le prestazioni e scegliere quella migliore.
Con una certa esperienza, potrebbero provare un algoritmo genetico per finire con un’architettura migliore di quella che sarebbero in grado di scegliere manualmente. Se ancora più ambiziosi, possono optare per ricerche di architettura basate sull’apprendimento di rinforzo, ad esempio AutoML.
Una cosa che tutte le architetture finora hanno in comune è che, non importa quanto sia ottimale l’architettura, all’inizio tutti i pesi (connessioni tra i neuroni) sono dati casualmente. Ciò ha senso poiché, per problemi complessi, potremmo non avere idea di quali valori iniziare, quindi la soluzione migliore è creare un cervello vuoto con pesi casuali e lasciarlo imparare dai dati attraverso l’allenamento, regolando i pesi nel processo. L’apprendimento è iniziato da zero. (Per una lettura interessante su come Deep Learning è cresciuto dall’idea di cervelli vuoti, leggi questo articolo .)
Per problemi complessi, potremmo non avere idea di quali valori di peso iniziare, quindi la soluzione migliore è quella di creare un cervello vuoto con pesi casuali e lasciarlo imparare dai dati attraverso l’allenamento, regolando i pesi nel processo.
Ma facciamo un passo indietro e fissiamo l’obiettivo finale, ovvero replicare il modo in cui funziona un cervello. Abbiamo un modo per creare un “cervello bambino” completamente casuale e consentirgli di imparare a diventare un esperto. È vero, questo è ciò che fa un cervello; impara. Tuttavia, manca qualcosa se vogliamo avvicinare il più possibile le reti neurali artificiali a quelle naturali: l’istinto, nascere con una certa conoscenza del proprio compito.
Dicotomia Nature vs Nurture
La dicotomia natura vs educazione è stata resa popolare da Francis Galton, il fondatore dell’eugenetica e della genetica comportamentale, dopo essere stato influenzato dalle opere di Charles Darwin, suo cugino di mezza cugina.
La natura qui si riferisce al precablaggio di un organismo. L’istinto, la conoscenza alla nascita. I cani inseguono gli scoiattoli a causa del loro istinto di caccia senza nemmeno sapere cosa farne una volta catturati. Alcune specie di uccelli costruiscono i loro nidi senza essere mai state esplicitamente insegnate dai loro genitori. Tu, come persona, tendi a indulgere nel cibo dolce perché i nostri antenati, i cacciatori-raccoglitori, hanno trovato nel loro miglior interesse mangiare più frutti che potevano quando li hanno trovati prima che i predatori si presentassero. Questa tendenza innata ci è stata tramandata per migliaia di generazioni, anche se ora siamo la specie alfa senza predatori da temere.
Il nutrimento, d’altra parte, è visto come l’influenza di fattori esterni sul cervello. Prende l’istinto e lo trasforma in un comportamento. Questo può essere visto nei documentari del National Geographic quando la madre ghepardo indebolisce o immobilizza la sua preda in modo che i cuccioli possano esercitarsi ad attaccarla. Le orche mostrano un comportamento simile lanciando attorno alle foche. Questo è dove l’apprendimento avviene.
La natura è il precablaggio di un organismo (istinto). La cultura è l’influenza di fattori esterni (apprendimento).
Si può vedere che l’apprendimento avviene molto rapidamente nel regno animale perché gli animali nascono con istinto. Quindi, se l’obiettivo dell’IA è quello di creare reti neurali il più vicino possibile a quelle reali, gli istinti dovranno essere incorporati, altrimenti l’IA sarà nutrita al 100% e natura allo 0%. Ma come creare una rete neurale che abbia già un’idea di cosa fare prima dell’allenamento? Inserisci reti neurali agnostiche.
Rete neurale agnostica (WANN)
WANN è un’architettura di rete neurale in cui l’ANN conosce già la tendenza generale del comportamento che dovrebbe mostrare. In termini tecnici, di apprendimento automatico, ha un forte pregiudizio induttivo. I WANN hanno pesi condivisi, vale a dire che tutti i pesi nello stesso modello hanno lo stesso valore, quindi non ottimizzati.
Quindi, come trovare una tale architettura, se i metodi tradizionali di ricerca dell’architettura non lo fanno? Questo viene fatto in modo ricorsivo con l’aiuto di una tecnica nota come NeuroEvolution through Augmenting Topologies (NEAT) . Sembra spaventoso? Non preoccuparti, eccolo nei morsi digeribili: NeuroEvolution significa evoluzione artificiale delle reti neurali (attraverso algoritmi genetici) e Topologie in aumento significa architetture che diventano più complesse.
Il processo di ricerca di un WANN è relativamente semplice:
Crea un gruppo (popolazione) di reti neurali con diverse architetture semplici.
Misurare le prestazioni di ciascuno utilizzando valori diversi di pesi condivisi. Ciò significa, per ciascuna rete neurale, valutarla utilizzando un intervallo di valori in cui, per ciascun valore, tutti i pesi sono uguali. In parole povere, prova con tutti i pesi che hanno un valore a. Quindi con valore b , quindi c e così via.
Classifica le diverse architetture in base alle loro prestazioni e complessità.
Prendendo solo le architetture più performanti, modificale usando NEAT per ricreare una nuova popolazione, quindi ripeti dal passaggio 2 fino a ottenere un’architettura soddisfacente.
Il processo è riassunto nella figura seguente.
Il processo di ricerca di un WANN, proveniente dal libro bianco WANN
Anello WANN per dominarli tutti?
Questo significa che l’addestramento delle reti neurali diventerà ormai obsoleto? Non proprio. Poiché un’immagine vale più di mille parole, la GIF in basso è un confronto tra le prestazioni di un WANN e un modello perfezionato sull’attività Swing-up di Cartpole.
Prestazioni di WANN con pesi condivisi = 1.0 (in alto), WANN con pesi condivisi = -1.5 (medio, non ottimale) e rete neurale con pesi perfezionati attraverso l’allenamento (in basso)
Il WANN in alto non supera il modello messo a punto, ma ha raggiunto il suo scopo: ha catturato l’istinto! È una rete neurale che non ha nemmeno subito un allenamento (tutti i suoi pesi sono uguali a 1,0) ma sa già all’incirca cosa deve fare. Ora questa architettura può essere presa e allenata, con l’aspettativa che l’allenamento mostrerà una convergenza più rapida che con una ANN con pesi inizializzati casualmente.
Conclusione
Le reti neurali agnostiche sono un nuovo approccio alla ricerca di architetture di reti neurali per risolvere i problemi. Sebbene non possano battere i modelli addestrati dall’inizio, catturano il pregiudizio necessario per fungere da trampolino di lancio per l’addestramento di modelli migliori in futuro. In tal modo, si può creare l’intelligenza artificiale con istinto.