| Reti Neurali
Sezione a cura del Prof.
Marco Zorzi
e del Dott. Massimiliano
Versace
Gli Algoritmi Genetici
Gli algoritmi genetici (AG) costituiscono una classe particolare
di algoritmi di ricerca parallela il cui funzionamento è
ispirato dai meccanismi di evoluzione biologica. Gli AG sfruttano
una forma di apprendimento complementare rispetto a quella tipica,
ad esempio, delle reti neurali. Mentre l’apprendimento
delle reti neurali può essere considerato equivalente
all’apprendimento di un organismo durante il suo ciclo
vitale, gli AG utilizzano un meccanismo diverso per aumentare
la probabilità che una classe di organismi migliori la
propria performance: la selezione degli esemplari che hanno
avuto più successo. Un tipico AG utilizza diversi “esemplari”,
che possono essere formule matematiche più o meno complesse,
o altri metodi di classificazione, come per esempio reti neurali,
la cui performance durante una generazione viene valutata in
base ad un criterio definito dallo sperimentatore, la cosiddetta
funzione di “fitness”. Gli esemplari che esibiscono
la performance più elevata vengono selezionati per “riprodursi”
nella generazione successiva. Ogni organismo è codificato
da una stringa numerica, detta “cromosoma”, che
consente di applicare due operazioni ispirate da quanto avviene
nella riproduzione sessuata in organismi biologici: la mutazione
ed il cross-over. Nella mutazione, ogni valore numerico che
definisce il cromosoma ha una probabilità, seppur molto
bassa, di essere mutato (ad esempio, essere invertito da -1
a 1), mentre il cross-over consente di creare due cromosomi
“figli” dallo scambio di due cromosomi “genitori”.
Figura 1

Illustrazione delle operazioni tipiche di una
generazione di un AG che opera su una popolazione di reti neurali.
Ogni cromosoma definisce la struttura di una rete, ed n cromosomi
traducono quindi n reti con architettura diversa. La performance
di ciascuna rete viene quindi valutata, e gli esemplari migliori
hanno accesso alla fase di riproduzione, la quale da vita ad
una nuova serie di cromosomi. Il ciclo viene quindi ripetuto
per il numero prefissato di generazioni, o fino a quando una
delle reti non raggiunge la soluzione desiderata.
Entrambe le operazioni hanno lo scopo fondamentale di aumentare
la variabilità della popolazione, dando la possibilità
a qualche esemplare di avvicinarsi alla soluzione ideale del
problema cha gli AG cercano di ottimizzare. In generale, gli
AG migliorano la performance, o si avvicinano alla soluzione
ideale, piuttosto lentamente. Questa lentezza è però
bilanciata dai vantaggi degli AG, che sono numerosi. Gli AG
sono uno strumento molto flessibile e generale, in quanto necessitano
di una componente minima di conoscenza specifica della natura
del problema. Il fatto di essere uno strumento altamente parallelo
consente inoltre agli AG di avere una probabilità elevata
di raggiungere una soluzione ottimale, qualora questa esista.
Infine, gli AG possono essere combinati con altri metodi di
ricerca ed ottimizzazione, come ad esempio le reti neurali (Figura
1). In questo caso, gli AG possono essere utilizzati per definire
l’architettura delle varie reti che costituiscono la popolazione,
i cui parametri possono variare sostanzialmente a seconda del
dominio di applicazione. Gli AG possono quindi essere utilizzati
come un sistema parallelo che ricerca la migliore struttura
della rete fra le molte possibili architetture.
Reti
Neurali
Bibliografia
Risorse
Internet
|