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

 
TheXpert:

Entonces, ¿por qué tiene la máscara unida a la salida y no de nuevo a las neuronas)?

¿Y cómo quieres meter la función de activación en la GPU?

Imho, como la última vez, vas a empollar lo que no puedes empollar. Pero esto es imho, por lo que se puede mentir con seguridad en él.

No te molestaré de nuevo, a menos que sea por negocios.

Ah, el cogitrón. Qué más... la red hopfield... donde la entrada es la salida. También hay una escasa...

Respondiendo de abajo hacia arriba,

las entradas son las salidas.

La GPU es fácil de implementar ya que todo el procesamiento es paralelo.

Cambiar la activación o algún otro proceso puede ser descrito por cadenas dinámicas, MetaDriver tiene experiencia.

La máscara, los pesos, las salidas y los datos de sincronización están conectados de la misma manera, aunque es posible desvincularlos a través de una matriz de índices que se puede crear a partir de la máscara.

En general, la máscara crea la topología, y se almacena con los pesos.


El proyecto en sí tiene este aspecto:

  • Estándar de almacenamiento en red XML (cargar/guardar), aunque yo gravito hacia el almacenamiento binario (pero no es crucial, la gente quiere XML para mayor claridad)
  • GUI para crear una nueva red (crear/guardar)
  • Interfaz de creación de redes de software (crear/guardar)
  • Modelo de red universal (básico)
  • Clases que amplían el modelo de red básico
  • Carcasa de formación (extensible)

Los dos últimos puntos dependen del código abierto.

 

Acerca de las matrices dispersas correctamente notado, si la matriz es dispersa, entonces el modelo no es muy eficiente, pero aquí se puede aplicar una matriz de índices, que funcionará un poco más lento que en la implementación directa, pero todavía en un nivel, y para la GPU no hace ninguna diferencia si dispersa o totalmente conectado todas las moscas mismas para agregar.

La red Hopfield no tiene ningún problema, lo que no está claro es cómo implementarla pregunta (porque no entiendo cómo un ejemplo tan simple causa dificultades).

No me he perdido nada, ¿verdad?

ZZZ generalmente bastante tiempo reflexionó, y esta implementación X sabe qué, reflexionó fuera de lo que sería imposible de implementar este modelo, cuando no podía llegar a decidió pedir ayuda a la sala.

 
Urain:

Cambiar la activación o algún otro proceso puede ser descrito por cadenas dinámicas, MetaDriver tiene experiencia.

Confirmado: este es el menor de los problemas señalados.

En cuanto a la escasez.

Tengo entendido que a nivel de descripción de la red está bien e incluso es bastante útil.

Sólo se necesita un compresor: un "empaquetador" en una descripción compacta, que, a su vez, ya es "alimento" para la posterior compilación en código fuente en mql y/o OpenCL.

// Bueno, o para un configurador dinámico de "malla universal", si es que todavía tiene seguidores...

 

En cuanto a la sparsity (que escribí más arriba), puedes crear un array de índices para cada neurona en función de la máscara, que tras el recuento te indicará dónde colocar las salidas. Y en general, podemos discutirlo en general. Lo principal ahora es adoptar, en general, el modelo de referencia.

Este modelo es sencillo de entender, por lo que será fácil escribir algoritmos de aprendizaje para él.

Para las GPU, el modelo original sigue siendo mejor (en mi opinión).

 
TheXpert:

Entonces, ¿por qué tiene la máscara unida a la salida y no de nuevo a las neuronas)?

¿Y cómo quieres meter la función de activación en la GPU?

Imho, como la última vez, vas a empollar lo que no puedes empollar. Pero esto es imho, por lo que se puede mentir con seguridad en él.

No te molestaré de nuevo, a menos que sea por negocios.

Ah, el cogitrón. Qué más... la red hopfield... donde la entrada es la salida. Luego está la escasa...

La codificación dispersa es genial. Hace medio año estuve trasteando con él, buscando patrones en el mercado. Lo hace. Y parece que se generaliza. Pero, según mis experimentos, los patrones de precios del pasado no se repiten en el futuro. He aplicado este método para buscar patrones en imágenes y sonidos. Funcionó bastante bien. He hecho un informe a mis colegas que han estado intentando hacer lo mismo durante 3 años, utilizando neuronas de punta. Todo el mundo estaba encantado. Dos candidatos al doctorado querían que fuera su asesor (y, por supuesto, que les permitiera utilizar mis resultados en sus tesis). Uno se ofreció a escribir un artículo en una revista. Sólo me llevó un par de semanas escribir el código, ejecutarlo con diferentes datos y redactar el informe. En resumen, la codificación enrarecida tiene mucho potencial, pero probablemente no en el mercado, sino donde hay alguna estructura.

