6

Voglio avere una rete neurale artificiale:Come implementare una rete neurale artificiale in Delphi?

  • 42 neuroni di input
  • 168 neuroni nascosti
  • 7 neuroni di output

Questa rete è quello di giocare il gioco del "Connect Four" . Alla fine di ogni partita, la rete riceve un feedback (risultato del gioco/vittoria?).

L'apprendimento deve essere fatto con l'apprendimento della differenza temporale.

Le mie domande:

  • Quali valori dovrebbero essere nel mio allineamento ricompensa?
  • E infine: come posso applicarlo al mio gioco ora?

Grazie mille in anticipo!

+14

Che cosa intendi con "cosa c'è che non va"? Tu ci dica. Cosa c'è di sbagliato in questo? Non viene compilato? Compila ma dà errori quando lo esegui? Non dà l'output giusto? È molto più facile dare una mano con domande come questa quando ci dai qualcosa da fare. –

+1

Compilano bene a Delphi 2010! – IElite

+2

@ user89818, dopo aver risposto alla domanda di Mason e aver risolto il bug trovato da Sertac: Inizia in piccolo, non puoi testare con 217 neuroni in totale, diminuisci il numero in qualcosa di molto, molto più piccolo; Configura un buon foglio di lavoro Excel, esegui il programma nel debugger e per ogni passaggio aggiorna il foglio di lavoro Excel * a mano * e confronta i valori con quello che vedi in Delphi. Ciò aiuterà a individuare eventuali errori logici. –

risposta

4
+0

Link interessanti. Il primo è delphi specifico, sebbene gli altri non lo siano. Ho avuto problemi nel caricare il primo link. Ne ho un altro per NeuroVCL? Sembra che i file DCU (binari) per Delphi 5 siano forniti dall'autore, ma nessuna fonte, rendendo questo NeuroVCL una curiosità storica interessante per chiunque non abbia Delphi 5 o 6. Link alternativo: http: //solair.eunet .rs/~ ilicv/free_eng.html –

+0

Grazie :) Collegamenti interessanti, ma poiché sto cercando alcuni suggerimenti per preparare la mia implementazione, non posso davvero usarlo. E: voglio implementare l'algoritmo TD (lambda) per l'apprendimento mentre tutti i link hanno la semplice back-propagation implementata. – caw

+0

FANN supporta anche Delphi: http://sourceforge.net/projects/fann – avra

1

Se sei interessato a utilizzare una libreria di terze parti (gratuita per prodotti non commerciali, sono stato molto felice con alcuni strumenti di questa azienda http://www.mitov.com/html/intelligencelab.html (anche se non ho mai usato il loro laboratorio di intelligence, solo strumenti video .)

+0

Grazie! Potrebbe essere davvero interessante per altri utenti, ma nel mio caso, ho bisogno della mia implementazione;) – caw

4

Il primo colpo è: si sta assegnando '0' a t in 'main', ma il limite inferiore degli array 'è' 1 ', quindi si accede a un elemento non esistente nei loop, da qui l'AV

Se avessi abilitato il controllo del range nelle opzioni del compilatore, avresti ricevuto un errore di controllo dell'intervallo e probabilmente avresti trovato il motivo in precedenza

BTW, dato che non ho idea di cosa stia facendo il codice, non avrei notato nessun altro errore in questo momento ..

+0

Grazie per aver segnalato questo piccolo errore. L'ho corretto nel codice sopra – caw

0

Fast Artificial Neural Network (FANN) è una buona libreria open source, il suo stato ottimizzato e utilizzato da una vasta comunità, con un sacco di sostegno e delphi binding.

L'utilizzo delle dipendenze in quest'area è consigliato se non si capisce bene cosa si sta facendo, il più piccolo dettaglio può avere un grande impatto sul rendimento di una rete neurale; quindi meglio passare il tempo sulla tua implementazione della rete, quindi su qualsiasi altra cosa.

0

Altri link che possono essere utili per voi:

http://delphimagic.blogspot.com.ar/2012/12/red-neuronal-backpropagation.html (include il codice sorgente) Coding una rete neurale backpropagation con due neuroni di ingresso, due uscite ed uno strato nascosto. L'esempio fornisce due serie di dati che possono addestrare la rete e vedere come l'apprendimento accurato riduce al minimo l'errore mostrato in un grafico. La modifica del programma può modificare il numero di volte in cui la rete è stata addestrata con dati di test (epoche)

Problemi correlati