Практикум на ЭВМ (317)/2018 (весна)
Материал из MachineLearning.
- Обязательный курс для студентов каф. ММП 3 курса, 5-6 семестр
- Зачёт с оценкой
- Преподаватели: Д.А. Кропотов, Артём Попов и другие
- Занятия проходят в ауд. 579 по четвергам, начало в 16:20. Первое занятие 8 февраля.
Анонимные отзывы по курсу можно оставлять здесь: ссылка на гугл-форму
Репозиторий со всеми материалами: ссылка на репозиторий
Правила сдачи практикума
1. В рамках семестра предполагается 4 практических задания, выступление на семинаре и 5 проверочных работ по материалам занятий и выступлений.
2. Все практические задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя. За каждое практическое задание можно получить до 50 баллов. Задание считается принятым на проверку, если написан весь код к заданию (пройдены все выданные тесты), сделано не меньше 50% экспериментов, составлен отчёт.
3. Срок выполнения каждого задания — 2 недели. Далее, в течение 2 недель за каждый день просрочки назначается штраф 1 балл. Задания, сданные после этого срока, НЕ ПРИНИМАЮТСЯ. Студенты, сдавшие по итогам семестра меньше 2 заданий, автоматически отправляются на пересдачу.
4. Тема выступления выдаётся заранее (как минимум за две недели до даты выступления). Продолжительность выступления примерно 20 минут. За выступление можно получить до 40 баллов. Баллы выставляются преподавателями.
5. Даты проведения проверочных работ сообщаются зараннее. За каждую проверочную можно получить до 10 баллов.
6. Итоговая оценка формируется следующим образом:
- отлично — 217 баллов, сдано 4 практических задания, подготовлено выступление
- хорошо — 160 баллов, сдано 3 практических задания, подготовлено выступление
- удовлетворительно — 102 балла, сдано 2 практических задания, подготовлено выступление
Материалы занятий
Дата | Номер | Тема | Материалы | Д/З |
---|---|---|---|---|
8 февраля | Занятие 1 |
Разностное и автоматическое дифференцирование. Введение в pytorch. |
Установить pytorch | |
15 февраля | Занятие 2 |
Многослойные нейронные сети. Свёрточные нейронные сети. Линейные и свёрточные автокодировщики. | ||
22 февраля | Занятие 3 |
ЕМ-алгоритм Восстановление плотности смеси нормальных распределений |
Темы для выступлений
№ п/п | Тема | Примечание | ФИО студента | Материалы |
---|---|---|---|---|
1 | Введение в рекуррентные нейронные сети | Базовая модель, примеры задач, back propagation through time,
плюсы и минусы архитектуры, архитектура LSTM | Шаталов Николай | |
2 | Методы стохастической оптимизации для нейросетей | В каких задачах нужны спец. методы, основные идеи для улучшения
(momentum, адаптивный learning rate, нестеров и тд), примеры методов | ||
3 | Методы “регуляризации” нейронных сетей | Dropout, inverted dropout, батч-нормализация, методы инициализации | Яворская Мария | |
4 | Идеи современных архитектур нейросетей для классификации изображений | VGG, GoogleNet, ResNet, соревнование ImageNet | Сагайдак Олег | |
5 | Введение в Generative adversarial network (GAN) | Постановка задачи, описание базовой модели GAN, алгоритм обучения | Сомов Иван | |
6 | Векторные представления слов: word2vec | CBOW, Skip-Gram, Hierarchical softmax, Negative sampling | Скачков Николай | |
7 | СВОЯ ТЕМА (согласовать) |
Требования к отчёту по практическим заданиям
Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX. Студенты, хорошо выполнившие отчёты по прошлым заданиям, получают возможность сдавать отчёты в формате HTML или PDF, подготовленные с помощью jupyter notebook.
Отчёт должен давать проверяющему ответы на следующие вопросы:
- К какому курсу относится задание?
- Какое задание выполнено?
- Кем выполнено задание?
- В чём заключалось задание?
- Что было сделано? Что не было сделано?
- Даны ли правильные ответы на все теоретические вопросы задания?
- Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
- Выполнена ли творческая часть задания?
- Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
- Какой литературой пользовался студент?
Требования к программному коду
- Код должен в целом соответствовать PEP8 (eng или rus )
- В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, может дополнительно штрафоваться.
- Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению.
- Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
- Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
- Код, содержащий плагиат, автоматически оценивается в 0 баллов