Ask me (семинар): различия между версиями
Нет описания правки |
|||
| (не показаны 32 промежуточные версии 6 участников) | |||
| Строка 27: | Строка 27: | ||
|- | |- | ||
|Остяков || https://github.com/PavelOstyakov/askme | |Остяков || https://github.com/PavelOstyakov/askme | ||
|- | |- | ||
|Попов || https://github.com/Akiiino/Ask-Me-Anything | |Попов || https://github.com/Akiiino/Ask-Me-Anything | ||
|- | |- | ||
|Ширин || https://github.com/shirinnikita/ask_me | |Ширин || https://github.com/shirinnikita/ask_me | ||
|} | |||
===Разбор статьи=== | |||
В рамках проекта студент должен разобрать интересную для него статью и доложить ее на общем семинаре. | |||
{| class="wikitable" | |||
|- | |||
! Студент !! Статья !! Дата | |||
|- | |||
|Когтенков || [https://papers.nips.cc/paper/5654-deep-knowledge-tracing.pdf Deep Knowledge Tracing] || 9 апреля | |||
|- | |||
|Остяков || [https://arxiv.org/pdf/1612.07411v1.pdf A Context-aware Attention Network for Interactive Question Answering] || 19 марта | |||
|- | |||
|Попов || [https://arxiv.org/pdf/1701.04189.pdf Deep Memory Networks for Attitude Identification] || 26 марта | |||
|- | |||
|Ширин || [https://arxiv.org/abs/1506.06714 Context-Sensitive Generation of Conversational Responses] || 16 апреля | |||
|} | |} | ||
| Строка 51: | Строка 65: | ||
==Семинары== | ==Семинары== | ||
=== | ===H19.03=== | ||
# Паша разобрал статью схожую с нашей. Авторы пытаются научить сеть задавать уточняющие вопросы, если это необходимо. | |||
# Анонсирован семинар на тему генерации датасета, а так же разбор DMN+. | |||
'''Задание''' | |||
Воспроизвести DMN (можно в упрощенной версии) на данных bAbI. '''Дедлайн:''' 9 апреля. | |||
===S02.03=== | |||
Разбирали результаты L4, начали говорить на тему проекта. | |||
===L5=== | |||
Конкур можно найти [https://inclass.kaggle.com/c/en-phonetics здесь]. | |||
===S19.02=== | |||
# Доразбирали вычисление градиента для рекуррентных сетей. | |||
# Еще раз поговорили о затухании и взрыве градиента. | |||
'''Литература для чтения:''' | |||
* Прекрасный блог, где можно прочитать про рекуррентные сети, вот [http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ первая статья], в начале есть ссылки на продолжение. | |||
* Про [http://colah.github.io/posts/2015-08-Understanding-LSTMs/ LSTM] с картинками. | |||
* Tensorflow и [https://www.tensorflow.org/tutorials/recurrent рекурретные] сети. | |||
* Как работать с последовательностями, [https://www.tensorflow.org/tutorials/seq2seq пример] tensorflow. | |||
===S02.02=== | ===S02.02=== | ||
Начали говорить о рекуррентных сетях, я обещал подробнее описать математику обучения. | |||
=== | # Поговорили о [https://en.wikipedia.org/wiki/Recurrent_neural_network рекурретных сетях] в общем | ||
# Архитектура [https://en.wikipedia.org/wiki/Long_short-term_memory LSTM] сети | |||
=== | # Архитектура [https://arxiv.org/pdf/1412.3555v1.pdf GRU] сети | ||
=== | ===S29.01=== | ||
Еще раз вернулись к теме word embedding в контексте нейросетей, список затронутых статей: | |||
# [http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf Первая сеть], предсказывающая следующее слово. | |||
# [https://ronan.collobert.com/pub/matos/2008_nlp_icml.pdff Статья], где заменяется softmax | |||
# [https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf Статья] Миколова про word2vec. | |||
===L4=== | |||
Лабораторную работу можно найти [https://github.com/dasimagin/askme/blob/master/labs/L4%20-%20Word%20embedding.ipynb здесь]. | |||
'''Срок сдачи:''' | |||
* Начало ревью: 24 февраля 23:59 | |||
* Окончание ревью: 8 марта 23:59 | |||
{| class="wikitable" | |||
|- | |||
! Ревьюер !! Разработчик !! Оценка | |||
|- | |||
| Остяков || Попов || - | |||
|- | |||
| Когтенков || Остяков || - | |||
|- | |||
| Ширин || Когтенков || - | |||
|} | |||
===H11.01=== | |||
Произвели разбор L3. Описание модели победителя можно найти, а baseline доступен [https://github.com/dasimagin/askme/blob/master/labs/L3%20-%20Baseline.ipynb здесь]. | |||
Доклады мне не очень понравились. Постараюсь написать общие замечания. | |||
# Прежде всего у докладчика должна быть хорошая речь. | |||
# Нужно выделить то, что действительно важно и интересно для слушателя. | |||
# Делать на доске четкие и простые рисунки и записи, убедиться, что аудитория тебя понимает. | |||
# Не прыгать с темы на тему, а идти в соответсвии с логическим планом. | |||
===S15.12=== | ===S15.12=== | ||
Поговорили про векторное представление слов, word2vec и другие сверточные сети для работы с естественными языками. | Поговорили про векторное представление слов, word2vec и другие сверточные сети для работы с естественными языками. | ||
===H11.12=== | ===H11.12=== | ||
| Строка 93: | Строка 156: | ||
| Пример || 6 core, 3,5 GHz || 64GB || NVIDIA TITAN X | | Пример || 6 core, 3,5 GHz || 64GB || NVIDIA TITAN X | ||
|- | |- | ||
| | | Попов || 4 core, 3.2 GHz || 8 GB || GeForce GTX 750 Ti | ||
|- | |- | ||
| Остяков || 8 core, 2,6 GHz || 50 GB || - | | Остяков || 8 core, 2,6 GHz || 50 GB || - | ||
|- | |- | ||
| Когтенков || | | Когтенков || 2 core, 1.4 GHz || 4 GB || - | ||
|- | |- | ||
| Ширин || | | Ширин || 2 core, 1.9 GHz || 8 GB || - | ||
|} | |} | ||
| Строка 159: | Строка 220: | ||
|- | |- | ||
! Ревьюер !! Разработчик !! Оценка | ! Ревьюер !! Разработчик !! Оценка | ||
|- | |- | ||
| Попов || Остяков || 10 | | Попов || Остяков || 10 | ||
| Строка 168: | Строка 227: | ||
| Когтенков || Ширин || 9.7 | | Когтенков || Ширин || 9.7 | ||
|- | |- | ||
|} | |} | ||
Текущая версия от 18:59, 13 декабря 2018
Описание проекта, последнее занятие.
Правила игры
- Ментор: Симагин Денис.
- Место: офис Яндекса (место встречи)
- Время: c 10:00, каждый четверг.
Общение с ментором вне занятий приветствуется. Можно задавать вопросы, в том числе философские. Но перед тем, как написать, попробуйте спросить это у Яндекса. Также не обижайтесь, если в ответ вам пришла ссылка на документацию или какую-то статью.
Ключевые точки
Сверху нам спущены ключевые точки выполнения проекта. Для нас они скорее явлются формальными, тем не менее мы должны их соблюдать.
- 12-17 декабря - все включились в работу
- 20-25 марта - реализован объем работ, необходимый для зачета
- 30 мая - 3 июня - окончание проектной работы, вы готовы, как пионеры.
- начало июня - конкурс проектов.
Правило 2Х
У вас есть право на одну ошибку. Следующая - я отказываюсь с вами работать.
Репозитории
Студенты хранят свой код в следующих репозиториях
Разбор статьи
В рамках проекта студент должен разобрать интересную для него статью и доложить ее на общем семинаре.
| Студент | Статья | Дата |
|---|---|---|
| Когтенков | Deep Knowledge Tracing | 9 апреля |
| Остяков | A Context-aware Attention Network for Interactive Question Answering | 19 марта |
| Попов | Deep Memory Networks for Attitude Identification | 26 марта |
| Ширин | Context-Sensitive Generation of Conversational Responses | 16 апреля |
Лабораторные
Лабораторные проводятся для практического закрепления материала. Их выполнение учитывается в итоговой оценке.
- Результатом работы является jupyter notebook, где сохранен вывод вашего кода, графики и т.п. А так же его импорт в формат .py. Для автоматизации процесса можно настроить jupyter.
- Когда сроки выполнения лабораторной завершены, вы выкладываете ее на ревью, создавая соответствующее задание и запрос на объединение ветки с мастером (не забудьте добавить проверяющего).
- Ваш коллега проводит ревью кода и может оставлять замечания, как в виде комментариев к заданию, так и в файле .py. Оно предполагает проверку стиля и правильность кода, а также конструктивные замечания по производительности. Однако не стремитесь сразу оптимизировать код. Добейтесь лучше того, чтобы все работало правильно.
- Когда ревью завершено, влейтесь в мастер и закройте задание.
Результаты
Текущие результаты можно найти здесь. Оценка складывается из нескольких частей:
- Работа на семинаре
- Доклад статьи
- Итоговый результат
Семинары
H19.03
- Паша разобрал статью схожую с нашей. Авторы пытаются научить сеть задавать уточняющие вопросы, если это необходимо.
- Анонсирован семинар на тему генерации датасета, а так же разбор DMN+.
Задание Воспроизвести DMN (можно в упрощенной версии) на данных bAbI. Дедлайн: 9 апреля.
S02.03
Разбирали результаты L4, начали говорить на тему проекта.
L5
Конкур можно найти здесь.
S19.02
- Доразбирали вычисление градиента для рекуррентных сетей.
- Еще раз поговорили о затухании и взрыве градиента.
Литература для чтения:
- Прекрасный блог, где можно прочитать про рекуррентные сети, вот первая статья, в начале есть ссылки на продолжение.
- Про LSTM с картинками.
- Tensorflow и рекурретные сети.
- Как работать с последовательностями, пример tensorflow.
S02.02
Начали говорить о рекуррентных сетях, я обещал подробнее описать математику обучения.
- Поговорили о рекурретных сетях в общем
- Архитектура LSTM сети
- Архитектура GRU сети
S29.01
Еще раз вернулись к теме word embedding в контексте нейросетей, список затронутых статей:
- Первая сеть, предсказывающая следующее слово.
- Статья, где заменяется softmax
- Статья Миколова про word2vec.
L4
Лабораторную работу можно найти здесь.
Срок сдачи:
- Начало ревью: 24 февраля 23:59
- Окончание ревью: 8 марта 23:59
| Ревьюер | Разработчик | Оценка |
|---|---|---|
| Остяков | Попов | - |
| Когтенков | Остяков | - |
| Ширин | Когтенков | - |
H11.01
Произвели разбор L3. Описание модели победителя можно найти, а baseline доступен здесь.
Доклады мне не очень понравились. Постараюсь написать общие замечания.
- Прежде всего у докладчика должна быть хорошая речь.
- Нужно выделить то, что действительно важно и интересно для слушателя.
- Делать на доске четкие и простые рисунки и записи, убедиться, что аудитория тебя понимает.
- Не прыгать с темы на тему, а идти в соответсвии с логическим планом.
S15.12
Поговорили про векторное представление слов, word2vec и другие сверточные сети для работы с естественными языками.
H11.12
Занятие было посвящено выполнению второй лабораторной. Интересный ноутбук скоро появится [здесь].
S08.12
1. Известные архитектуры сверточных сетей
2. Поговорили:
- На что активируются нейроны в зависимости от слоя
- Генерация 'похожих картинок'
- Послойное обучение сети
- Переобучение или дообучение уже готовой сети
3. Изучили примеры для библиотеки Keras
- Полносвязанная сеть
- Сверточная сеть
- Переобучение сверточной сети
L3
| Студент | CPU | RAM | GPU |
|---|---|---|---|
| Пример | 6 core, 3,5 GHz | 64GB | NVIDIA TITAN X |
| Попов | 4 core, 3.2 GHz | 8 GB | GeForce GTX 750 Ti |
| Остяков | 8 core, 2,6 GHz | 50 GB | - |
| Когтенков | 2 core, 1.4 GHz | 4 GB | - |
| Ширин | 2 core, 1.9 GHz | 8 GB | - |
Победить в конкурсе классификации, срок 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. Полносвязанные сети:
- Множественная классификация и softmax.
- Метод обратного распространения ошибки, проблема при обучении.
- Инициализация весов: и xavier и другие вариации.
- Кратко о dropout.
L2
Задание можно найти здесь, срок 23:59 11 декабря.
S03.11
- Признаки и какие они бывают. Об отборе признаков, кратко тут. Может помочь на конкурсе.
- Задача бинарной классификации.
- Градиентный спуск.
- Стохастический градиентный спуск. На английской вике больше интересной информации.
Для дополнительного чтения:
- Что полезно знать о машинном обучении.
- Английская вика про признаки
- Отбор признаков.
- Мощная теоретическая работа про стохастический градиентный спуск.
L1
| Ревьюер | Разработчик | Оценка |
|---|---|---|
| Попов | Остяков | 10 |
| Остяков | Когтенков | 10 |
| Когтенков | Ширин | 9.7 |
Для первой лабораторной работы вам потребуется:
- Настроить себе pip для Python3
- Освоить Jupyter notebook
- Установить пакеты scipy: numpy, scipy, matplotlib