In realtà, ci sono più cose che è possibile ottimizzare utilizzando GA per quanto riguarda NN. È possibile ottimizzare la struttura (numero di nodi, livelli, funzione di attivazione ecc.). Puoi anche allenarti usando GA, che significa impostare i pesi.
Gli algoritmi genetici non saranno mai i più efficienti, ma di solito vengono utilizzati quando si hanno pochi indizi su quali numeri utilizzare.
Per la formazione, è possibile utilizzare altri algoritmi compresi backpropagation, nelder-mead ecc ..
hai detto che volevi per ottimizzare i nodi numero nascosto, per questo, algoritmo genetico può essere sufficiente, anche se lontano da "ottimale". Lo spazio che stai cercando è probabilmente troppo piccolo per usare gli algoritmi genetici, ma possono ancora funzionare e afaik, sono già implementati in MATLAB, quindi niente da fare.
Che cosa intendi con l'ottimizzazione della quantità di formazione fatta? Se intendi un numero di epoche, allora va bene, ricorda che l'allenamento è in qualche modo dipendente dal peso iniziale e di solito sono casuali, quindi la funzione fitness utilizzata per GA non sarà realmente una funzione.
grazie. questa è l'informazione esatta che stavo cercando. – ServAce85
Mi piacerebbe codificarlo in C/C++, quindi accendere 1000 server Amazon EC2 per alcune ore. –
Qual è il vantaggio dell'allenamento di una ANN utilizzando GA rispetto all'utilizzo di GP? Le RNA hanno il vantaggio di imitare un cervello e di usare metodi per aggiornare i pesi in modo intelligente, come il backpropagation, per garantire che la rete si evolva nella giusta direzione (proprio come nel cervello). Ma quando si usa GA per aggiornare i pesi, perdi tutto questo, e non mi sembra che tu abbia più alcun vantaggio sul GP, dal momento che ora è solo al caso se la rete migliorerà o meno. Qual'è la tua posizioni in merito? – HelloGoodbye