Практикум на ЭВМ (317)/2018 (весна)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Материалы занятий)
Текущая версия (09:39, 23 сентября 2018) (править) (отменить)
(Темы для выступлений)
 
(47 промежуточных версий не показаны.)
Строка 22: Строка 22:
6. Итоговая оценка формируется следующим образом:
6. Итоговая оценка формируется следующим образом:
-
* отлично — 217 баллов, сдано 4 практических задания, подготовлено выступление
+
* отлично — 205 баллов, сдано 4 практических задания, подготовлено выступление
-
* хорошо — 160 баллов, сдано 3 практических задания, подготовлено выступление
+
* хорошо — 155 баллов, сдано 3 практических задания, подготовлено выступление
-
* удовлетворительно — 102 балла, сдано 2 практических задания, подготовлено выступление
+
* удовлетворительно — 100 балла, сдано 2 практических задания, подготовлено выступление
= Материалы занятий =
= Материалы занятий =
Строка 37: Строка 37:
Введение в pytorch.
Введение в pytorch.
|
|
-
[https://github.com/arti32lehtonen/mmp_prac_spring_2018/blob/master/01.%20Intro%20to%20pytorch/cifar10_tutorial.ipynb база (jupyter)]
+
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/01.%20Intro%20to%20pytorch/cifar10_tutorial.ipynb база (jupyter)]
-
[https://github.com/arti32lehtonen/mmp_prac_spring_2018/blob/master/01.%20Intro%20to%20pytorch/pytorch%20tutorial.ipynb cifar (jupyter)]
+
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/01.%20Intro%20to%20pytorch/pytorch%20tutorial.ipynb cifar (jupyter)]
|
|
Строка 53: Строка 53:
Линейные и свёрточные автокодировщики.
Линейные и свёрточные автокодировщики.
|
|
-
[https://github.com/arti32lehtonen/mmp_prac_spring_2018/blob/master/02.%20Convolutional%20autoencoders/conv_autoencoder.pdf картинки к лекции]
+
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/02.%20Convolutional%20autoencoders/conv_autoencoder.pdf картинки к лекции]
|
|
-
[https://github.com/arti32lehtonen/mmp_prac_spring_2018/blob/master/tasks/01.%20Autoencoders/task1.pdf задание 1]
+
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/tasks/01.%20Autoencoders/task1.pdf задание 1]
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
Строка 79: Строка 79:
|
|
-
[https://github.com/arti32lehtonen/mmp_prac_spring_2018/blob/master/04.%20EM%20applications/main.pdf слайды]
+
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/04.%20EM%20applications/main.pdf слайды]
[[Media:Voron-PTM-Bayes.pdf| слайды с выводом формул ТМ ]]
[[Media:Voron-PTM-Bayes.pdf| слайды с выводом формул ТМ ]]
|
|
-
задание лежит на гитхабе
+
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/tree/master/tasks/02.%20EM%20applications задание 2]
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
Строка 95: Строка 95:
<!-- Конец занятия -->
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|22 марта
 +
|Занятие 6
 +
|
 +
Выступления (темы 3 — 6)
 +
|
 +
|
 +
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|29 марта
 +
|Занятие 7
 +
|
 +
Рекомендательные системы (часть 1)
 +
|
 +
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/07.%20Recommendation_systems1/main.pdf слайды]
 +
|
 +
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|5 апреля
 +
|Занятие 8
 +
|
 +
Рекомендательные системы (часть 2)
 +
|
 +
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/08.Recommendation_systems2/recomm_main.pdf слайды]
 +
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/08.Recommendation_systems2/w2v_main.pdf слайды (negative sampling)]
 +
|
 +
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/tree/master/tasks/03.%20Recommendations задание 3]
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|12 апреля
 +
|Занятие 9
 +
|
 +
Выступления (темы 7 — 9)
 +
|
 +
 +
|
 +
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|19 апреля
 +
|Занятие 10
 +
|
 +
Конечные поля, помехоустойчивые коды
 +
|
 +
 +
|
 +
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|4 мая
 +
|Занятие 11
 +
|
 +
Коды БЧХ
 +
|
 +
|
 +
[https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/tree/master/tasks/04.%20BCH задание 4]
 +
<!-- Конец занятия -->
 +
 +
