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

 
TheXpert:
Già risolto e applicato. Ed è anche postato in questo thread.

Ho scritto secondo tol64 , non ho visto un'altra frase del genere (a causa della mia disattenzione o mancanza di essa).

Se ho duplicato qualcosa, non mi dispiace lasciare che NeuroOpenSource lo cancelli.

TheXpert:

dll non è permesso

Sto solo dicendo che, per ora, basta farlo a mano, e poi forse MQ se ne uscirà con metodi speciali per casi speciali :o)
 
Urain:

Se ho duplicato qualcosa, non mi dispiace lasciare NeuroOpenSource delete.

Non è un amministratore :) .

Ti sto dicendo di usare le mani, per ora, e poi forse MQ rinsavirà e farà metodi speciali per casi speciali :o)

Non dovete cercare di abbracciare ciò che non potete afferrare. È meglio fare un passo alla volta. Ora si delineano le seguenti entità fondamentali:

__________________________

Una rete (composta da strati, sinapsi e buffer).

Un tutor (algoritmo di apprendimento versatile esterno), che ha bisogno della rete per enumerare e applicare tutti i parametri personalizzabili. Per esempio, un tutor genetico. Per impostazione predefinita, l'addestramento è incorporato nei livelli e all'interno della griglia.

Inizializzatore- Questa è probabilmente l'entità più semplice :) Inizializza i parametri regolabili della rete.

Responsabile del modello. Un'entità che permette di creare (generare) modelli, caricarli e salvarli, ed è compatibile con la mesh.

Manager visivo. Un'entità che permette di disegnare visivamente una rete.

Elaboratore di dati. Entità per la normalizzazione e l'analisi dei modelli.

_________________________

Non stai dimenticando qualcosa?

Tutte le entità sono collegate in qualche modo (cioè alcune entità devono supportare altre entità attraverso interfacce), ma sono essenzialmente indipendenti.

_________________________

Al momento, è possibile sviluppare un Patterns Manager e un Data Processor allo stesso tempo senza problemi, con accordi di supporto minimi.

 
TheXpert:

Non stai dimenticando qualcosa?

Tutte le entità sono collegate in qualche modo (cioè alcune entità devono supportare altre entità attraverso interfacce) ma sono essenzialmente indipendenti.

_________________________

Attualmente è possibile sviluppare un Learning Patterns Manager e un Data Handler allo stesso tempo, con accordi di supporto minimi.

Sì, non mi sembra di dimenticare nulla - è tutto lì.

Un'aggiunta - sarebbe auspicabile che ci fosse una certa compatibilità del Pattern Manager con il wizard standard del generatore di EA (potrebbe essere necessario dopare anche il wizard stesso) .Da qui, la capacità di generare modelli per neurodrive con la procedura guidata standard.

 

Suggerisco di considerare i seguenti punti architettonici:

1) preparare tutti i dati esterni (relativi al NS) sotto forma di indicatori, che permetteranno:

- essere indipendente dall'intero sistema

- Valutare visivamente la "correttezza" dell'idea

- scegliere il modo di normalizzazione

2) guardare attivamente verso OpenCL (CUDA purtroppo non è disponibile per i fortunati possessori di GPU AMD)

- 1536 Stream Processors su HD6970 non è 6 Core su CPU

- Nella maggior parte dei casi, l'addestramento delle reti neurali è un compito SIMD che cade perfettamente sulla GPU

- l'architettura dell'intero complesso dovrebbe essere progettata tenendo conto di questi requisiti fin dall'inizio

3) l'intera rotazione dei file tra i sottosistemi (configurazioni, reti, query, ...) dovrebbe essere mantenuta in XML

- standard aperto

- 100500 editor visivi

- parser prontohttps://www.mql5.com/ru/code/97

XmlParser
XmlParser
  • voti: 11
  • 2010.04.12
  • yu-sha
  • www.mql5.com
Простой XML-парсер, который использует стандартную библиотеку msxml.
 
TheXpert:

Rete (composto da strati, sinapsi e buffer).

Un trainer (algoritmo di apprendimento esterno e universale) che ha bisogno della rete per enumerare e applicare tutti i parametri configurabili. Per esempio, un tutor genetico. Per impostazione predefinita, l'addestramento è incorporato nei livelli e all'interno della mesh.

