Skip to content

chaikalef/Policy-gradients-NN-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 (это нужно для запуска обучения нескольких искуственных нейронных сетей одной длинной командой).