программа обучения
Даты и темы занятий, практические задания, даты курсовой работы, дипломной работы и выпускного экзамена
Короткая программа обучения
Подробная программа обучения
С описаниями вебинаров и заданий
11 февраля
20:00 мск
11 февраля
20:00 мск
Модель нейронной сети. Библиотеки Keras и TensorFlow. Платформа Google Colaboratory
Андрей Созыкин
Описание занятия: Первое занятие по нейронным сетям - введение в нишу, путь разработчика в области машинного обучения, математическая модель нейрона, принципы обучения нейронной сети и обучение первой нейронной сети на примере распознавания цифр.
Демонстрация кода в Google Colaboratory

Задание: Распознавание рукописных цифр MNIST
15 февраля
20:00 мск
15 февраля
20:00 мск
Основы Python
Павел Прояев
Описание занятия: Это вводное занятие для тех, кто ещё не работал с Python. Вы пройдёте базовый синтаксис Python, попробуете среду разработки и благодаря этому на занятиях по нейронным сетям вы не будете отвлекаться на незнакомый язык

Задание: Написание бота в Telegram
18 февраля
20:00 мск
18 февраля
20:00 мск
Оценка качества обучения сети. Переобучение. Обучающая, проверочная и тестовая выборки
Андрей Созыкин
Описание занятия: Вторая тема, ключевая в обучении нейронных сетей - обучающая и тестовая выборка, определение качества обучения нейронной сети. Разбирать тему будем на примере распознавания рукописных цифр

Задание: Оценка качества обучения системы распознавания рукописных цифр MNIST
22 февраля
20:00 мск
22 февраля
20:00 мск
Python: data science библиотеки и визуализация данных
Павел Прояев
Описание занятия: Второе занятие по Python - работа с библиотеками, которые особенно удобны при работе с нейронными сетями для визуализации данных, процесса обучения и результата распознавания нейронной сети

Задание: Визуализация процесса и результата обучения нейронной сети
25 февраля
20:00 мск
25 февраля
20:00 мск
Свёрточные нейронные сети. Классификация объектов на изображениях
Андрей Созыкин
Описание занятия: Свёрточные нейронные сети применяются для обработки изображений, сейчас это самый мощный инструмент для работы с любыми изображениями, их принцип работы построен аналогично с работой зрительной системы человека. Мы разберём свёрточные сети на примере распознавания различных объектов

Задание: Распознавание объектов из набора данных CIFAR-10
4 марта
20:00 мск
4 марта
20:00 мск
Предварительно обученные свёрточные нейронные сети
Андрей Созыкин
Описание занятия: В нейронных сетях вы можете использовать часть сети, которая была предварительно обучена другими разработчиками, часто это компании-гиганты типа Google. Использование предобученной нейронной сети значительно упрощает разработку и скорость обучения вашей собственной сети

Задание: Распознавание котов и собак на изображениях
11 марта
20:00 мск
11 марта
20:00 мск
Сегментация и продвинутые операции со свёрткой
Павел Прояев
Описание занятия: В завершении темы свёрточных сетей мы разберём тему сегментации изображений - выделения места положения различных объектов или частей объектов (например, рук, ног и головы людей), а так же использование обратной свёртки для генерации изображений

Задание: Разметка фотографий с улиц для автопилотов автомобилей
18 марта
20:00 мск
18 марта
20:00 мск
Работа с данными
Андрей Созыкин
Описание занятия: Одна из важнейших тем в нейронных сетях, это предварительная обработка данных. На этом занятии вы узнаете о принципах предобработки изображений и текстовых данных.

Задание: Подготовка и очистка данных
25 марта
20:00 мск
25 марта
20:00 мск
Обработка текстов с помощью глубоких нейросетей. Подготовка текста, векторные представления word2vec и GloVe
Андрей Созыкин
Описание занятия: работа с текстами - одна из ключевых областей применения нейронных сетей, на этом занятии мы разберём пример категоризации новостей Reuters с помощью глубоких (но пока не рекуррентных) нейронных сетей

Задание: Определение категории новостей из набора данных Reuters
1 апреля
20:00 мск
1 апреля
20:00 мск
Рекуррентные нейронные сети для обработки текстов
Андрей Созыкин
Описание занятия: Рекуррентные сети - это сети с памятью, они обрабатывают данные не в отрыве друг от друга, как остальные архитектуре, рекуррентные сети находят взаимосвязи в последовательностях данных. Чаще всего они используются для анализа текстов и зарекомендовали себя самым мощным инструментом для решения языковых задач

