Рендзю (проект)
Семинар проекта можно найти здесь.
Ментор | Симагин Денис |
Учебный семестр | Осень 2016 |
Учебный курс | 2-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 4-5 | |
Внимание! Данный проект находится в архиве и реализован не будет. |
Что это за проект?
Cочетание reinforcement learning и deep learning является "горячей" темой на сегодняшний день. К примеру, изучите статью Playing atari with deep reinforcement learning. Также вы, наверняка, слышали о AlpaGo, программе, которая впервые победила человека, профессионально играющего в Go. Подробнее об этом здесь. Данный проект заключается в изучении подходов, использующихся в AlphaGo, и их реализации при создание собственного алгоритма для игры в рендзю.
Проект будет устроен следующим образом:
- Будут еженедельные семинары, на которых мы разберем всю необходимую теорию.
- На одном из семинаров вы проведете разбор статьи (англ.), которую изучили самостоятельно.
- Будет набор упражнений для закрепления материала.
- Ревью кода коллег по проекту.
- Между вашими моделями будет устроено соревнование.
Важно. Проект требует много времени. Подразумевается большое количество вычислений и самостоятельные исследования.
Чему вы научитесь?
- Основы машинного обучения
- Альфа-бета отсечения
- Метод Монте-Карло для поиска в дереве
- Глубинные нейронные сети
В дополнение к этому:
- Поучаствуете в процессе ревью по обе стороны баррикад
- Научитесь читать английские статьи
Какие начальные требования?
- Наличие машины с UNIX-подобной ОС, владение командной оболочкой
- Вы должны писать на Python 3
- Необходимы знания Git, однако я всегда помогу в сложной ситуации
- Желательны базовые знания о машинном обучении
Какие будут использоваться технологии?
- В качестве основного языка будет Python 3.
- Нейронные сети мы будем обучать скорее всего с помощью Theano.
- Так же вы можете проводить вычисления на ресурсах aws или воспользоваться google cloud.
Темы вводных занятий
Будем планомерно погружаться в тему, весь 2-й модуль. Также желательно, чтобы каждый сделал доклад по статье из списка.
Направления развития
- Совершенствование модели
- Масштабирование модели на большие вычислительные мощности
Критерии оценки
Оценка складывается из пунктов:
- 3 балла - регулярное посещение занятий, есть некоторая реализация идей, рассказанных на семинаре
- 1 балл - вы пишете качественный код
- 1 балл - разбор статьи на семинаре
- 2 балла - ваш алгоритм играет конкурентно с человеком
Остается еще 3 балла, эта часть оценки будет определена тем, на сколько силен ваш алгоритм по сравнению с решениями коллег. Необходимо понимать, что для получения "зачета" вы должны предоставить работающую программу, пусть и не играющую феерично.
Ориентировочное расписание занятий
Семинары будут проходить в стенах Яндекса каждую неделю в фиксированный день (вторник, среда или четверг). Если будет желание, то можно несколько раз в выходные провести своеобразные хакатоны: собираемся вместе на целый день, работаем, общаемся и трескаем пиццу.