Per il mio progetto universitario sto creando una rete neurale in grado di classificare la probabilità che una transazione con carta di credito sia fraudolenta o meno. Mi sto allenando con backpropagation. Sto scrivendo questo in Java. Vorrei applicare il multithreading, perché il mio computer è un i7 quad-core. Mi dà fastidio passare ore ad allenarmi e vedere la maggior parte dei miei core inutilizzati.Come posso applicare il multithreading al training della rete neurale di backpropagation?
Ma come applicare il multithreading a backpropagation? Backprop funziona regolando gli errori all'indietro attraverso la rete. Uno strato deve essere fatto prima che l'altro possa continuare. C'è un modo in cui posso modificare il mio programma per fare lo sfondo multicore?
come si uniscono i pesi? Che cosa "unisce" significa qui, li aggiungi tutti? – PeeS
I pesi non vengono uniti. Sto calcolando i gradienti in ogni thread e sono sommati in una fase di riduzione. Il modo in cui i gradienti vengono applicati ai pesi dipende dall'algoritmo di addestramento della propagazione utilizzato, ma l'aggiornamento del peso viene eseguito in una sezione critica. Quando si dispone di un numero di campioni di allenamento considerevolmente maggiore di quello del peso, il codice impiega molto più tempo nel calcolo del gradiente multi-thread rispetto all'aggiornamento del peso di sezione critico. – JeffHeaton
Il tuo link serve una "Pagina non trovata". –