|- <!-- Новое занятие -->
 +
|10 мая
 +
|Занятие 12
 +
|
 +
Выступления (темы 10—12)
 +
|
 +
|
 +
<!-- Конец занятия -->
 +
 +
|- <!-- Новое занятие -->
 +
|17 мая
 +
|Занятие 13
 +
|
 +
Выступления (темы 13—15)
 +
|
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
|24 мая
 +
|Занятие 14
 +
|
 +
Выступления (темы 16—17)
 +
|
 +
|
 +
<!-- Конец занятия -->
|}
|}
Строка 104: Строка 189:
|-
|-
| align="center"|1
| align="center"|1
-
|| Введение в рекуррентные нейронные сети
+
| Введение в рекуррентные нейронные сети
-
|| Базовая модель, примеры задач, back propagation through time,
+
| Базовая модель, примеры задач, back propagation through time,
плюсы и минусы архитектуры, архитектура LSTM
плюсы и минусы архитектуры, архитектура LSTM
-
|| Шаталов Николай
+
| Шаталов Николай
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Shatalov_RNN.pdf слайды]
|-
|-
| align="center"|2
| align="center"|2
-
|| Методы стохастической оптимизации для нейросетей
+
| Методы стохастической оптимизации для нейросетей
-
|| В каких задачах нужны спец. методы, основные идеи для улучшения
+
| В каких задачах нужны спец. методы, основные идеи для улучшения
(momentum, адаптивный learning rate, нестеров и тд), примеры методов
(momentum, адаптивный learning rate, нестеров и тд), примеры методов
-
|| Солоткий Михаил
+
| Солоткий Михаил
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Stochastic_optimization.pdf слайды]
|-
|-
| align="center"|3
| align="center"|3
-
|| Методы “регуляризации” нейронных сетей
+
| Методы “регуляризации” нейронных сетей
-
|| Dropout, inverted dropout, батч-нормализация, методы инициализации
+
| Dropout, inverted dropout, батч-нормализация, методы инициализации
-
|| Яворская Мария
+
| Яворская Мария
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Iavorskaia_reg.pdf слайды]
|-
|-
| align="center"|4
| align="center"|4
-
|| Идеи современных архитектур нейросетей для классификации изображений
+
| Идеи современных архитектур нейросетей для классификации изображений
-
|| VGG, GoogleNet, ResNet, соревнование ImageNet
+
| VGG, GoogleNet, ResNet, соревнование ImageNet
-
|| Сагайдак Олег
+
| Сагайдак Олег
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Sagaydak_Modern_neural_nets.pdf слайды]
|-
|-
| align="center"|5
| align="center"|5
-
|| Введение в Generative adversarial network (GAN)
+
| Введение в Generative adversarial network (GAN)
-
|| Постановка задачи, описание базовой модели GAN, алгоритм обучения
+
| Постановка задачи, описание базовой модели GAN, алгоритм обучения
-
||Сомов Иван
+
| Сомов Иван
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Somov_GAN%20.pdf слайды]
|-
|-
| align="center"|6
| align="center"|6
-
|| Векторные представления слов: word2vec
+
| Векторные представления слов: word2vec
-
|| CBOW, Skip-Gram, Hierarchical softmax, Negative sampling
+
| CBOW, Skip-Gram, Hierarchical softmax, Negative sampling
-
|| Скачков Николай
+
| Скачков Николай
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Skachkov_word2vec.pdf слайды]
|-
|-
| align="center"|7
| align="center"|7
-
|| СВОЯ ТЕМА (согласовать)
+
| Введение в Reinforcement Learning (часть 1)
-
||
+
| Постановки и примеры задачи, терминология, MDP, value функции
-
||
+
| Драгунов Никита
-
||
+
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/RL_Dragunov.pdf слайды]
 +
|-
 +
| align="center"|8
 +
| Введение в Reinforcement Learning (часть 2)
 +
| Q-learning, Deep Q-learning
 +
| Медведев Алексей
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Medvedev_Alex_Qlearning.pdf слайды]
 +
|-
 +
| align="center"|9
 +
| Alpha Go
 +
| Постановку задачи Alpha Go, основные идеи, которые позволили эту
 +
задачу эффективно решить, Alpha Go Zero
 +
