Domanda

Ho un insieme di dati di dimensioni ~ 500000 con l'input dimensione 46. Sto cercando di utilizzare Pybrain per addestrare la rete, ma la formazione è estremamente lento per tutto il set di dati. Utilizzando lotti di 50000 punti di dati, ogni partita richiede più di 2 ore per la formazione.

Quali sono avvertimenti di ottimizzare la progettazione della rete in modo che la formazione è più veloce?

È stato utile?

Soluzione

Ecco alcune delle cose che influenzano la velocità di formazione:

  • Numero di pesi in rete
  • velocità della CPU
  • pacchetto che si sta usando (per lo più il motore si sta lavorando su, in PyLearn questo è Theano)
  • Se tutti i vostri attacchi di dati nella memoria o si stia leggendo dal disco tra lotti

Per quanto riguarda la progettazione di rete l'unica cosa che si può veramente fare è rendere la rete più bassa per ridurre il numero di pesi. Per ridurre il numero di epoche ci potrebbero essere altre opzioni come l'aggiunta di connessioni residue, ma che non diminuirà il tempo di allenamento di 1 dell'epoca.

Senza ulteriori informazioni non è chiaro dove il collo di bottiglia è, ma 20 ore per un'epoca sembra un po 'alto. Il miglioramento più semplice e più grande sarà in grado di ottenere è quello di utilizzare una buona GPU, che dovrebbe essere possibile utilizzando pylearn in quanto è costruito sulla cima di Theano.

Altri suggerimenti

Usa un po 'di analisi dei set di dati (come Principal Component Analysis) cercando di capire la struttura sottostante del set di dati. Probabilmente si può ridurre la dimensione senza perdere troppe informazioni.

2 ore per un lotto è troppo lungo anche con una CPU. Quanti strati hai? Quante neutroni hai? Hai provato un unico strato? Cercare di ridurre la complessità del modello.

Si potrebbe desiderare di formare una regressione softmax, solo per avere un limite inferiore per la vostra potenza di calcolo. Se trovate la vostra lotta macchina anche con la regressione softmax, è necessario aggiornare l'hardware.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top