User Tools

Site Tools


neurali:neat

> reti neurali artificiali

NEAT

> https://nn.cs.utexas.edu/downloads/papers/stanley.cec02.pdf

NEAT (NeuroEvolution of Augmenting Topologies)

Nasce nel 2002 e modifica progressivamente una rete neurale, tenendo traccia delle modifiche.

  • Può modificare (Topology)
  • Può pesi delle connessioni tra nodi (Weight)

Per questo motivo invece di NEAT potrebbe essere chiamata anche TWEANN

NEAT Mette in competizione i diversi tipi di rete tra loro (come nell'evoluzione per selezione naturale) mentre le reti neurali mutano, viene conservato:

  • informazioni su:
    • nodi
    • connessioni

Ogni nuova rete ottenuta è chiamata anche popolazione (sono memorizzati i nodi, gli archi e i pesi) Ogni nuova rete (popolazione) è descritta anche con informazioni sulla storia della sua evoluzione ( Si tiene traccia delle generazioni dei nuovi nodi (numerati cronologicamente) per poter confrontare tra loro le innovazioni topologiche introdotte

Algoritmo delle generazioni

L'utente avvia la simulazione della evoluzione e può stabilire dopo quante generazioni fermarsi. Ogni nuova generazione è ottenuta da accoppiamento tra reti genitori e da mutazioni. La struttura della rete figlia sarà sempre piu' complessa. L'algorimo si può fermare anche prima del numero delle generazioni stabilito se si usa un funzione fitness con threshold

funzione fitness

Ogni rete neurale è progettata per approssimare una funzione desiderata dall'utente, La funzione fitness è definita dall'utente e misura in modo numerico la bontà dell'approssimazione ottenuta Vince la rete che ha un risultato superiore, ad esempio, calcolando la distanza tra valore desiderato e valore ottenuto (errore)

Linguaggi di implementazione

neurali/neat.txt · Last modified: 2023/06/09 11:53 by profpro