| Медведев Дмитрий
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/AlphaGo.pdf слайды]
 +
|-
 +
| align="center"|10
 +
| Механизмы внимания для машинного перевода
 +
| Постановка задачи, стандартные подходы (encoder-decoder),
 +
подход с attention [https://arxiv.org/pdf/1409.0473.pdf ссылка]
 +
+ мб что-то ещё
 +
| Фоминская Галина
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/fominskaya_machine_translation.pdf слайды]
 +
|-
 +
| align="center"|11
 +
| Механизмы внимания для генерации описания изображения
 +
| Постановка задачи, стандартные подходы (encoder-decoder),
 +
статья [https://arxiv.org/pdf/1502.03044.pdf ссылка]
 +
+ мб какие-то другие подходы
 +
| Филимонов Влад
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Attention_Image_Filimonov.pdf слайды]
 +
|-
 +
| align="center"|12
 +
| Memory networks для вопросно-ответных систем
 +
| Постановка задачи, концепция memory networks [https://arxiv.org/abs/1410.3916 ссылка],
 +
end-to-end memory networks [https://papers.nips.cc/paper/5846-end-to-end-memory-networks.pdf ссылка]
 +
| Шамшиев Мамат
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Memory%20networks.pdf слайды]
 +
|-
 +
| align="center"|13
 +
| Модель WaveNet для генерации звука
 +
| Постановка задачи, немного о донейросетевых подхода, модель WaveNet и её результаты
 +
| Шестакова Анна
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Shestakova_WaveNet.pdf слайды]
 +
|-
 +
| align="center"|14
 +
| Модели переноса стиля
 +
| Постановка задачи, базовый алгоритм [https://arxiv.org/pdf/1508.06576.pdf ссылка],
 +
дальнейшие улучшения и обобщения
 +
| Дженаков Дмитрий
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/PST_Dzhenakov.pdf слайды]
 +
|-
 +
| align="center"|15
 +
| Идеи современных архитектур для детекции объектов на изображении
 +
| Постановка задачи, проблемы задачи (double detection и др.),
 +
основные подходы к решению, архитектура R-CNN,
 +
другие архитектуры, если есть время
 +
| Пономарева Любовь
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Detection_Ponomareva.pdf слайды]
 +
|-
 +
| align="center"|16
 +
| Современные методы оптимизации второго порядка
 +
| Введение в методы Гаусса-Ньютона, натуральные градиенты,
 +
метод K-FAC для нейросетей, его результаты
 +
| Руднев Виктор
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/Rudnev_KFAC.pdf слайды]
 +
|-
 +
| align="center"|17
 +
| Wasserstein GAN
 +
| Достаточно много математики!
 +
Напоминание про GAN, мотивация Wasserstein GAN, алгоритм, немного про теорию вокруг
 +
| Цыпин Артем
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/WGAN.pdf слайды]
 +
|-
 +
| align="center"|18
 +
| Идеи современных архитектур нейросетей для
 +
семантической сегментации изображений
 +
| Постановка задачи, разобрать идеи нескольких архитектур, например, U-net,
 +
Fully Convolutional DenseNets, LinkNet и другие
 +
| Захаренко Вадим
 +
| [https://github.com/mmp-practicum-team/mmp_practicum_spring_2018/blob/master/reports/segmentation_zakharenko.pdf реферат]
 +
|-
|}
|}

Текущая версия

  • Обязательный курс для студентов каф. ММП 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. Итоговая оценка формируется следующим образом:

  • отлично — 205 баллов, сдано 4 практических задания, подготовлено выступление
  • хорошо — 155 баллов, сдано 3 практических задания, подготовлено выступление
  • удовлетворительно — 100 балла, сдано 2 практических задания, подготовлено выступление

Материалы занятий

Дата Номер Тема Материалы Д/З
8 февраля Занятие 1

Разностное и автоматическое дифференцирование.

Введение в pytorch.

база (jupyter)

cifar (jupyter)

Установить pytorch

15 февраля Занятие 2

Многослойные нейронные сети. Свёрточные нейронные сети.

Линейные и свёрточные автокодировщики.

картинки к лекции

задание 1

22 февраля Занятие 3

ЕМ-алгоритм

Восстановление плотности смеси нормальных распределений

