Курс «Глубокое обучение» предназначен для студентов, уже обладающих основными знаниями и навыками в области математического анализа, линейной алгебры, теории вероятностей и классического машинного обучения
В первой части курса со студентами будут разобраны основы работы с пакетом pytorch для работы с нейронными сетями и повторены теоретические основы лежащие в основе обучения нейронных сетей
В первом блоке курса на примере многослойного перцептрона обсуждаются основные трудности, возникающие при обучении нейронных сетей и демонстрируются способы преодоления этих трудностей, как то: инициализация весов, слои нормализации, residual блоки и т.д.
Также в курсе рассмотрены методы оптимизации весов нейронных сетей, разобраны алгоритмы и теория, лежащие в основе наиболее часто используемых оптимизаторов и режимов обучения.
В следующей части курса разобраны конволюционные нейронные сети, известные архитектуры таких сетей (ResNet, DenseNet, EfficientNetV2) и особенности работы с ними. В этом же блоке рассматривается концепция аугментации входных данных и методы работы с геномными последовательностями, основанные на представлении их в виде аналогичным изображениям тензоров. Дополнительно внимание уделяется методике transfer learning и ее использованию при работе с биологическими данными.
В третьей части курса студенты узнают о наиболее популярных архитектурах рекуррентных нейронных сетей, а также познакомятся с концепцией слоев внимания и attention transformers. Разобраны методы обучения сложных архитектур нейросетей для задач self-supervised learning и representation learning.
Четвертая часть курса посвящена генеративным нейронным сетям и сетям, используемым для получения представлений данных низкой размерности – автокодировщикам, генеративным состязательным сетям и современным диффузионным нейронным сетям.
Отдельное занятие будет уделено методам интерпретации предсказаний нейронных сетей — картам внимания, LIME, SHAP и их интерпретации в контексте биологических данных.
Преподаватели
- Дмитрий Пензар