snake-dqn como ruta hacia ML

Программирование

En tensorflow-js encontrará lo que necesita para los primeros pasos en ML y trading.

Este es el entrenamiento dqn, donde el agente recibe recompensas y penalizaciones por sus acciones.

https://github.com/tensorflow/tfjs-examples/tree/master/snake-dqn

https://storage.googleapis.com/tfjs-examples/snake-dqn/index.html

Resulta que tenemos una serpiente que aprende de su propia experiencia a moverse. Tiene una cierta cantidad de movimientos (girar o continuar) y su tarea es llegar a la fruta. Inicialmente, la serpiente no sabe cómo hacer nada, pero en el curso del entrenamiento gana la habilidad de encontrar frutas y esquivar. Muy similar al trading, ¿no?

Bueno, al menos para nuestra tarea, cuando tenemos datos en ejecución y el robot necesita tomar la decisión de comprar o vender.

La desventaja de la serpiente es que fue escrito para node.js, y necesitamos poder entrenar en un navegador (para que cualquier usuario pueda hacerlo). Por lo tanto, era necesario iniciar el mismo en el cliente.

Llevé la serpiente tal cual a mi página con el gráfico e intenté iniciarla. ¡No fue así!

La serpiente resistió de todas las formas posibles,

paquetes primero,

luego argumentos. (por cierto, también hice una solicitud de extracción junto a la solución https://github.com/tensorflow/tfjs-examples/pull/353),

luego %% Rechazo no controlado (TypeError): No se puede llamar a una clase como función %%. Que se repara aquí https://github.com/tensorflow/tfjs/pull/3906/files, pero desde aún no hay liberación, entonces tuve que sustituir mis manos. Aquí, por cierto, muchas personas tienen un problema https://github.com/tensorflow/tfjs/issues/3384.

Luego estaban los menores, como sustituir fs por indexeddb. El trabajo con el que espiaba aquí, por cierto. Bueno, en general, cart-pole inicialmente se inspiró para hacer todo en el cliente.

https://github.com/tensorflow/tfjs-examples/tree/master/cart-pole

https://storage.googleapis.com/tfjs-examples/cart-pole/dist/index.html

al final, esto es lo que pasó:

https://github.com/pskucherov/opexflow/pull/16/files

Bueno, eso es todo, la siguiente etapa será:

  1. Ajustar a gráficos
  2. Visualización
  3. Entrene a un robot con datos conocidos para mostrar el resultado máximo

A continuación, en el video, se muestra una demostración del entrenamiento de trabajo de los robots en el cliente. Algún día también negociarán futuros de Sberbank en mi lugar.

pskucherov
Rate author
Add a comment