Конспект по ЕМ-алгоритму (2015)

1 марта Занятие 4

Применение ЕМ-алгоритма: кластеризация, индетификация,

тематические модели, мультиязычные тематические модели

слайды

слайды с выводом формул ТМ

задание 2

15 марта Занятие 5

Выступления (темы 1 — 2)

22 марта Занятие 6

Выступления (темы 3 — 6)

29 марта Занятие 7

Рекомендательные системы (часть 1)

слайды

5 апреля Занятие 8

Рекомендательные системы (часть 2)

слайды слайды (negative sampling)

задание 3

12 апреля Занятие 9

Выступления (темы 7 — 9)

19 апреля Занятие 10

Конечные поля, помехоустойчивые коды

4 мая Занятие 11

Коды БЧХ

задание 4

10 мая Занятие 12

Выступления (темы 10—12)

17 мая Занятие 13

Выступления (темы 13—15)

24 мая Занятие 14

Выступления (темы 16—17)

Темы для выступлений

№ п/п Тема Примечание ФИО студента Материалы
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 Введение в Reinforcement Learning (часть 1) Постановки и примеры задачи, терминология, MDP, value функции Драгунов Никита слайды
8 Введение в Reinforcement Learning (часть 2) Q-learning, Deep Q-learning Медведев Алексей слайды
9 Alpha Go Постановку задачи Alpha Go, основные идеи, которые позволили эту

задачу эффективно решить, Alpha Go Zero

Медведев Дмитрий слайды
10 Механизмы внимания для машинного перевода Постановка задачи, стандартные подходы (encoder-decoder),

подход с attention ссылка + мб что-то ещё

Фоминская Галина слайды
11 Механизмы внимания для генерации описания изображения Постановка задачи, стандартные подходы (encoder-decoder),

статья ссылка + мб какие-то другие подходы

Филимонов Влад слайды
12 Memory networks для вопросно-ответных систем Постановка задачи, концепция memory networks ссылка,

end-to-end memory networks ссылка

Шамшиев Мамат слайды
13 Модель WaveNet для генерации звука Постановка задачи, немного о донейросетевых подхода, модель WaveNet и её результаты Шестакова Анна слайды
14 Модели переноса стиля Постановка задачи, базовый алгоритм ссылка,

дальнейшие улучшения и обобщения

Дженаков Дмитрий слайды
15 Идеи современных архитектур для детекции объектов на изображении Постановка задачи, проблемы задачи (double detection и др.),

основные подходы к решению, архитектура R-CNN, другие архитектуры, если есть время

Пономарева Любовь слайды
16 Современные методы оптимизации второго порядка Введение в методы Гаусса-Ньютона, натуральные градиенты,

метод K-FAC для нейросетей, его результаты

Руднев Виктор слайды
17 Wasserstein GAN Достаточно много математики!

Напоминание про GAN, мотивация Wasserstein GAN, алгоритм, немного про теорию вокруг

Цыпин Артем слайды
18 Идеи современных архитектур нейросетей для

семантической сегментации изображений

Постановка задачи, разобрать идеи нескольких архитектур, например, U-net,

Fully Convolutional DenseNets, LinkNet и другие

Захаренко Вадим реферат

Требования к отчёту по практическим заданиям

Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX. Студенты, хорошо выполнившие отчёты по прошлым заданиям, получают возможность сдавать отчёты в формате HTML или PDF, подготовленные с помощью jupyter notebook.

Отчёт должен давать проверяющему ответы на следующие вопросы:

  • К какому курсу относится задание?
  • Какое задание выполнено?
  • Кем выполнено задание?
  • В чём заключалось задание?
  • Что было сделано? Что не было сделано?
  • Даны ли правильные ответы на все теоретические вопросы задания?
  • Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
  • Выполнена ли творческая часть задания?
  • Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
  • Какой литературой пользовался студент?

Требования к программному коду

  • Код должен в целом соответствовать PEP8 (eng или rus )
  • В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, может дополнительно штрафоваться.
  • Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению.
  • Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
  • Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
  • Код, содержащий плагиат, автоматически оценивается в 0 баллов

Страницы прошлых лет

2017-2018 (осень)

2016-2017

2015-2016

2014-2015

2013-2014

2012-2013

2011-2012

Личные инструменты