Рендзю (проект) — различия между версиями
(Новая страница, с помощью формы Новый_проект) |
|||
(не показано 19 промежуточных версии ещё одного участника) | |||
Строка 1: | Строка 1: | ||
+ | Семинар проекта можно найти [[Рендзю_(семинар)|здесь]]. | ||
+ | |||
{{Карточка_проекта | {{Карточка_проекта | ||
|name=Рендзю | |name=Рендзю | ||
Строка 5: | Строка 7: | ||
|semester=Осень 2016 | |semester=Осень 2016 | ||
|course=2 | |course=2 | ||
− | |summer= | + | |summer=on |
− | |number_of_students= | + | |number_of_students=4-5 |
|categorize=yes | |categorize=yes | ||
+ | |is_archived=yes | ||
}} | }} | ||
=== Что это за проект? === | === Что это за проект? === | ||
− | + | 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 рендзю]. | |
+ | |||
+ | Проект будет устроен следующим образом: | ||
+ | # Будут еженедельные семинары, на которых мы разберем всю необходимую теорию. | ||
+ | # На одном из семинаров вы проведете разбор статьи (англ.), которую изучили самостоятельно. | ||
+ | # Будет набор упражнений для закрепления материала. | ||
+ | # Ревью кода коллег по проекту. | ||
+ | # Между вашими моделями будет устроено соревнование. | ||
+ | |||
+ | '''Важно.''' Проект требует много времени. Подразумевается большое количество вычислений и самостоятельные исследования. | ||
=== Чему вы научитесь? === | === Чему вы научитесь? === | ||
Строка 20: | Строка 32: | ||
В дополнение к этому: | В дополнение к этому: | ||
− | # | + | # Поучаствуете в процессе ревью по обе стороны баррикад |
# Научитесь читать английские статьи | # Научитесь читать английские статьи | ||
=== Какие начальные требования? === | === Какие начальные требования? === | ||
− | + | # Наличие машины с UNIX-подобной ОС, владение командной оболочкой | |
− | + | # Вы должны писать на Python 3 | |
− | + | # Необходимы знания Git, однако я всегда помогу в сложной ситуации | |
− | + | # Желательны базовые знания о машинном обучении | |
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | # В качестве основного языка будет Python 3 | + | |
− | # Нейронные сети мы будем обучать | + | # В качестве основного языка будет Python 3. |
+ | # Нейронные сети мы будем обучать скорее всего с помощью [https://github.com/Theano/Theano Theano]. | ||
# Так же вы можете проводить вычисления на ресурсах [https://aws.amazon.com/ru/ aws] или воспользоваться [https://cloud.google.com google cloud]. | # Так же вы можете проводить вычисления на ресурсах [https://aws.amazon.com/ru/ aws] или воспользоваться [https://cloud.google.com google cloud]. | ||
=== Темы вводных занятий === | === Темы вводных занятий === | ||
− | Будем планомерно погружаться в тему, | + | Будем планомерно погружаться в тему, весь 2-й модуль. Также желательно, чтобы каждый сделал доклад по статье из [https://deepmind.com/research/publications/ списка]. |
=== Направления развития === | === Направления развития === | ||
− | + | # Совершенствование модели | |
− | + | # Масштабирование модели на большие вычислительные мощности | |
=== Критерии оценки === | === Критерии оценки === | ||
Оценка складывается из пунктов: | Оценка складывается из пунктов: | ||
* '''3 балла''' - регулярное посещение занятий, есть некоторая реализация идей, рассказанных на семинаре | * '''3 балла''' - регулярное посещение занятий, есть некоторая реализация идей, рассказанных на семинаре | ||
− | * '''1 балл''' - вы | + | * '''1 балл''' - вы пишете качественный код |
* '''1 балл''' - разбор статьи на семинаре | * '''1 балл''' - разбор статьи на семинаре | ||
* '''2 балла''' - ваш алгоритм играет конкурентно с человеком | * '''2 балла''' - ваш алгоритм играет конкурентно с человеком | ||
− | Остается еще 3 балла, эта часть оценки будет определена тем, на сколько силен ваш алгоритм по сравнению с решениями коллег. | + | Остается еще 3 балла, эта часть оценки будет определена тем, на сколько силен ваш алгоритм по сравнению с решениями коллег. Необходимо понимать, что для получения "зачета" вы должны предоставить работающую программу, пусть и не играющую феерично. |
=== Ориентировочное расписание занятий === | === Ориентировочное расписание занятий === | ||
Семинары будут проходить в стенах Яндекса каждую неделю в фиксированный день (вторник, среда или четверг). Если будет желание, то можно несколько раз в выходные провести своеобразные хакатоны: собираемся вместе на целый день, работаем, общаемся и трескаем пиццу. | Семинары будут проходить в стенах Яндекса каждую неделю в фиксированный день (вторник, среда или четверг). Если будет желание, то можно несколько раз в выходные провести своеобразные хакатоны: собираемся вместе на целый день, работаем, общаемся и трескаем пиццу. |
Текущая версия на 19:19, 18 октября 2017
Семинар проекта можно найти здесь.
Ментор | Симагин Денис |
Учебный семестр | Осень 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 балла, эта часть оценки будет определена тем, на сколько силен ваш алгоритм по сравнению с решениями коллег. Необходимо понимать, что для получения "зачета" вы должны предоставить работающую программу, пусть и не играющую феерично.
Ориентировочное расписание занятий
Семинары будут проходить в стенах Яндекса каждую неделю в фиксированный день (вторник, среда или четверг). Если будет желание, то можно несколько раз в выходные провести своеобразные хакатоны: собираемся вместе на целый день, работаем, общаемся и трескаем пиццу.