Задание: Анализ эмоциональной окраски текста из набора данных отзывов на фильмы IMDB
8 апреля
20:00 мск
8 апреля
20:00 мск
Одномерные свёрточные нейронные сети для обработки текста
Андрей Созыкин
Описание занятия: Свёрточные сети можно применять не только для изображений, но и для текстов, если сделать свёрточные сети одномерными, а не двухмерными. Будем разбирать их применение на примере генерации текста

Задание: Автоматическая генерация текста
15 апреля
20:00 мск
15 апреля
20:00 мск
Классическое машинное обучение: алгоритмы и этапы обработки данных
Павел Прояев
Описание занятия: Классическое машинное обучение - это то, что было до нейронных сетей, но при этом понимание их принципов, помогает работать с нейронными сетями особенно в области подготовки и предобработки данных

Задание: Распознавание открытый-закрытый глаз
22 апреля
20:00 мск
22 апреля
20:00 мск
Классическое машинное обучение: признаки для разных типов данных
Павел Прояев
Описание занятия: У каждого типа данных - изображение, звук, тексты, временные ряды - есть классические признаки, которые используются в классическом машинном обучении и которые может быть полезно использовать и в подготовки данных в нейронных сетях

Задание: Распознавание изображений: лицо / не лицо
29 апреля
20:00 мск
29 апреля
20:00 мск
Нейронные сети для решения задачи регрессии
Андрей Созыкин
Описание занятия: Регрессия - это задача, когда итоговым ответом сети является не класс, а действительно число, например, прогноз погоды или оценка возраста человека по фотографии. Нейронные сети успешно решают задачи регрессии, мы разберём эту тему на примере оценки стоимости недвижимости

Задание: Определение стоимости недвижимости из наборов данных Boston Housing и Ames Housing
6 мая
20:00 мск
6 мая
20:00 мск
Полносвязные и рекуррентные нейронные сети для прогнозирования временных рядов
Дмитрий Романов
Описание занятия: Прогнозирование временных рядом похоже на регрессию, только с добавлением нового измерения - времени. Для прогнозирования временных рядом можно применять практически все структуры нейронных сетей: полносвязные, свёрточные и рекуррентные.
Вы уже будете знать все эти архитектуры, мы покажем, как применять их для прогнозирования временных рядов

Задание: Прогнозирование курса валют
13 мая
20:00 мск
13 мая
20:00 мск
Прямые и свёрточные нейронные сети для обработки аудио сигналов
Дмитрий Романов
Описание занятия: Работа с аудио-сигналами (голос, музыка) требует тех же нейросетевых архитектур, главное отличие - предобработка данных, использование спектра или треугольных фильтров. Мы разберём специфику работы с аудио-сигналом на примере распознавания диктора по голосу

Задание: Распознавание диктора по голосу
20 мая
20:00 мск
20 мая
20:00 мск
Генеративные модели на основе автокодировщиков
Павел Прояев
Описание занятия: Автокодировщики сжимают данные в меньшее пространство и выступают нейросетевым аналогом архиватора, но они могут так же использоваться в качестве генеративной модели, например, генерировать рукописные цифры

Задание: Генерация рукописных цифр
27 мая
20:00 мск
27 мая
20:00 мск
Генеративные состязательные сети
Павел Прояев
Описание занятия: Генеративные нейронные сети используются для машинного творчества, генерации изображений, текстов, звука. Архитектура генеративных сетей принципиально отличается от всех остальных нейронных сетей, она состоит из двух конкурирующих друг с другом нейронных сетей. Будем разбирать тему на примере генерации изображений

Задание: Генерация изображений
3 июня
20:00 мск
3 июня
20:00 мск
Введение в генетические алгоритмы
Дмитрий Романов
Описание занятия: Генетические алгоритмы, это моделирование принципов эволюции - естественный отбор, скрещивание и мутации. Они позволяют нестандартным образом решать многие задачи искусственного интеллекта и составляют мощную конкуренцию нейронным сетям. Будем разбирать генетические алгоритмы на примере прохождения лабиринта

Задание: Алгоритм прохождения лабиринта
10 июня
20:00 мск
10 июня
20:00 мск
Генетические алгоритмы для обучения нейронных сетей
Дмитрий Романов
Описание занятия: Огромное преимущество генетических алгоритмов - с их помощью можно перебрать автоматические сотни и тысячи различных архитектур нейронных сетей выбрать лучшую. Генетический алгоритм сможет выбрать за вас, сколько должно быть слоёв в нейронной сети, сколько нейронов в слоях, какая функция активации - это будет совсем не то, что выбрали бы вы и это будет точно эффективнее

