Qualche tempo fa stavo sperimentando l'evoluzione di creature virtuali usando la rete neurale + l'algoritmo genetico, ma ciò non andava bene (la velocità di simulazione era troppo lenta, principalmente a causa di cattive abitudini di programmazione di creature, non di reti neurali). Ho usato la rete neurale Feedforward e ora posso vedere che non è esattamente la scelta giusta per questo tipo di applicazione (le creature non hanno memoria, ecc.)
Mi piacerebbe riprovare, ricominciare da capo e mi piacerebbe esibirmi meglio di prima. Tuttavia, non so quale architettura di rete neurale selezionare.
Cosa mi serve:
- Possibilità di memoria: dovrei studiare di più sulle celle di memoria o usare l'architettura NN corretta (come Reccurent NN)? Quali saranno le principali differenze?
- Possibilità di mutazioni: mi piacerebbe non solo mutare weihts in rete, ma anche possibilità di aggiungere pesi / neuroni in "scatola nera". Ho intenzione di usare un algoritmo genetico, quindi cross mutations + mutazioni casuali.
- Facile programmazione: ho intenzione di non utilizzare risorse e di scrivere il mio NN da terra per imparare. Preferirei reti neurali più semplici di altre. (Mentre scrivo questo, mi rendo conto che potrebbe non esserci differenza)
Cosa non ho bisogno:
- Calcolo rapido: penso che il 90% del tempo della CPU verrà utilizzato su altre cose per controllare le mie creature, piuttosto che sul calcolo di NN. (dato che sono un programmatore terribile)
- Addestramento: userò l'algoritmo genetico per allenarmi, quindi non ho bisogno di metodi di allenamento tipici per addestrare NN. Posso usare i tipi di NN in cui la parte dell'addestramento è molto intensa per la CPU, in quanto eliminerò questa parte.
Sto guardando possibili tipi di NN e penso che un certo tipo di rete ricorrente sarebbe adatto, ma non posso davvero scegliere un vincitore, dal momento che ho sempre lavorato con il tipo di Feedforward, e avrò bisogno di conoscere il tipo che vuoi consiglio prima di iniziare a scriverlo Mi piacerebbe imparare solo quello che suggerirai invece di imparare i pro / contro di tutti, poiché penso che mi rimetterebbe a posto troppo a lungo.
Il compito è di sopravvivere. Non ho alcun obiettivo a parte rispetto all'osservazione di modelli di comportamento interessanti che possono evolversi. Fondamentalmente mi piacerebbe "seminare" il mondo con alcune proprietà con creature in grado di sfruttarle (cibo, temperatura, pericolo) e così via. Tutto è stato modellato in modo molto semplice, in 2D bidimensionale.
La domanda è: Qual è il tipo di NN che secondo te si adatta meglio?