snake-dqn como caminho para ML

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

Encontrou em tensorflow-js o que você precisa para os primeiros passos em ML e negociação.

Este é o treinamento dqn, onde o agente recebe recompensas e penalidades pelas ações.

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

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

Acontece que temos uma cobra que aprende a se mover por experiência própria. Ela tem um certo número de movimentos (virar ou continuar) e sua tarefa é chegar até a fruta. Inicialmente, a cobra não sabe fazer nada, mas com o decorrer do treinamento ganha a habilidade de encontrar frutas e se esquivar. Muito semelhante ao comércio, não é?

Bem, pelo menos para a nossa tarefa, quando temos dados em execução e o robô precisa tomar uma decisão de comprar ou vender.

A desvantagem da cobra é que ele foi escrito para node.js e precisamos ser capazes de treinar em um navegador (para que qualquer usuário possa fazer isso). Portanto, foi necessário iniciar o mesmo no cliente.

Levei a cobra como está para minha página com o gráfico e tentei iniciá-la. Não foi assim!

A cobra resistiu de todas as maneiras possíveis,

pacotes primeiro,

então argumentos. (a propósito, eu também fiz uma solicitação de pull ao lado da correção https://github.com/tensorflow/tfjs-examples/pull/353),

então %% Rejeição não tratada (TypeError): Não é possível chamar uma classe como uma função %%. Que é reparado aqui https://github.com/tensorflow/tfjs/pull/3906/files, mas desde não há liberação ainda, então eu tive que substituir minhas mãos. Aqui, a propósito, muitas pessoas têm um problema https://github.com/tensorflow/tfjs/issues/3384.

Depois, havia os menores, como substituir fs por indexeddb. O trabalho que eu espiei aqui, aliás. Bem, em geral, cart-pole inicialmente inspirado para fazer tudo no cliente.

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

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

no final, foi o que aconteceu:

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

Bem, isso é tudo, a próxima etapa será:

  1. Ajustar aos gráficos
  2. Visualização
  3. Treine um robô em dados conhecidos para mostrar o resultado máximo

Abaixo no vídeo está uma demonstração do trabalho-treinamento de robôs no cliente. Algum dia, eles também negociarão futuros do Sberbank em vez de mim.

pskucherov
Rate author
Add a comment