Reti Neurali e Vita Artificiale
 

Sebbene la loro ispirazione biologica sia esplicita, la ricerca sulle Reti Neurali viene condotta per lo più al di fuori del campo di studi conosciuto come Vita Artificiale. Questo è dovuto al fatto che le Reti Neurali tendono a essere isolate da qualsiasi cosa ad eccezione dell’ingresso e dell’input di apprendimento che un ricercatore può fornire alla rete. La maggior parte della ricerca sulle NN le considera come dei congegni computazionali astratti o come macchine per processare informazioni che, adottando uno stile di computazione simile a quello del cervello umano, sono un grado di operare dei mappping input/output (comportamenti) che qualche volta miracolosamente somigliano a comportamenti umani. Ma esse possono anche essere viste nella prospettiva della Vita Artificiale (e vengono chiamate Artificial Life Neural Network –ALNN- per distinguerle da quelle classiche). Le ALNN non vengono considerate semplicemente come delle macchine per processare informazioni, ma come dei modelli del sistema nervoso, perciò bisogna considerare che esso è una parte di un organismo che ha un corpo con una certa dimensione, una forma, con sensori e organi motori, organi interni ecc. L’organismo inoltre vive in un ambiente esterno (fisico se si tratta di un robot, virtuale se vive all’interno di un computer) con il quale costantemente interagisce e il quale contiene altri organismi, materia inorganica, cibo ecc. Inoltre gli individui fanno parte di una popolazione di organismi simili ma non identici, ognuno dei quali nasce, vive per un certo tempo e muore. Analizzeremo adesso tre fattori fondamentali: (a) l’importanza di vivere in un ambiente esterno, (b) l’importanza di avere un corpo, (c) l’importanza di adattarsi all’ambiente attraverso un processo evolutivo.
 
 

(a) Le ALNN vivono in un ambiente

Le Artificial Life Neural Network vivono in un ambiente esterno. Ciò implica che in esse, come in un organismo naturale, l’ambiente influenza l’uscita della rete. Principalmente l’output di una ALNN codifica i movimenti del corpo dell’organismo (o di una sua parte) che causano cambiamenti nell’ambiente o nella relazione tra l’individuo e l’ambiente. Il comportamento di una ALNN è il risultato dell’output della rete stessa, dell’ambiente e della loro interazione. Il “mondo esterno”, non solo influenza l’output della rete e la trasforma in comportamento, ma è esso stesso sorgente di ingressi. Nelle reti classiche è il ricercatore che decide quali ingressi la rete deve vedere, in che modo devono essere viste e con quale frequenza; al contrario nelle ALNN è l’ambiente esterno il responsabile delle configurazioni di ingresso codificate nella rete, infatti gli input di una ALNN principalmente codificano lo stato dell’ambiente esterno attorno all’organismo. Perciò è l’ambiente esterno, non il ricercatore, che determina quali configurazioni in ingresso sono viste in un dato istante dalla rete.
L’ambiente esterno è critico nel dare una “semantica” alla configurazione di ingressi e uscite delle unità di una rete. Nelle reti classiche semplicemente non si fa altro che trasformare dei segnali di ingresso in un segnale in uscita e non c’è riferimento a qualcosa che non sia la rete stessa. Al contrario nelle ALNN i segnali di ingresso sono prodotti da un ambiente esterno indipendente nel quale esse vivono e interagiscono. Una importante conseguenza di ciò deriva dal fatto che poiché l’uscita di una rete può cambiare l’ambiente esterno o la sua relazione con esso, ne deriva che i segnali di ingresso sono influenzati  dall’uscita della rete. L’output della rete in un ciclo può parzialmente determinare l’input nel ciclo successivo, inoltre la rete può come minimo controllare in parte il suo stesso ingresso. Gli organismi possono adattarsi all’ambiente costruendo al loro interno dei modelli dell’esterno, i quali saranno costruiti osservando quali cambiamenti nell’ambiente risultano da certe azioni. Se non c’è un ambiente che risponde alle azioni della Rete Neurale - come in quelle classiche -  questo tipo di modelli non può essere costruito. Infatti le reti tradizionali sono costrette a imparare estraendo le regolarità inerenti nei loro ingressi passivamente ricevuti. Le ALNN imparano sia in questo modo, sia notando le regolarità nella relazione tra le loro azioni e le loro conseguenze.
Se le reti possono in parte controllare gli ingressi, allora esse possono sfruttare questa opportunità per cercare di essere esposte a degli ingressi preferenziali, cioè a degli ingressi ai quali la rete sa già come rispondere o ingressi che le permettono di riconoscere oggetti incontrati nell’ambiente.
Un’altra conseguenza dell’ambiente esterno è che può essere differente lo stesso processo di apprendimento  tra una ALNN e una rete classica. La prima, infatti, impara semplicemente ad ogni ingresso una uscita corretta, al contrario una ALNN poiché parzialmente controlla gli ingressi con la propria uscita, può generare degli output che le permettono di sperimentare gli ingressi appropriati durante l’apprendimento. Una ALNN può infatti imparare due cose differenti: possono imparare ad associare ad ogni ingresso l’uscita appropriata (come quelle classiche), ma possono anche imparare ad avere le appropriate esperienze di apprendimento, cioè possono modificare il loro comportamento in modo da essere esposte a ingressi dai quali possono imparare più che da altri.
Una ulteriore conseguenza del fatto di avere un controllo parziale sugli ingressi è che la successione di ingressi sperimentati da una ALNN tende ad avere un carattere temporale che è normalmente assente in una rete classica. Il carattere temporale intrinseco di una ALNN inoltre emerge chiaramente se invece della sequenza degli ingressi sperimentati consideriamo la sequenza delle uscite che generano. Il comportamento di una rete tende così a essere valutato non in termini di singole uscite, ma in termini di sequenze di uscite. Se, ad esempio, una ALNN sta cercando cibo, è la sola azione finale di ottenimento del cibo che  ricompensa la rete, mentre alla successione di uscite motorie che portano la rete al cibo  è data una sorta di unità temporale attraverso la sua azione finale.
 
 

