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

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

Знайшоў у tensorflow-js тое, што трэба для першых крокаў у ML і трэйдзінг.

Гэта dqn навучанне, калі агенту выдаюцца ўзнагароды і штрафы за дзеянні.

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
Rate author
Add a comment