snake-dqn як шлях до ML

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

Знайшов у tensorflow-js те що потрібно для перших кроків у ML та трейдингу.

Це навчання, коли агенту видаються нагороди і штрафи за дії.

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

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

Виходить, у нас є змійка, яка навчається на власному досвіді рухатися. Вона має певну кількість хід (повернути чи продовжити) і її завдання дістатися фруктів. Спочатку змійка нічого не вміє, але по ходу навчання вона набуває можливості знаходити фрукти і ухилятися. Дуже схоже на трейдинг, чи не так?

Ну, як мінімум для нашого завдання, коли в нас біжать дані, а роботу потрібно ухвалити рішення купувати чи продавати.

Мінус змійки в тому, що він написаний для node.js, а нам потрібно вміти можливість навчати у браузері (щоб будь-який користувач міг це робити). Тому це треба було завести на клієнта.

Затягнув змійку як є до себе на сторінку з графіком і спробував запустити. Не тут то було!

Змійка всіляко чинила опір,

спочатку пакети,

потім аргументи. (до речі ще й пуллреквест поруч зробив із фіксом https://github.com/tensorflow/tfjs-examples/pull/353),

потім %%Unhandled Rejection (TypeError): Cannot call a class as a function%%. Який лагодиться тут https://github.com/tensorflow/tfjs/pull/3906/files, але т.к. релізу ще немає, то довелося руками підставити. Ось тут, до речі, проблема у багатьох виникає https://github.com/tensorflow/tfjs/issues/3384.

Далі вже пішли мінори на кшталт заміни роботи з fs на indexeddb. Роботу з якою підглянув тут, до речі. Ну і взагалі cart-pole спочатку надихнув зробити все на клієнта.

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

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

в результаті ось що вийшло:

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

Ну і все власне, наступним етапом будуть:

  1. Приладнати до графіків
  2. Візуалізація
  3. Навчити робота на відомих даних показати максимальний результат

Нижче на відео демка роботи-навчання роботів на клієнта. Колись вони так само торгуватимуть ф’ючерсами ощадбанку замість мене.

pskucherov
Оцініть автора
Додати коментар