Por cierto, sobre el modelo universal de NS descrito anteriormente tengo poco que decir todavía, porque no entiendo cómo se dividen las neuronas en capas, cómo se les asigna la función de procesar entradas y cómo se establecen las conexiones.

 
gpwr:

La codificación dispersa es genial. Hace medio año estuve trasteando con él, buscando patrones en el mercado. Lo hace. Y parece que se generaliza. Pero, según mis experimentos, los patrones de precios del pasado no se repiten en el futuro. He aplicado este método para buscar patrones en imágenes y sonidos. Funcionó bastante bien. He hecho un informe a mis colegas que han estado intentando hacer lo mismo durante 3 años, utilizando neuronas de punta. Todo el mundo estaba encantado. Dos candidatos al doctorado querían que fuera su asesor (y, por supuesto, que les permitiera utilizar mis resultados en sus tesis). Uno se ofreció a escribir un artículo en una revista. Sólo me llevó un par de semanas escribir el código, ejecutarlo con diferentes datos y redactar el informe. En resumen, la codificación enrarecida tiene mucho potencial, pero probablemente no en el mercado, sino donde hay alguna estructura.

Por cierto, sobre el modelo universal de NS descrito anteriormente tengo poco que decir todavía porque no entiendo cómo se dividen las neuronas en capas, cómo se les asigna la función de procesar las entradas y cómo se establecen las conexiones.

En el modelo propuesto, las neuronas no están limitadas por capas en absoluto, es decir, cualquier neurona anterior puede teóricamente emitir una señal a una posterior.

Pero es posible introducir una restricción, para establecer las capas de la red, y en relación con estas reglas de capa para comprobar la máscara (no afectará al algoritmo, pero habrá una comprobación adicional en la carga).

Entonces, por cierto, la GPU puede ser alimentada no con neuronas individuales, sino con paquetes de neuronas descritas como una capa. Pero, de nuevo, el modelo en sí no está limitado por las capas, y el tema de las capas es una regla limitante adicional (como la parada a demanda), puede o no serlo.

HI Con la construcción sin capas, el triángulo superior de la máscara (detrás de las entradas) se pone a cero, lo que describe la ausencia de retroalimentación en la matriz principal, cuando aparecen las capas, se añade la puesta a cero con una entrada hacia abajo de la diagonal. En realidad, en esto consiste la comprobación de las máscaras.

 
Urain:
En el modelo propuesto, las neuronas no están limitadas a las capas en absoluto, es decir, cualquier neurona anterior puede teóricamente emitir una señal a una posterior.

Pero es posible introducir una restricción, para establecer las capas de la red, y en relación con estas reglas de capa para comprobar la máscara (no afectará al algoritmo, pero habrá una comprobación adicional en la carga).

Entonces, por cierto, la GPU puede alimentar no a las neuronas individuales, sino a paquetes de neuronas descritas como una capa. Pero, de nuevo, el modelo en sí no está limitado por las capas, y la cuestión de las capas es una regla limitante adicional (como la parada a demanda), puede o no serlo.

Con la construcción sin capas, el triángulo superior de la máscara (detrás de las entradas) se pone a cero, lo que describe la ausencia de retroalimentación en la matriz principal, cuando se añaden capas, la puesta a cero se añade con una entrada hacia abajo de la diagonal. De hecho, en esto consiste la comprobación de la máscara.

Las capas son necesarias porque en algunas redes las diferentes capas tienen un procesamiento diferente de las entradas y diferentes conexiones de las neuronas entre sí dentro de la capa. En realidad, no entiendo la viabilidad del objetivo de construir una red universal. Hay muchas redes con sus matices (funciones de las neuronas en las diferentes capas, su conexión, el entrenamiento de los pesos, etc.). Describirlos todos en un solo modelo me parece imposible o ineficiente. ¿Por qué no crear una biblioteca de diferentes redes?
 
gpwr:
¿Por qué no crear una biblioteca de diferentes redes?
Wo. Una GPU para una cuadrícula específica sería aún más rápida.
 
TheXpert:
Wo. Una GPU para una malla concreta sería aún más rápida.
Pero. Este enfoque ni siquiera contiene el germen para intentar cruzar genéticamente las topologías.
 
MetaDriver:
Pero. Este enfoque ni siquiera contiene el germen para intentar cruzar genéticamente las topologías.

Ahora te equivocas. En primer lugar, si las salidas de la red no pueden alimentar las entradas de otra red, ¿qué tipo de red es?

En segundo lugar, en su mayor parte, todas las topologías pueden realizarse mediante la implementación de capas con funcionalidad para diferentes redes.

Conectando capas con pesos (máscara y pesos propios) se obtiene cualquier mezcla de topologías que se desee. La conversión la realiza la neurona; la sinapsis sólo transmite la señal.

Lo importante es que la mezcla tenga sentido.

Para la genética, la única condición necesaria y suficiente es la capacidad de obtener la salida y la nube de ajustes. Lo pensé todo en aquel entonces.