(b) Le ALNN hanno un corpo

Le reti neurali classiche non hanno un corpo, sono sistemi astratti che calcolano una uscita dato un certo ingresso. La Vita Artificiale può in questo caso essere vista come un tentativo di dare un corpo alla macchina. Le reti neurali che vivono su un sistema fisico non possono essere dei sistemi astratti, ma devono necessariamente possedere un corpo che abbia una collocazione fisica nell’ambiente, occupandone una porzione, e relazioni fisiche (ad esempio la distanza) con altri oggetti nell’ambiente.
Come oggetti fisici le ALNN possono interagire con il loro ambiente. Tutto quello che è codificato in una unità di ingresso di una ALNN è la corrente configurazione di diversi tipi di energia (energia della luce, del suono, meccanica, termica etc.) nelle vicinanze del corpo dell’organismo o al suo stesso interno, e tutto quello che è codificato nell’uscita della rete sono cambiamenti nella posizione fisica del corpo o di parte di esso (movimenti) o all’interno del corpo.
Se consideriamo una ALNN in senso esteso, cioè non solo come una rete neurale, ma come un organismo che ha un proprio corpo, le interazioni tra una ALNN e il suo ambiente possono essere mediate dalla rete neurale, ma l’ambiente può anche influire su una ALNN senza influire direttamente sulla sua rete neurale (per esempio una ALNN può urtare un ostacolo in modo che non può più procedere oltre). Oppure altre parti della ALNN (non la sua rete neurale) possono essere influenzate dall’ambiente, per esempio una ALNN può mangiare qualcosa e un suo stato motivazionale – la fame – cambia. Allo stesso modo il corpo della ALNN può causare nell’ambiente dei cambiamenti non rilevati dal suo sistema nervoso. Per esempio, quando una ALNN si sta muovendo in un ambiente può inavvertitamente rompere un oggetto incontrato durante il suo cammino. Inoltre persino degli effetti intenzionali della ALNN possono non essere intesi a causa delle proprietà fisiche del corpo, per esempio se una ALNN deve raggiungere una certa posizione   con il punto finale del suo braccio, la lunghezza del braccio sarà un fattore critico.
Le implicazioni del fatto di avere un corpo e interagire con l’esterno sono più significative quando essi sono degli oggetti fisici reali come nel caso delle ALNN usate per il controllo di robot mobili. In questi casi, alcuni fattori addizionali (inerzia, luce rumore , …)  sorgono dalle proprietà fisiche del robot e dell’ambiente e devono essere tenute in conto, inoltre possono essere usati solo sensori e attuatori reali (invece di quelli reali che possono non rispettare i vincoli fisici e avere precisione infinita). In questi casi l’input e l’output devono necessariamente corrispondere a misure fisiche o forze e non possono includere informazioni astratte ottenute da esperimenti. Infine solo le informazioni che possono essere realmente ottenute dall’ambiente possono essere prese in considerazione.
 
 

(c) Le ALNN si evolvono

 Le reti neurali classiche sono generalmente addestrate partendo da una assegnazione casuale dei pesi. Qualche volta lo sperimentatore disegna l’architettura grezza della rete usando il suo intuito o dati biologici. Tuttavia anche in questo caso la maggior parte delle condizioni iniziali viene impostata in maniera casuale. Le ALNN, quando sottoposte a un processo simulato di evoluzione,  nascono ereditando il loro stato iniziale da altre reti (i genitori). Le informazioni ereditate rappresentano il genotipo, che  contiene le informazioni necessarie per produrre  la corrispondente rete neurale fenotipica e di conseguenza è un’entità distinta dalla rete stessa. La distinzione tra genotipo e fenotipo ha alcune implicazioni. Innanzitutto non solo i pesi della rete neurale, ma anche le caratteristiche del sistema motorio e il corpo della ALNN possono essere codificati nel genotipo ed essere sottoposti a un processo evolutivo. In secondo luogo la rete può modificarsi sia filogeneticamente (cioè a causa del processo evolutivo), sia   ontogeneticamente (cioè a causa dell’apprendimento). In questo caso possono sorgere delle interazioni positive tra i due processi: l’evoluzione può selezionare delle buone condizioni iniziali che migliorano il processo di apprendimento e lo spingono nella direzione giusta; l’apprendimento può a sua volta aiutare l’evoluzione a trovare buone soluzioni e ad adattarsi a cambiamenti ambientali troppo veloci da poter essere seguiti dalla sola evoluzione. Infine le ALNN possono acquisire attraverso l’evoluzione a estrarre dall’ambiente o a autogenerare degli ingressi per l’apprendimento e a usarli per adattarsi durante la loro vita.