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

 
TheXpert:

La prima cosa da fare è avere un nuovo e semplice forum per il progetto.

Penso che dobbiamo fare un progetto su sorsforge e spostare subito la discussione lì.

La prima cosa da fare è il brainstorming, abbiamo bisogno di un database di idee, anche se sono surreali, e il ramo del forum (per la sua apertura) è il posto migliore per farlo.

Tutti possono prendere d'assalto i forum, anche i non specialisti. I suggerimenti per le tempeste sono meglio evidenziati dal resto del testo a colori.

Per esempio: fare un motore grafico per creare una griglia, prima di avviare il motore, impostare il numero di strati, poi la finestra di input per ogni strato dal numero di neuroni, poi linee di tendenza che l'utente aggiunge definire le connessioni.

 
TheXpert:

Andrei, ti dispiace se facciamo una sessione di brainstorming da questo thread?

Certo che sì. Ecco a cosa serve questo thread.
 

Temi dell'assalto:

-- Tipo di progetto (il modo in cui l'utente interagisce con il progetto)

-- Reti da implementare nel progetto

-- Pre-elaborazione e tutto ciò che comporta

-- Architettura, interfacce

-- Attuazione, connettività.

-- Test, debugging.

Vietato: criticare qualsiasi, anche l'idea più delirante, inondazione. Il livello di competenza non ha importanza. Se siete interessati e avete dei pensieri, parlate!

È benvenuto: proporre nuove idee, sviluppare idee già esistenti.

 
TheXpert:
...

Forse dovrei aggiungere:

-- Post-elaborazione

A mio parere, si dovrebbe prestare particolare attenzione alle interfacce dei singoli moduli, con l'aspettativa di scalabilità (collegare/disconnettere diversi segnali, capacità di creare comitati di reti, ecc.) Da qui la necessità di separare la rete stessa (la rete stessa, per esempio MLP con due strati nascosti prende solo poche decine di righe, esempio nell'atacha) dall'algoritmo di apprendimento.

File:
F_MLP.mqh  5 kb
 

normalizzazione dei vettori, visualizzazione dei dati di input e di output,

utilizzare il costruttore esterno Neurosolutions, utilizzare la DLL con Neurosolutions, niterface ...

interfacce per caricare-scaricare dati: vettori, pesi,

EDNA Architettura di rete di progettazione evolutiva

La capacità di selezionare e personalizzare le funzioni di attivazione e gli algoritmi di apprendimento,

 
njel:
Probabilmente uno dei chip è che non ci sarà un dlloc.
 

...sembra così:

Tipo di progetto: libreria di classi,

1) metodo di interazione - usando API (ampiamente documentate) nel codice dei loro sistemi .

Immagino che l'applicazione pratica della biblioteca sarà:

  1. Scrittura rapida di utilità proprie (come chiamarle) - specificare il tipo di rete richiesto, formare la sua configurazione, prescrivere ciò con cui la alimenteremo (campione di allenamento), ecc.
    Ciascuna di queste utilità può servire come un'applicazione separata con parametri di input. Eseguilo nel tester e ottieni una rete addestrata come file(FILE_COMMON)

  2. Come scrivere EAs che possono utilizzare file di reti addestrate?

2) secondo modo di interazione. Applicazione GUI per semplificare la creazione della rete/utilità di formazione - per quanto riguarda i parametri del tipo ecc. è facile. ma tipi diversi hanno impostazioni diverse? + come impostare nell'UI cosa alimentare la rete? è più facile impostarlo nel codice. È possibile incorporare la creazione di un modello di utilità di generazione di rete nel meta-editor, come un wizard di creazione di reti neurali? L'output è il codice finito, l'unica cosa che dovete specificare è cosa viene alimentato all'ingresso della rete?


P.S. sopra joo è stato suggerito di usare "interfacce di moduli individuali con l'aspettativa di scalabilità", hanno solo bisogno di essere generati in meta-editor basato sulla procedura guidata, e l'algoritmo di apprendimento dovrebbe essere finito

 
joo:

Qui suggerisco di delineare gli scopi e gli obiettivi del progetto. Discutere i dettagli e le sfumature.

Se ho capito bene, l'idea è qualcosa come il FANN, solo molto più ampio e generale? Anche sapere come valutare le prospettive di un tale mostro, è un tale strato di immensità) Così tanti dettagli e sfumature. Anche nel piccolo pezzo di codice postato joo, non ha fatto a meno di affilare ad una particolare implementazione (il numero 7 nella funzione di attivazione è probabilmente da questo opus). Le reti neurali sono costituite interamente da questi dettagli. Con interesse seguirò il progetto e cercherò di non essere d'intralcio, ma finora non ho idea - è possibile in linea di principio da pochi appassionati ....

 

Reti neurali modulari

È possibile aggiungere la capacità di addestrare una grande rete in parti, in effetti è l'addestramento del comitato, ma senza i problemi di combinare le reti in un unico sistema.
Модулярні нейронні мережі — Вікіпедія
  • uk.wikipedia.org
Модулярна нейронна мережа (англ. ) — група нейронних мереж (які в даному випадку називаються модулями), що керуються певним посередником. Кожна нейронна мережа слугує модулем і оперує окремими входами для вирішення певних підзавдань із групи завдань, які повинна виконати модулярна нейронна мережа. [1] Посередник приймає вихідні сигнали кожного...
 
Figar0:

Se ho capito bene, l'idea è qualcosa come il FANN, solo molto più ampio e generale?

Molto più "ampio" e "generale". :)

Perché preoccuparsi altrimenti?

Figar0:

Così tanti dettagli e sfumature. Anche nel piccolo pezzo di codice postato joo, non ha fatto a meno di affilare ad una particolare implementazione (il numero 7 nella funzione di attivazione è probabilmente da questo opus). Le reti neurali sono costituite interamente da tali parti.

Qui è esattamente dove non lo è. La cifra 7 nella funzione di attivazione è il fattore di scala, in modo che il grafico della curvatura sigmoide cada nell'intervallo [-1.0;1.0].

Suggerisco inoltre di usare questo intervallo per gli ingressi e le uscite di tutti i tipi di griglia per evitare confusione e assicurare la stessa interfaccia. Ecco perché ho messo 7 lì - in previsione dei miei progetti futuri.

Tuttavia, questo coefficiente può essere formato come una variabile, allora diventa possibile regolare la curvatura della sigmoide in tutti i neuroni che hanno FA (dalla commutazione logica, al semplice scalare lineare, includendo una sezione intermedia con trasformazione S non lineare)

Motivazione: