项目作者: chaikalef

项目描述 :
Бот на Python для Atari Pong (gym Pong-v0)
高级语言: Python
项目地址: git://github.com/chaikalef/Policy-gradients-NN-bot.git
创建时间: 2018-03-18T17:24:06Z
项目社区:https://github.com/chaikalef/Policy-gradients-NN-bot

开源协议:GNU General Public License v3.0

下载


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 - искуственные нейронные сети с двумя скрытыми слоями.


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


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