Сообщества в сетях. Понятие сетевых сообществ (network communities). Плотность связей. Метрики. Аппроксимационные алгоритмы
Влияние на сетях. Пороговые модели принятия решений. Определение наиболее влиятельных узлов. Консенсус в сети
Визуализация. Визуальный анализ сетей. Различные способы укладки графа: радиальная, на основе сил, спектральная
Предсказание связей. Сети и их рост. Взаимность связи. Задача предсказания связей. Обучение с учителем в задачах предсказания связей
2 семестр
Алгоритмы оптимизации и регуляризации глубоких нейронных сетей
Алгоритмы оптимизации глубоких нейронных сетей: градиентный спуск, стохастический градиентный спуск, адаптивный градиентный спуск, импульс Нестерова. Регуляризация нейронных сетей: dropout, dropconnect, ранняя остановка, изменение скорости обучения
Классификация изображений с помощью сверточных нейронных сетей
Сверточные нейронные сети, понятие свертки. Основные сети классификации изображений: AlexNet, VGG, ResNet, GoogLeNet
Детектирование объектов и сегментация изображений
Задача детектирования объекта и сегментации изображения. Регионные нейронные сети, регрессия вписывающего прямоугольника. Полностью сверточные нейронные сети. Обратная свертка.
Векторное представление слов и обработка естественного языка с помощью рекуррентных нейронных сетей
Понятие векторного представления слов. Задача построения векторного пространства слов. Задача определения эмоциональной окраски текста. Рекуррентные нейронные сети. LSTM, GRU, SRU.
Конкурентные и генеративные нейронные сети
Генеративные нейронные сети. Постановка задачи генерации выборки. Генеративные нейронные сети: GAN, VAE. Применение конкурентных нейронных сетей для доменной адаптации.
Оптимизация гиперпараметров нейронных сетей с помощью байесовских методов и методов стохастического поиска
Глубокое обучение с подкреплением. Применение глубоких нейронных сетей в задачах обучения с подкрепления. Актор и критик
Введение в Большие Данные
Hadoop экосистема и MapReduce
Модель вычислений Spark
Потоковая обработка данных (Kafka, Spark Streaming, Flink)
Распараллеливание алгоритмов ML
Приблизительные алгоритмы для больших данных
Архитектуры в продакшене
Языки программирования, интерпретаторы, компиляторы. Язык выражений и его операционная семантика
Линейные программы. Стековая машина
Генерация машинного кода для линейного языка
Синтаксический анализ
Конструкции управления в интерпретаторе
Реализация конструкций управления на уровне стековой машины и машинного кода
Конструкции управления на уровне выражений
Функции и области описаний в интерпретаторе
Функции и области описания в стековой машине и машинном коде
Массивы и встроенные функции.
fixnum-представление.
S-выражения.
Сопоставление с образцом; поддержка в интерпретаторе.
Сопоставление с образцом в стековой машине и машинном коде
Введение в управление разработкой ПО
Обзор подходов к управлению разработкой ПО
Agile: четыре переменных управления проектом
Agile: разработка через тестирование, простой дизайн, рефакторинг
Git, система сборка, codestyle линтеры, зависимости
Конструкции языка, особенности (go — перегрузки, scala — immutable, go — строки)
Статическая типизация, типы, структуры данных, коллекции
Работа под капотом структуры данных
Ввод-вывод и исключения
FP (scala) TypeClass (scala)
Паттерны проектирования в языках
Работа под капотом многопоточка
Тестирование
Логирование
Мониторинги
DevOps
Метрики/ab-эксперименты
MVP/этапность/декомпозирование
Проект
3 семестр
Введение в генеративные модели
Генеративно-состязательные сети
Глубокие генеративно-состязательные сети
Обусловленные генеративно-состязательные сети
Введение в оптимальный транспорт, дистанция Вассерштейна
Оптимальный транспорт, вассерштейн генеративно-состязательные сети
Методы стабилизации обучения
Методы оценки качества работы генеративных моделей
Применение генеративных моделей для переноса стиля
Энергетические модели
Диффузионные модели
Профессия менеджера проектов: суть профессии (зачем она нужна), менеджер проекта в IT, основные функции, основные навыки и компетенции, карьерный путь, кому подойдет профессия, как стать ПМом
Функция#1 — планирование проекта: суть функции (зачем это нужно), задачи (что нужно делать), инструменты (как делать), необходимые навыки (что нужно уметь), как развивать (что и как прокачивать), полезные материалы (что посмотреть, чтобы разобраться)
Функция#2 — ведение проекта
Функция#3 — управление командой
Функция#4 — взаимодействие с заказчиком
Схемы работы над проектами: Scrum, Kanban, Waterfall
Методы проверки программ
Model Checking. Линейная темпоральная логика (LTL, linear temporal logic).
Model Checking. Темпоральная логика деревьев вычислений (CTL, CTL*, computational tree logic)
Bounded model checking
Статический и динамический анализ кода
Алгоритмы поиска ошибок работы с памятью (утечки ресурсов, выход за границы)
Введение в параллельное программирование, формальные модели