Задание: Подбор архитектуры нейронной сети генетическим алгоритмом
17 июня
20:00 мск
17 июня
20:00 мск
Интеграция нейронной сети в production
Андрей Созыкин
Описание занятия: Отдельная важная тема - как интегрировать обученную сеть в реально работающий проект, мы разберём интеграцию через веб-сервис на Python, через javascript для сайтов и интеграцию в Android приложения

Задание: Создание собственного сервиса на Python
24 июня
20:00 мск
24 июня
20:00 мск
Продвинутые примеры использования глубоких нейронных сетей. Обнаружение объектов на изображениях
Андрей Созыкин
Описание занятия: На этом занятии мы собрали дополнительные темы продвинутой работы с глубокими нейронными сетями, эти темы продвинут ваше понимание глубокого обучения, которое вы сформируете в первой половине курса

Задание: Перенос стиля изображений. Определение эмоций человека на фотографии
1 июля
20:00 мск
1 июля
20:00 мск
Сети с вниманием
Павел Прояев
Описание занятия: Сети с вниманием, это продвинутая модель рекуррентных нейронных сетей, которая может не только обрабатывать последовательные данные, но и придавать каким-то данным больший вес, а каким-то меньший и таким образом заметно точнее выявлять закономерности

Задание: Классификация текстов писателей
8 июля
20:00 мск
8 июля
20:00 мск
Класитеризация, siamese сети и domain adaptation
Павел Прояев
Описание занятия: Задача кластеризации - это задача обучения без учителя, когда мы не знаем, а какому классу относятся данные и хотим в большом количестве данных увидеть их внутреннюю структуру - обнаружить плотные устойчивые классы. Это задача успешно решается некоторыми специфическими нейросетевыми архитектурами

Задание: Распознавание лиц
15 июля
20:00 мск
15 июля
20:00 мск
Библиотека PyTourch: пишем свёрточные сети и LSTM
Павел Прояев
Описание занятия: Библиотека Pytourch - это альтернатива библиотеке Keras, которую мы будем проходить в течение курса. На этом занятии мы дадим вам базовые знания по PyTourch, чтобы вы могли в будущем пользоваться этой библиотекой в том числе

Задание: Распознавание объектов из набора данных CIFAR-10
22 июля
20:00 мск
22 июля
20:00 мск
Свободная тема по выбору группы
Дмитрий Романов / Андрей Созыкин / Павел Прояев
Описание занятия: тему занятия выберем по итогам голосования группы - в завершении курса у участников всегда появляются либо пожелания по новым темам, либо потребность проработать определённые темы подробнее
29 июля
20:00 мск
29 июля
20:00 мск
Свободная тема по выбору группы
Дмитрий Романов / Андрей Созыкин / Павел Прояев
Описание занятия: тему занятия выберем по итогам голосования группы - в завершении курса у участников всегда появляются либо пожелания по новым темам, либо потребность проработать определённые темы подробнее
5 августа
20:00 мск
5 августа
20:00 мск
Свободная тема по выбору группы
Дмитрий Романов / Андрей Созыкин / Павел Прояев
Описание занятия: тему занятия выберем по итогам голосования группы - в завершении курса у участников всегда появляются либо пожелания по новым темам, либо потребность проработать определённые темы подробнее
Курсовая и дипломная работа,
устный экзамен
1 мая
1 мая
Публикация задания Курсовой работы
1 мая вы получаете задание Курсовой работы - это будет База данных и минимальная точность работы нейронной сети, которую вы должны будете получить.
Задание будет решаться одной или несколькими архитектурами нейронных сетей, которые вы пройдёте до этого
1 июня
1 июня
Сдача Курсовой работы
До 1 июня вы должны выложить своё решение Курсовой работы и показать необходимую точность работы нейронной сети, до 1 июня у вас будет неограниченное число попыток
10 июня
10 июня
Начало работы над Дипломным проектом
10 июня вы должны заявить тему Дипломного проекта, короткое описание проекта и утвердить тему со своим куратором
5-20 августа
5-20 августа
Защита Дипломных проектов
5-20 августа будут проходить защиты Дипломных проектов, вы должны получить не только хорошую точность работы нейронной сети, но и подробно описать процесс исследования - как собирали и обрабатывали данные, как выбирали и проверяли архитектуру нейронной сети - главным критерием защиты дипломного проекта будет то, что вы действительно качественно прошли процесс исследования и решения задачи
15-25 августа
15-25 августа
Устный экзамен в Skype
15-25 августа будет устный экзамен в Skype, экзамен будет проводиться по билетам, на нём вам нужно будет показать понимание всех архитектур нейронных сетей, процесса работы с данными, процесса исследования. В экзамен войдут все темы, которые мы будем разбирать на курсе, кроме занятий по Python