Рендзю (проект) — различия между версиями
(→Что это за проект?) |
|||
Строка 11: | Строка 11: | ||
=== Что это за проект? === | === Что это за проект? === | ||
− | Cочетание [https://en.wikipedia.org/wiki/Reinforcement_learning reinforcement learning] и [https://en.wikipedia.org/wiki/Deep_learning deep learning] является "горячей" темой на сегодняшний день. К примеру, изучите статью [http://arxiv.org/pdf/1312.5602v1.pdf Playing atari with deep reinforcement learning]. Также вы, наверняка, слышали о [https://en.wikipedia.org/wiki/AlphaGo AlpaGo], программе, которая впервые победила человека, профессионально играющего в Go. Подробнее об этом [https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf здесь]. Данный проект заключается в изучении подходов, | + | Cочетание [https://en.wikipedia.org/wiki/Reinforcement_learning reinforcement learning] и [https://en.wikipedia.org/wiki/Deep_learning deep learning] является "горячей" темой на сегодняшний день. К примеру, изучите статью [http://arxiv.org/pdf/1312.5602v1.pdf Playing atari with deep reinforcement learning]. Также вы, наверняка, слышали о [https://en.wikipedia.org/wiki/AlphaGo AlpaGo], программе, которая впервые победила человека, профессионально играющего в Go. Подробнее об этом [https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf здесь]. Данный проект заключается в изучении подходов, использующихся в AlphaGo, и их реализации при создание собственного алгоритма для игры в [https://en.wikipedia.org/wiki/Renju рендзю]. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Проект будет устроен следующим образом: | Проект будет устроен следующим образом: | ||
# Будут еженедельные семинары, на которых мы разберем всю необходимую теорию. | # Будут еженедельные семинары, на которых мы разберем всю необходимую теорию. | ||
− | # На одном из семинаров вы проведете разбор статьи, которую изучили самостоятельно. | + | # На одном из семинаров вы проведете разбор статьи (англ.), которую изучили самостоятельно. |
− | # Будет набор | + | # Будет набор упражнений для закрепления материала. |
+ | # Ревью кода коллег по проекту. | ||
# Между вашими моделями будет устроено соревнование. | # Между вашими моделями будет устроено соревнование. | ||
− | + | '''Важно.''' Проект требует много времени. Подразумевается большое количество вычислений и самостоятельные исследования. | |
=== Чему вы научитесь? === | === Чему вы научитесь? === |
Версия 12:55, 4 октября 2016
Ментор | Симагин Денис |
Учебный семестр | Осень 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 балла, эта часть оценки будет определена тем, на сколько силен ваш алгоритм по сравнению с решениями коллег.
Ориентировочное расписание занятий
Семинары будут проходить в стенах Яндекса каждую неделю в фиксированный день (вторник, среда или четверг). Если будет желание, то можно несколько раз в выходные провести своеобразные хакатоны: собираемся вместе на целый день, работаем, общаемся и трескаем пиццу.