"New Neural" è un progetto di motore di rete neurale Open Source per la piattaforma MetaTrader 5. - pagina 79

 
TheXpert:

Allora perché avete la maschera attaccata all'uscita e non di nuovo ai neuroni?)

E come volete stipare la funzione di attivazione nella GPU?

Imho, come l'ultima volta, si sta andando a stipare ciò che non si può stipulare. Ma questo è imho, quindi si può tranquillamente sdraiarsi su di esso.

Non ti disturberò più, a meno che non si tratti di affari.

Ah, il cogitron. Cos'altro, la rete hopfield, dove l'input è l'output. C'è anche uno sparuto...

Rispondere dal basso verso l'alto,

gli ingressi sono le uscite.

La GPU è facile da implementare poiché tutta l'elaborazione è parallela.

Cambiare l'attivazione o qualche altro processo può essere descritto da stringhe dinamiche, MetaDriver ha esperienza.

Maschera, pesi, uscite, dati di tempo sono tutti collegati allo stesso modo, anche se è possibile scollegarli tramite un array di indici che può essere creato dalla maschera.

In generale, la maschera crea la topologia, ed è memorizzata con i pesi.


Il progetto stesso si presenta così:

  • XML standard di archiviazione di rete (carico/salvataggio), anche se gravito verso l'archiviazione binaria (ma non è cruciale, la gente vuole XML per chiarezza)
  • GUI per creare una nuova rete (creare/salvare)
  • Interfaccia di creazione di reti software (creare/salvare)
  • Modello di una rete universale (di base)
  • Classi che estendono il modello di rete di base
  • Guscio di formazione (estensibile)

Gli ultimi due punti dipendono dall'open source.

 

A proposito di matrici sparse correttamente notato, se la matrice è sparsa allora il modello non è molto efficiente, ma qui è possibile applicare un array di indici, funzionerà un po' più lento che nell'implementazione diretta, ma ancora ad un livello, e per GPU non fa differenza se sparse o completamente accoppiato tutti lo stesso aggiungere vola.

Hopfield net nessun problema a tutti, ciò che non è chiaro come implementarlo chiedere (perché non capisco come un esempio così semplice provoca difficoltà).

Non mi sono perso niente, vero?

ZZZ generalmente un tempo abbastanza lungo ponderato, e questa implementazione X sa cosa, ponderato su ciò che sarebbe impossibile implementare questo modello, quando non potevo venire con deciso di chiedere aiuto dalla sala.

 
Urain:

Cambiare l'attivazione o qualche altro processo può essere descritto da stringhe dinamiche, MetaDriver ha esperienza.

Confermato: questo è l'ultimo dei problemi delineati.

Per quanto riguarda la sparsità.

La mia comprensione è che a livello di descrizione della rete va bene ed è anche abbastanza utile.

Serve solo un compressore: un "impacchettatore" in una descrizione compatta, che, a sua volta, è già "cibo" per la successiva compilazione in sorgente in mql e/o OpenCL.

// Bene, o per un configuratore dinamico "maglia universale", se ha ancora dei sostenitori...

 

Per quanto riguarda la sparsità (ho scritto sopra), è possibile creare un array di indici per ogni neurone basato sulla maschera, che dopo il conteggio indicherà dove posizionare le uscite. E in generale, possiamo discutere in generale. La cosa principale ora è adottare in generale il modello di riferimento.

Questo modello è semplice da capire, ecco perché sarà facile scrivere algoritmi di apprendimento per esso.

Per le GPU il modello originale è ancora migliore (imho).

 
TheXpert:

Allora perché avete la maschera attaccata all'uscita e non di nuovo ai neuroni?)

E come volete stipare la funzione di attivazione nella GPU?

Imho, come l'ultima volta, si sta andando a stipare ciò che non si può stipulare. Ma questo è imho, quindi si può tranquillamente sdraiarsi su di esso.

Non ti disturberò più, a meno che non si tratti di affari.

Ah, il cogitron. Cos'altro, la rete hopfield, dove l'input è l'output. Poi c'è la rada...

Codifica sparsa - grande roba! Ci stavo giocando mezzo anno fa, cercando dei modelli nel mercato. Lo fa. E sembra generalizzare. Ma come si è scoperto secondo i miei esperimenti, i modelli di prezzo passati non si ripetono in futuro. Ho applicato questo metodo per cercare modelli nelle immagini e nei suoni. Ha funzionato abbastanza bene. Ho fatto un rapporto ai miei colleghi che hanno cercato di fare la stessa cosa per 3 anni, usando i neuroni spike. Tutti erano contenti. Due candidati al dottorato volevano che diventassi il loro consulente (e, naturalmente, che mi lasciassi usare i miei risultati nelle loro tesi). Uno si è offerto di scrivere un articolo di giornale. Mi ci sono volute solo un paio di settimane per scrivere il codice, eseguirlo su diversi dati e scrivere il rapporto. In breve, la codifica rarefatta ha molto potenziale, ma probabilmente non nel mercato, ma dove c'è una certa struttura.

A proposito, sul modello universale NS sopra descritto non ho ancora molto da dire, perché non capisco come i neuroni sono divisi in strati, come sono assegnati ad elaborare gli input e come si stabiliscono le connessioni.

 
gpwr:

La codifica sparsa è fantastica! Ci stavo giocando mezzo anno fa, cercando dei modelli nel mercato. Lo fa. E sembra generalizzare. Ma come si è scoperto secondo i miei esperimenti, i modelli di prezzo passati non si ripetono in futuro. Ho applicato questo metodo per cercare modelli nelle immagini e nei suoni. Ha funzionato abbastanza bene. Ho fatto un rapporto ai miei colleghi che hanno cercato di fare la stessa cosa per 3 anni, usando i neuroni spike. Tutti erano contenti. Due candidati al dottorato volevano che diventassi il loro consulente (e, naturalmente, che mi lasciassi usare i miei risultati nelle loro tesi). Uno si è offerto di scrivere un articolo di giornale. Ho impiegato solo un paio di settimane per scrivere il codice, eseguirlo su diversi dati e scrivere il rapporto. In breve, la codifica rarefatta ha molto potenziale, ma probabilmente non nel mercato, ma dove c'è una certa struttura.

A proposito, sul modello universale NS sopra descritto ho ancora poco da dire perché non capisco come i neuroni sono divisi in strati, come viene loro assegnata la funzione di elaborare gli input e come vengono stabilite le connessioni.

Nel modello proposto, i neuroni non sono affatto limitati dagli strati, cioè ogni neurone precedente può teoricamente emettere un segnale a uno successivo.

Ma è possibile introdurre delle restrizioni!!!, impostare i livelli della rete, e in relazione a queste regole di livello controllare la maschera (non influenzerà l'algoritmo, ma ci sarà un controllo aggiuntivo al caricamento).

Poi, a proposito, la GPU può essere alimentata non con neuroni individuali, ma con pacchetti di neuroni descritti come uno strato. Ma di nuovo, il modello stesso non è vincolato dai livelli, e la questione dei livelli è un'ulteriore regola limitante (come l'arresto su richiesta), può o non può essere.

HI Con la costruzione senza strati il triangolo superiore della maschera (dietro gli ingressi) è azzerato, che descrive l'assenza di feedback nella matrice principale, quando appaiono gli strati, l'azzeramento è aggiunto con una voce in basso dalla diagonale. Il controllo delle maschere è proprio questo.

 
Urain:
Nel modello proposto, i neuroni non sono affatto limitati agli strati, cioè ogni neurone precedente può teoricamente emettere un segnale a uno successivo.

Ma è possibile introdurre delle restrizioni!!!, impostare i livelli della rete, e controllare la maschera in relazione a queste regole dei livelli (non influenzerà l'algoritmo, ma ci sarà un controllo aggiuntivo al caricamento).

Poi, a proposito, la GPU può essere alimentata non a neuroni individuali, ma a pacchetti di neuroni descritti come uno strato. Ma di nuovo, il modello stesso non è limitato dai livelli, e la questione dei livelli è un'ulteriore regola limitante (come l'arresto su richiesta), può o non può essere.

Con la costruzione senza strati, il triangolo superiore della maschera (dietro gli ingressi) è azzerato, che descrive l'assenza di feedback nella matrice principale, quando gli strati sono aggiunti, l'azzeramento è aggiunto con una voce in basso dalla diagonale. Questo è in realtà il senso del controllo della maschera.

Gli strati sono necessari perché in alcune reti diversi strati hanno una diversa elaborazione degli input e diverse connessioni dei neuroni tra loro all'interno dello strato. In realtà, non capisco la praticità dell'obiettivo di costruire una rete universale. Ci sono molte reti con le loro sfumature (funzioni dei neuroni nei diversi strati, la loro connessione, la formazione dei pesi, ecc.) Descriverli tutti in un modello mi sembra impossibile o inefficiente. Perché non creare una libreria di reti diverse?
 
gpwr:
Perché non creare una libreria di reti diverse?
Wo. Una GPU per una griglia specifica sarebbe ancora più veloce.
 
TheXpert:
Wo. Una GPU per una mesh particolare sarebbe ancora più veloce.
Ma questo approccio non contiene nemmeno il germe per cercare di incrociare geneticamente le topologie.
 
MetaDriver:
Ma questo approccio non contiene nemmeno il germe per cercare di incrociare geneticamente le topologie.

Ora ti sbagli. In primo luogo, se le uscite della griglia non possono essere immesse negli ingressi di un'altra griglia, che tipo di griglia è?

In secondo luogo, per la maggior parte, tutte le topologie possono essere fatte implementando strati con funzionalità per reti diverse.

Collegando i livelli con i pesi (maschera e pesi stessi) si ottiene qualsiasi mix di topologie che si desidera. La conversione è fatta dal neurone; la sinapsi trasmette solo il segnale.

L'importante è che il mix abbia un senso.

Per la genetica, l'unica condizione necessaria e sufficiente è la capacità di ottenere l'output e la nuvola di impostazioni. Ho pensato a tutto allora.