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

 
Urain:

C'è una sfumatura nel problema del flusso di lavoro, poiché i metodi di elaborazione dei dati dipendono dal tipo di neurone, devono essere parte di un oggetto del tipo di neurone.

1) La novità è in ciò che si considera un livello. Se una tale formulazione, come ho dato, sarebbe difficile organizzare il calcolo nella GPU.

2) Se mi fermassi alla formulazione di TheXpert , ci sarebbero problemi con il caricamento della GPU.

1) Perché?

2) Perché?

 
Urain:

Uno strato è un amalgama di neuroni non dipendenti dalla stessa iterazione e dello stesso tipo.

Com'è? Come farete a spremere il succo di una GPU senza una rappresentazione vettoriale? Questa è una delle cose che sto considerando.
 
TheXpert:
Come si fa? Come farete a spremere il succo della GPU senza una rappresentazione vettoriale? Questa è una delle cose di cui tengo conto.

Perché senza vettore? Gli array di dati sono esterni, non resta che specificare quali dati fanno cosa con quali.

Quindi, si hanno dati su quali neuroni sono in uno strato, e li si invia alla GPU per calcolare il vettore di questo strato e così via attraverso gli strati.

ZS ah sì nel modello di neuroni che ho disegnato, è necessario introdurre il concetto di dati per memorizzare i calcoli intermedi (beh per lavorare con la GPU dovrebbero essere anche esterni).

 
joo:

1) Perché?

2) Perché?

1) Perché nella mia formulazione uno strato può contenere diversi tipi di neuroni, e questo è un compito atipico che non può essere passato alla GPU

2) Perché nella formulazione di Andrew un neurone può essere un livello e questo minaccia di sottocaricare la GPU

ZS in generale si sceglie il male minore, il sottocarico della GPU non è così terribile come la potenziale incapacità di usare la GPU.

 

è un peccato che mql non abbia puntatori ai dati, altrimenti potremmo semplicemente aggregare i dati dai vettori ai neuroni direttamente.

Alt, perché abbiamo bisogno dell'aggregazione, se possiamo semplicemente passare l'indice del vettore dati? Sarebbe lo stesso legame di accesso diretto.

ZZI Creare un oggetto di riferimento dati in un neurone invece di un oggetto dati.

 
Urain:

2) perché nella formulazione di Andrei un neurone può essere un livello e questo minaccia di sottocaricare la GPU

Se può essere unito... Allora dovrebbe essere unito.
 
TheXpert:
Se può essere unito... Allora dovrebbe essere unito.
Questo è il problema se può, e può dipendere da due condizioni, l'indipendenza ad una iterazione e l'identità con gli altri neuroni di strato (cioè come elabora i dati internamente).
 

Ho dei frammenti di pensieri su come organizzare un gas neurale in crescita con un tale motore, ma non si sono ancora formati in parole.

Una sola tesi: la reinizializzazione della rete sarà necessaria. L'inizializzazione stessa dovrebbe essere disponibile per l'algoritmo di apprendimento.

Растущий нейронный газ - реализация на языке программирования MQL5
Растущий нейронный газ - реализация на языке программирования MQL5
  • 2010.09.24
  • Алексей
  • www.mql5.com
В статье приводится пример написания на языке MQL5 программы, реализующий адаптивный алгоритм кластеризации, называемый "Растущий нейронный газ" (Growing neural gas, GNG). Статья рассчитана на пользователей, изучивших документацию к языку, а также уже имеющих определенные навыки программирования и базовые знания в области нейроинформатики.
 
TheXpert:

Il responsabile del progetto può essere gpwr. In parte potrei essere io.

Grazie per la vostra fiducia, ma non credo che sarei adatto come project manager. Vi spiegherò perché.

  1. La programmazione non è la mia specialità. Lo faccio per hobby. Non ho familiarità con molte delle sfumature del coordinamento di un gruppo di programmatori.
  2. Negli ultimi 15 anni ho gestito diversi progetti al lavoro. Ho scoperto che il progetto che gestisco si realizza con successo in un'atmosfera in cui i membri sono obbligati ad eseguire i miei comandi (dittatura) per paura di perdere il loro lavoro e il loro stipendio. In un'atmosfera democratica, come in questo caso, dove i membri del progetto non sono pagati e non hanno alcuna leva per mantenerli nel team del progetto, la diktatura non è un metodo appropriato e il progresso è molto difficile senza di loro.
  3. Il leader stesso deve essere interessato al progetto. Il mio interesse finora è come osservatore. Come ho già detto prima, non mi interessano più le reti neurali classiche, soprattutto la questione della loro codifica in MQL5. Ora sono interessato ai metodi di trasformazione delle informazioni di input. Quando avrò finito la mia autoformazione in questi metodi e li avrò sperimentati a prezzi di mercato, il mio interesse si sposterà su qualcos'altro.
  4. La gestione di questo progetto (così come qualsiasi altro progetto) richiede tempo e dedizione, che non ho al momento (ho già un progetto al lavoro).

Da tutto ciò, la mia raccomandazione è questa.

  1. I MC dovrebbero essere ben pagati come partecipanti al progetto in modo che ci sia un interesse finanziario nel partecipare a questo progetto e nel suo completamento con successo. Siccome vivo negli Stati Uniti, i miei standard retributivi sono più alti (probabilmente è per questo che gli MC non mi hanno mai chiesto di scrivere un articolo anche quando l'ho proposto io stesso). Per esempio, credo che questo progetto avrà successo se ad ogni partecipante verranno offerti almeno 10000 dollari alla fine del progetto.
  2. Il leader del progetto dovrebbe essere un rappresentante del MC. Dovrebbe anche stabilire i requisiti, le scadenze e il loro pagamento. Molti codici open source sono creati nelle università, da studenti, i cui supervisori usano il diploma come motivazione. Non puoi farne a meno.
 
gpwr:
Il PM non deve essere un programmatore. È un peccato che si rifiuti.
Motivazione: