chaikalef / Policy-gradients-NN-bot

Бот на Python для Atari Pong (gym Pong-v0)

Home Page:https://gym.openai.com/envs/Pong-v0/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NN_bot

Бот на Python для Atari Pong (gym Pong-v0)

В данном проекте был разработан алгоритм градиентного спуска (pong_bot_cha.py) для игры понг от компании Atari, а также были обучены сети с алгоритмом обучения rms_prop (pong_bot_kar.py) и ещё два вида сетей с алгоритмом обучения rms_prop, но с предварительной обработкой исходных изображений (pong_bot_kar_x.py - выделение абцисс объектов на экране, pong_bot_kar_xy.py - выделение абцисс и ординат объектов на экране).

В ходе данного проекта было выявлено, что для задач, связанных с Deep Reinforcement Learning (разработка ботов), алгоритм обучения rms_prop крайне эффективен (статистика ниже: 0 значит, что сеть и противник играют одинаково; больше 0 значит, что сеть обыгрывает противника). В свою очередь градиентный спуск показал неспособность противостоять виртуальному противнику.

Файлы с расширением p - веса сети, сохранённые с помощью библиотеки pickle.

Файлы с расширением csv - статистика в формате "Номер эпизода" - "Сумма очков за эпизод" - "Policy gradient".

1l - искуственные нейронные сети с одним скрытым слоём.

2l - искуственные нейронные сети с двумя скрытыми слоями.

1*10-1/1*10-2/1*10-3/1*10-4 - искуственные нейронные сети со скоростью обучения = 0.1/0.01/0.001/0.0001

bash.py - Python файл для создания списка команд для консоли bash вида "python ~/path_to_NN_bot_file &" в файл bash.txt (это нужно для запуска обучения нескольких искуственных нейронных сетей одной длинной командой).

About

Бот на Python для Atari Pong (gym Pong-v0)

https://gym.openai.com/envs/Pong-v0/

License:GNU General Public License v3.0


Languages

Language:Python 64.5%Language:OpenEdge ABL 35.5%