Un inizializzatore è probabilmente l'entità più semplice :) inizializza i parametri sintonizzabili della rete.

Pattern manager Un'entità che permette di creare (generare) modelli, caricarli e salvarli, compatibili con la mesh.

Visual manager Un'entità che permette la progettazione visiva della rete.

Elaboratore di dati Un'entità per la normalizzazione e l'analisi dei modelli.

Il gestore di modelli è un modello pronto per varie reti nel formato Initializer?

Anche il Visual Manager dipende dall'Initializer perché la VM salva i modelli creati attraverso il MF nel formato Initz.

L'inizializzatore dipende dalla rete.

Il tutor deve essere cucito nella rete stessa, a meno che ovviamente non sia esterno come GA. quindi il tutor interno dipende dalla rete

Elaboratore dati TheXpert è indipendente anche da se stesso :o), il preprocessore è indipendente dal postprocessore (l'importante è non perdere la sincronia).

Così, per ora, abbiamo solo due entità indipendenti, la rete e il gestore.

 
Urain:

Ilgestore di modelli è quello che può leggere e scrivere modelli in un file e lavorare con un filtro temporale.

No, il gestore di pattern è quello che può leggere i pattern in un file e lavorare con un filtro temporale.

Anche il gestore visivo dipende dall'inizializzatore.

L'inizializzatore inizializza solo i dati che gli vengono dati, quali dipendenze?

L'inizializzatore dipende dal web.

Vedi sopra.

Iltutor dovrebbe essere cucito nella rete stessa, a meno che, ovviamente, non sia esterno come GA.

Esattamente, è esterno. L'ho messo tra parentesi di proposito.

 

due algo SVM interessanti: SVM con time warping dinamico come funzione kernell:http://notendur.hi.is/steinng/ijcnn08.pdf apprendimento SVM incrementale: http: //www.isn.ucsd.edu/svm/incremental/

 
TheXpert:

L'inizializzatore tradurrà i dati tabellari sulla struttura della rete in un formato di inizializzazione, cioè "ora chiama questa funzione, o questo ciclo avrà così tante iterazioni", quindi dipende dalla capacità della rete. Se la rete non può essere creata in questo modo, allora questa negazione impone delle restrizioni all'inizializzatore.

Il gestore salva/carica, salva il creato dal visualizzatore, carica il salvato, ma se l'inizializzatore è dipendente allora la dipendenza viene passata sia al gestore che al visualizzatore attraverso di esso. Per esempio, l'utente ha richiesto che i risultati in*wg siano sommati a coppie e poi moltiplicati, ma la funzionalità della griglia non lo supporta, quindi dobbiamo introdurre dei vincoli nel renderer ed è una dipendenza.

(in0*wg0+
 in1*wg1)
 *
(in2*wg2+
 in3*wg3)
 
Urain:

L'inizializzatore tradurrà i dati tabellari sulla struttura della rete nel formato di inizializzazione.

Da dove viene questa fantasia? Ho la sensazione che tu non sappia affatto di cosa stai parlando.

class IInitializer
{
public:
   virtual void Init(double& value) {ASSERT(false);}
   virtual void Init(array& values) {ASSERT(false);}
   virtual void Init(matrix& values) {ASSERT(false);}
};

Dove sono le dipendenze?

 
TheXpert:

Merda, da dove viene questa fantasia? Ho la sensazione che tu non sappia affatto di cosa stai parlando.

Dove sono le dipendenze?

Hai leggermente frainteso, la dipendenza non è diretta ma inversa, passando attraverso la catena, se la rete non può fare qualcosa (creare una configurazione), allora quando scrivi i blocchi superiori deve essere presa in considerazione, questa è la dipendenza. Finché non c'è una configurazione approvata della rete, è troppo presto per parlare dei blocchi superiori, perché stanno galleggiando nel campo dell'incertezza.

ZZY Si può andare in un altro modo, scrivere tutti i blocchi così come sono, poi al trovare incongruenze mettere delle patch, poi ancora patch, come risultato quando il volume delle patch raggiunge il critico analizzare tutto e già riscrivere tutto da zero. È un po' macchinoso, ma permette di iniziare a lavorare immediatamente e di identificare gradualmente tutte le incongruenze.