"New Neural" es un proyecto de motor de red neuronal de código abierto para la plataforma MetaTrader 5. - página 31

 
TheXpert:
Ya está resuelto y aplicado. E incluso está publicado en este hilo.

Escribí según tol64 , no vi otra frase de este tipo (debido a mi falta de atención o a la falta de ella).

Si he duplicado algo, no me importa dejar que NeuroOpenSource lo borre.

TheXpert:

dll no está permitido

Sólo digo que, por ahora, lo hagas a mano, y luego quizá MQ saque métodos especiales para casos especiales :o)
 
Urain:

Si he duplicado algo, no me importa dejar NeuroOpenSource eliminar.

No es un administrador :) .

Te digo que uses las manos, por ahora, y luego quizás MQ entre en razón y haga métodos especiales para casos especiales :o)

No hay que intentar comprender la inmensidad. Es mejor que tomes las cosas paso a paso. Ahora se perfilan las siguientes entidades fundamentales:

__________________________

Una red (formada por capas, sinapsis y topes).

Un tutor (algoritmo de aprendizaje versátil externo), que necesita la red para enumerar y aplicar todos los parámetros personalizables. Por ejemplo, un tutor genético. Por defecto, el entrenamiento se incrusta en las capas y dentro de la cuadrícula.

Inicializador- Esta es probablemente la entidad más simple :) Inicializa los parámetros ajustables de la red.

Gestor de patrones. Una entidad que permite crear (generar) patrones, cargarlos y guardarlos, y que es compatible con la malla.

Gestor visual. Una entidad que permite diseñar visualmente una red.

Procesador de datos. Entidad para la normalización y el análisis de patrones.

_________________________

¿No te olvidas de algo?

Todas las entidades están conectadas de alguna manera (es decir, se supone que unas entidades apoyan a otras mediante interfaces), pero son esencialmente independientes.

_________________________

Por el momento, es posible desarrollar un Gestor de Patrones y un Procesador de Datos al mismo tiempo sin ningún problema, con arreglos mínimos de apoyo.

 
TheXpert:

¿No te olvidas de algo?

Todas las entidades están conectadas de alguna manera (es decir, se supone que unas entidades apoyan a otras a través de interfaces) pero son esencialmente independientes.

_________________________

Actualmente es posible desarrollar un gestor de patrones de aprendizaje y un manejador de datos al mismo tiempo, con acuerdos de soporte mínimos.

Sí, parece que no se me olvida nada, todo está ahí.

Una adición - sería deseable que hubiera alguna compatibilidad del Gestor de Patrones con el asistente del generador de EA estándar (puede que haya que dopar el propio asistente también) .De ahí la posibilidad de generar patrones para neurodrive con el asistente estándar.

 

Sugiero que se consideren los siguientes puntos arquitectónicos:

1) preparar todos los datos externos (relativos a la SN) en forma de indicadores, lo que permitirá

- ser independiente de todo el sistema

- Evaluar visualmente la "corrección" de la idea

- elegir el modo de normalización

2) mirar activamente hacia OpenCL (CUDA lamentablemente no está disponible para los afortunados propietarios de GPUs AMD)

- 1536 Stream Processors en la HD6970 no es 6 Core en la CPU

- En la mayoría de los casos, el entrenamiento de redes neuronales es una tarea SIMD que recae perfectamente en la GPU

- la arquitectura de todo el complejo debe diseñarse teniendo en cuenta estos requisitos desde el principio

3) toda la rotación de archivos entre subsistemas (configuraciones, redes, consultas, ...) debe mantenerse en XML

- norma abierta

- 100500 editores visuales

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

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

Red (compuesto por capas, sinapsis y topes).

Un entrenador (algoritmo de aprendizaje externo y universal) que necesita la red para enumerar y aplicar todos los parámetros configurables. Por ejemplo, un tutor genético. Por defecto, la formación se incrusta en las capas y dentro de la malla.

Un inicializador es probablemente la entidad más simple :) inicializa los parámetros sintonizables de la red.

Gestor de patrones Entidad que permite crear (generar) patrones, cargarlos y guardarlos, compatibles con la malla.

Gestor visual Entidad que permite el diseño visual de la red.

Procesador de datos Una entidad para la normalización y el análisis de patrones.

El gestor de patrones es una plantilla preparada para varias redes en el formato Initializer?

También el Visual Manager depende del Initializer porque el VM guarda los patrones creados a través del MF en el formato Initz.

El Inicializador depende de la Red.

El tutor tiene que estar cosido a la propia red, a no ser, por supuesto, que sea externo como GA. así que el tutor interno depende de la red

Procesador de datos TheXpert es independiente incluso de sí mismo :o), el preprocesador es independiente del postprocesador (lo principal es no perder la sincronización).

Así que, por ahora, sólo tenemos dos entidades independientes, la Red y el Manejador.

 
Urain:

El gestor de patrones es el que puede leer y escribir patrones en un archivo y trabajar con un filtro de tiempo.

No, el gestor de patrones es el que puede leer patrones en un archivo y trabajar con un filtro de tiempo.

El gestor visual también depende del inicializador.

El inicializador sólo inicializa los datos que se le dan, ¿qué dependencias?

El inicializador depende de la web.

Ver arriba.

El tutor debería estar cosido a la propia red, a no ser, claro está, que sea externo como el GA.

Exactamente, es externo. Lo he puesto entre paréntesis a propósito.

 

dos cosas interesantes de SVM: SVM con deformación temporal dinámica como función kernell:http://notendur.hi.is/steinng/ijcnn08.pdf aprendizaje incremental de SVM : http://www.isn.ucsd.edu/svm/incremental/

 
TheXpert:

El inicializador traducirá los datos tabulares sobre la estructura de la red a un formato de inicialización, es decir, "ahora llama a esta función, o este ciclo tendrá tantas iteraciones", por lo que depende de la capacidad de la red. Si la red no puede crearse así, esta denegación impone restricciones al inicializador.

El gestor guarda/carga, guarda lo creado por el visualizador, carga lo guardado, pero si el inicializador es dependiente entonces la dependencia se pasa tanto al gestor como al visualizador a través de él. Por ejemplo, el usuario requiere que los resultados de in*wg se sumen en pares y luego se multipliquen, pero la funcionalidad de la cuadrícula no lo soporta, por lo que necesitamos introducir restricciones en el renderizador y es una dependencia.

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

El inicializador traducirá los datos tabulares sobre la estructura de la red al formato de inicialización.

¿De dónde viene esta fantasía? Tengo la sensación de que no sabes en absoluto de qué estás hablando.

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

¿Dónde están las dependencias?

 
TheXpert:

Mierda. ¿De dónde vienen estas fantasías? Tengo la sensación de que no sabes en absoluto de qué estás hablando.

¿Dónde están las dependencias?

Has entendido un poco mal, la dependencia no es directa sino inversa, pasando por la cadena, si la red no puede hacer algo (crear una configuración), entonces al escribir los bloques superiores hay que tenerlo en cuenta, esta es la dependencia. Hasta que no haya una configuración aprobada de la red, es demasiado pronto para hablar de los bloques superiores, porque están flotando en el campo de la incertidumbre.

ZZY Puedes ir por otro camino, escribir todos los bloques tal cual, luego al encontrar inconsistencias poner parches, luego parches de nuevo, como resultado cuando el volumen de parches llegue a crítico analizar todo y ya reescribir todo desde cero. Es un poco engorroso, pero permite empezar a trabajar inmediatamente e ir identificando poco a poco todas las incoherencias.