"New Neural" è un progetto di motore di rete neurale Open Source per la piattaforma MetaTrader 5. - pagina 69
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie :) poke finale.
Preferisco occuparmi di una sola implementazione e cercare di perfezionarla.
Potrei non essere in grado di competere con la genetica in scala (quelle classi di compiti che non hanno una funzione obiettivo esplicita), ma in termini di efficienza d'uso e apprendimento...
Decisione molto giusta, nel momento in cui appare qualche progetto qui avrete già fatto un sacco di lavoro di base, e se il progetto non appare, darete un risultato.
Hai più possibilità di mantenere vivo il progetto.
Non arrendetevi, pubblicate il vostro lavoro, fate domande, forse qualcuno si metterà all'opera.
Non sparire, metti il tuo lavoro, fai domande e vedrai chi altro si impegnerà.
Cosa c'è in ballo. Lo posterò non appena sarà pronto.
Ho un'implementazione C++. Tutto quello che devo fare è riorganizzare e aggiornare un paio di cose.
Vorrei che sputassero, ma mi ignorano. Ti è stato chiesto un consiglio - sì o no.
Se (SÌ), andrò a leggere qualche libro intelligente;
altrimenti vai a leggerne un altro e calcia nell'altra direzione;
Buon pomeriggio, non proprio in tema, ho bisogno di un consiglio.
Io stesso ho un compito. È necessario scegliere una finestra temporale adattiva del momento attuale, e non impostarla in parametri per esempio in 10 barre. Poi dovremmo analizzare la storia in profondità per scoprire a quale cluster appartiene la finestra selezionata. Le reti neurali possono gestirlo o è più facile fare qualcos'altro? Se non mi dispiace, per favore mandami un libro sulle griglie solo sul livello della salsiccia.
Non conosco il livello delle salsicce, come si dice ricco.
Proprio il clustering e la classificazione sono i compiti che le reti svolgono meglio.
L'approssimazione è peggiore, ma va anche bene, ma con l'estrapolazione in generale è stretta. Tutto dipende dall'implementazione però.
Non conosco il livello delle salsicce, come si dice.
Il clustering e la classificazione sono i compiti che le reti svolgono meglio.
L'approssimazione è peggio, ma va anche bene, ma l'estrapolazione è difficile. Tutto dipende dall'implementazione, però.
...
l'apprendimento è un processo esterno alla rete stessa
...
Poi, per completezza, l'apprendimento non è solo un processo esterno ma anche di natura interna, poiché spesso ha accesso non solo ai pesi ma anche ai dati di calcolo intermedi, così come alle proprietà della topologia.
Ed è a causa di questa proprietà del processo di apprendimento che viene spesso attribuito ai processi interni della rete.
Arrivano alla conclusione che la rete dovrebbe esporre le sue informazioni interne al processo di apprendimento, mentre le nasconde del tutto all'ambiente.
La linea d'azione logica in questa situazione è quella di avvolgere la rete stessa in un guscio di formazione, se necessario,
Così, abbiamo un oggetto di rete esterno che ha dei metodi:
Un metodo di flusso di lavoro riceve la rete così com'è, un metodo di formazione riceve la rete avvolta nel guscio di formazione; una continuazione logica dell'incapsulamento sarebbe quella di dare un metodo di rete con un flag di selezione invece di due metodi di flusso di lavoro e di formazione.
quindi abbiamo un oggetto di rete esterno che ha dei metodi:
Un metodo di flusso di lavoro ottiene la rete così com'è, un metodo di formazione ottiene la rete avvolta in un guscio di formazione, un'estensione logica dell'incapsulamento sarebbe quella di dare un metodo di rete con una bandiera di selezione invece di due metodi di flusso di lavoro e di formazione.
Nel caso più generale, la rete deve avere un solo metodo run()
Esegue il calcolo dei neuroni di uscita e presuppone che gli ingressi siano già stati inizializzati
L'"insegnante" è un oggetto separato che viene inizializzato con i parametri di formazione e controllato dall'oggetto di formazione
Avreste bisogno di un validatore per controllare se potete insegnare questo oggetto con questo metodo
Ma tutte queste cose sono difficili da formalizzare nel caso generale
Ecco perché il design rigido standard del tipo Network+Function+Teacher può essere sviluppato per un utente finale e permettere di impostare solo alcuni parametri, per esempio, il numero di neuroni nello strato
la rete deve esporre le sue informazioni interne al processo di apprendimento mentre le nasconde all'ambiente
Sono d'accordo. Alcuni metodi di formazione, ma non tutti, richiedono un accesso quasi completo all'interno della rete
yu-sha:
...
Alcuni metodi di formazione, ma non tutti, richiedono un accesso quasi completo agli interni della rete.
Questo è il problema, alcuni metodi richiedono che la rete sia non solo esposta, ma anche adeguatamente strutturata per il metodo.
In altre parole, il metodo stesso è stato scritto per una rete particolare. Che senso ha implementare questi metodi in un motore universale?
È meglio lasciare che Andrew codifichi tutto. Vedo un metodo di formazione universale per il motore universale - GA.
Nel resto abbiamo: un'idea del motore universale per qualsiasi topologia, idea del metodo universale di inizializzazione per qualsiasi topologia e GA come trainer universale di tutto questo.
Sul lato positivo, abbiamo una facile implementazione di nuovi tipi di neuroni, quelli standard ma non ancora descritti o non standard.
Solo un metodo di formazione è negli svantaggi.
Se qualcuno può capire come inserirvi altri metodi di allenamento, sarebbe fantastico, ma per ora è così.
Nel resto abbiamo: l'idea di un motore universale per qualsiasi topologia, l'idea di un metodo di inizializzazione universale per qualsiasi topologia, e GA come tutor universale per tutto questo.
Sul lato positivo, è facile implementare nuovi tipi di neuroni, quelli standard ma non ancora descritti o non standard.
Gli svantaggi sono solo un metodo di formazione.
Pensando allo stesso modo sono arrivato quasi alla stessa conclusione)).
E poiché GA diventa il principale algoritmo di apprendimento, c'è un urgente bisogno di calcolo parallelo.
È qui che entrano in gioco le GPU.
Pensando allo stesso modo sono arrivato più o meno alla stessa conclusione ))
E poiché GA diventa il principale algoritmo di apprendimento, c'è un urgente bisogno di calcolo parallelo
È qui che entrano in gioco le GPU
Se leggete attentamente quello che ho scritto prima, avrete notato che nel mio modello di rete universale l'elaborazione stessa è divisa in strati, quindi i neuroni sono combinati in strati non formalmente (per proprietà), ma effettivamente (uno strato ha una memoria e un neurone no, un neurone rimane essere solo un'entità informativa che fornisce informazioni a uno strato su dove e perché). Quindi, il parallelismo è definito dalla struttura stessa del motore (le informazioni all'interno del livello sono elaborate in parallelo). Ho già fatto NS addestrato da GA e la più grande perdita di produttività è stata proprio sul calcolo di NS (soprattutto su grandi reti). E come pubblicità, posso dire che per UGA proposto da joo , imparare NS è un gioco da ragazzi.
Ma se riusciamo a parallelizzare anche i calcoli di FF (e NS per GA è una parte di FF), allora sono solo per questo. Anche se non credo che sarà un compito semplice, le azioni semplici vengono eseguite a strati, mentre il calcolo di FF può comportare una sequenza abbastanza complessa.