Рендзю (семинар)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Описание проекта, последний семинар.

Правила игры

Общение с ментором вне занятий приветствуется. Можно задавать вопросы, в том числе философские. Но перед тем, как написать, попробуйте спросить это у Яндекса. Также не обижайтесь, если в ответ вам пришла ссылка на документацию или какую-то статью.

Ключевые точки

Сверху нам спущены ключевые точки выполнения проекта. Для нас они скорее явлются формальными, тем не менее мы должны их соблюдать.

  1. 12-17 декабря - все включились в работу
  2. 20-25 марта - реализован объем работ, необходимый для зачета
  3. 30 мая - 3 июня - окончание проектной работы, вы готовы, как пионеры.
  4. начало июня - конкурс проектов.

Правило 2Х

У вас есть право на одну ошибку. Следующая - я отказываюсь с вами работать.

Репозитории

Студенты хранят свой код в следующих репозиториях

Ментор https://github.com/dasimagin/renju
Харламов https://github.com/gamers5a/renju
Сопов https://github.com/PreFX48/renju
Vodim https://github.com/EterniusVGM/Renju
Yuriy https://github.com/yurriy/renju
Storozh https://github.com/storandrew/Renju

Лабораторные

Лабораторные проводятся для практического закрепления материала. Их выполнение учитывается в итоговой оценке.

  1. Результатом работы является jupyter notebook, где сохранен вывод вашего кода, графики и т.п. А так же его импорт в формат .py. Для автоматизации процесса можно настроить jupyter.
  2. Когда сроки выполнения лабораторной завершены, вы выкладываете ее на ревью, создавая соответствующее задание и запрос на объединение ветки с мастером (не забудьте добавить проверяющего).
  3. Ваш коллега проводит ревью кода и может оставлять замечания, как в виде комментариев к заданию, так и в файле .py. Оно предполагает проверку стиля и правильность кода, а также конструктивные замечания по производительности. Однако не стремитесь сразу оптимизировать код. Добейтесь лучше того, чтобы все работало правильно.
  4. Когда ревью завершено, влейтесь в мастер и закройте задание.

Результаты

Текущие результаты можно найти здесь. Оценка складывается из нескольких частей:

  1. Работа на семинаре
  2. Доклад статьи
  3. Итоговое качество игры

Семинары

S01.02, S08.02, 15.02, 22.02, 01.03

Разбор статьи

S25.01

Разбор статьи

S18.01

Поиск по дереву Монте-Карло

S11.01

Обучения без учителя

S14.12

Начали разбирать нашу статью. Есть пара источников на русском:

L4

Coming soon...

H11.12

Занятие было посвящено выполнению второй лабораторной. Интересный ноутбук скоро появится [здесь].

S08.12

1. Известные архитектуры сверточных сетей

2. Поговорили:

  • На что активируются нейроны в зависимости от слоя
  • Генерация 'похожих картинок'
  • Послойное обучение сети
  • Переобучение или дообучение уже готовой сети

3. Изучили примеры для библиотеки Keras

L3

Студент CPU RAM GPU
Пример 6 core, 3,5 GHz 64GB NVIDIA TITAN X
Харламов 4 core, 3,6 GHz 16GB NVIDIA GTX 960m 2GB
Сопов 2 core, 2,7 GHz 8GB NVIDIA GTX 940m
Гринберг 4 core, 3,6 GHz 16 GB NVIDIA GTX 1070 8GB
Баранов 4 core, 3,5GHz 8GB NVIDIA GTX 960m 2GB
Стороженко 6 core 3.0 GHz 16 GB NVIDIA GTX 1060 6GB

Победить в конкурсе классификации, срок 3 января, 23:59.

Для этого вам понадобится

  • Установить Tensorflow
  • Установить Keras
  • Запастись терпением

S01.12

1. Полносвязанные сети:

  • Подсчитаны производные для Backpropagation, обсуждены тонкости реализации.
  • Различные виды нелинейности: ReLu, PReLu, Sigmoid.
  • Обучение сетей при помощи Autoencoder.

2. Сверточные сети:

  • Cтруктура CNN.
  • Затронуты: Convolution, Pooling.
  • Влияние различных ядер свертки на структуру сети.
  • Feature maps.
  • Разобрана архитектура Alexnet.
  • Сочетание из Convolutional и Dense слоев.

S24.11

1. Регуляризация:

  • Разобрали L1 и L2 регуляризаторы, можно найти здесь.
  • Используйте простые классификаторы
  • Раняя остановка (смотрим качество на отложенном множестве)
  • Добавление шума
  • Комбинирование классификаторов

2. Полносвязанные сети:

L2

Задание можно найти здесь, срок 23:59 11 декабря.

S02.11

  1. Признаки и какие они бывают. Об отборе признаков, кратко тут. Может помочь на конкурсе.
  2. Задача бинарной классификации.
  3. Градиентный спуск.
  4. Стохастический градиентный спуск. На английской вике больше интересной информации.

Для дополнительного чтения:

  1. Что полезно знать о машинном обучении.
  2. Английская вика про признаки
  3. Отбор признаков.
  4. Мощная теоретическая работа про стохастический градиентный спуск.

L1

Ревьюер Разработчик Оценка
Харламов Сопов 9
Сопов Гринберг 10
Гринберг Баранов 8
Баранов Стороженко 10
Стороженко Харламов 8

Для первой лабораторной работы вам потребуется:

  1. Настроить себе pip для Python3
  2. Освоить Jupyter notebook
  3. Установить пакеты scipy: numpy, scipy, matplotlib