Выбор темы проекта

🗓 29 ноября. 🦄 2 балла

К этому моменту необходимо лично согласовать с преподавателем тему проекта и высокоуровневое описание процесса работы над ним. Шаблон \LaTeX для работы представлен здесь, выполнять этапы проекта надо в нём. Рекомендуется использовать VSCode с расширением LaTeX Workshop. Так же доступна версия в overleaf. Допускается выполнение проекта в Typst, если вы умеете, но требования ниже будут предъявляться точно такие же (например, корректное цитирование). В дальнейшем необходимо использовать данный шаблон, дополняя его по мере продвижения в проекте. Все материалы и ссылки по теме удобно собирать в notion, чтобы при нашем обсуждении они были под рукой.

Возможные темы

Главное требование к теме проекта - вам должно быть прикольно его делать, тема должна вас живо интересовать. Второе требование - он должен быть связан с методами оптимизации (хотя бы как-то 🙂). Тему проекта необходимо придумать/ найти/ выбрать самостоятельно.

  • Взять недавно опубликованную статью на конференции NeurIPS, ICML, ICLR. Детально разобраться. Воспроизвести. Попробовать на других данных/моделях/методах. Возможно, предложить посмотреть/протестировать что-нибудь новое.

  • Изучение методов оптимизации в непрерывном времени

    Градиентный спуск можно рассматривать как дискретизацию Эйлера обыкновенного дифференциального уравнения градиентного потока. Оказывается, ускоренным методам тоже можно поставить в соответствие их непрерывные аналоги. В рамках проекта предлагается изучить где особенно полезны могут быть такие аналогии, доказать сходимость некоторых ускоренных методов в выпуклом случае, изучить сходимость методов для случая бесконечной дисперсии.

  • Ребятам, которые серьезно хотят погрузиться в тему методов оптимизации, доказательств оценок, теорем сходимости и других аспектов оптимизации рекомендую написать лектору (Александр Владимирович Гасников, так же можно найти его контакт в группе курса в телеграм) с вопросом, описанием своих интересов.

  • Обучение Reinforcement Learning агентов с помощью безградиентных методов. Ссылки для вдохновения [1], [2], [3]

  • Идеи проектов для курса по методам оптимизации для МГУ (Саровский филиал), который мы проводили в конце прошлого года.

  • Методы оптимизации в прохождении компьютерных игр.

  • Создание питон библиотеки - черного ящика для бенчмаркинга методов оптимизации с разными запусками, единым интерфейсом, построением графиков.

  • Поиграться с диффузионными моделями

    Ссылка.

    Диффузионные модели сегодня часто используются на практике для задач генерации из распределения данных (чаще всего, изображений). В рамках проекта предлагается рассмотреть какую-нибудь простую диффузионную модель, разобраться в спейифике обучения таких моделей с точки зрения оптимизации и проделать несколько своих численных экспериментов.

  • Построение оптимального криптовалютного портфеля

    В рамках проекта предлагается изучить стратегии портфельного инвестирования и сравнить некоторые из них в реальных условиях на рынке криптовалют с помощью программы на языке Python. Нужно будет сформулировать задачу, граничные условия и критерии для сравнения. Можно начать с портфельной теории Марковица и посмотреть, можно ли использовать недавние достижения в NLP для того, чтобы существенно это улучшить.

  • Еще идеи проектов

  • В качестве вдохновения можно посмотреть на лучшие проекты студентов прошлых лет:

Формат сдачи

Загрузить в свой notion в соответствующее поле pdf с названием темы и абстрактом. Убедитесь, что на этом этапе вы удалили остальные пункты из шаблона выше. Пдфка должна выглядеть как-то так:

Example of this stage of the project

Критерии оценивания

  • 0 баллов - файл не загружен вовремя/ файл загружен в другом формате
  • 1 балл - файл загружен вовремя, тема не согласована
  • 2 балла - файл загружен вовремя, тема согласована

Описание решаемой задачи

🗓 2 декабря. 🦄 2 балла

На этом этапе необходимо четко сформулировать решаемую задачу. С большой вероятностью, в этом пункте нужно написать задачу оптимизации или другую решаемую математическую задачу.

Обратите внимание, что если в качестве проекта вы работаете с существующей статьей вы сначала должны написать свою задачу в рамках проекта - разобраться в чём-то, воспроизвести, повторить численные результаты, придумать другие численные эксперименты с другими моделями. А после этого необходимо так же привести в наиболее простом виде решаемую задачу из статьи. На этом этапе и далее важно не присваивать себе чужие заслуги. Постарайтесь избегать формулировок вида: мы решаем задачу (вместо этого можно написать авторы статьи решают задачу), мы хотим исследовать проблему/ предложить метод оптимизации/ проанализировать сходимость, устойчивость (вместо этого авторы статьи предлагают/ исследуют и т.д.)

Формат сдачи

Загрузить в свой notion в соответствующее поле обновленный pdf с добавленной постановкой задачи с учётом фидбека по предыдущим пунктам.

Критерии оценивания

  • 0 баллов - файл не загружен вовремя/ файл загружен в другом формате
  • 1 балл - файл загружен вовремя, решаемая задача сформулирована не чётко, не понятно; решаемая задача неадекватна студенческому проекту (например, для обучения модели нам нужно 1000 GPU и 355 GPU-years или в рамках проекта мы хотим придумать метод минимизации выпуклой гладкой функции с оракулом 1 порядка, который сходится квадратично по значению функции); формулировка задачи для того, чтобы её понять требует большого количества времени чтения профильной литературы по теме; формулировка задачи слишком поверхностна или наивна.
  • 2 балла - файл загружен вовремя, решаемая проблема ясна и сформулирована чётко.

Литературный обзор

🗓 9 декабря. 🦄 8 баллов

На этом этапе необходимо понять научный ландшафт вокруг постановки задачи. Для этого постарайтесь, чтобы после литературного обзора были ясны ответы на следующие вопросы:

  • Какие результаты были достигнуты в похожих формулировках?
  • Есть ли более простые формулировки и результаты в схожей тематике?
  • На какие результаты необходимо существенно опираться?
  • Какие исследования обуславливают актуальность рассматриваемой задачи?
  • С какими источниками необходимо ознакомиться для существенного понимания задачи?
  • Есть ли в открытом доступе код для воспроизведение экспериментов для рассматриваемой задачи?

Можно использовать поиск в интернете, поиск по google scholar, поиск по perplexity.ai, поиск по ссылкам в статье. В идеале ссылаться на рецензируемые опубликованные статьи монографии. Однако, при необходимости, можно ссылаться на статьи на arxiv, блогпосты и другие источники, существенные и авторитетные для задачи. Цитирование необходимо делать с помощью bibtex. Пример откуда его брать приведён ниже:

Здесь показан один из способов найти bibtex для цитирования

Формат сдачи

Загрузить в свой notion в соответствующее поле обновленный pdf с добавленным литературным обзором с учётом фидбека по предыдущим пунктам.

Критерии оценивания

Баллы будут сниматься в следующих случаях (список не полный):

  • Менее 7 релевантных источников по теме.
  • Работа с источниками была проведена поверхностно, ссылки добавлены ради ссылок, а не ради сути.
  • В результате литературного обзора совершенно не понятно, какое место занимает проект на научном ландшафте.

Project proposal

🗓 17 декабря. 🦄 8 баллов

Собираем воедино всё, что было раньше, планируем и проводим фазу прототипирования. На мой взгляд - это важнейший этап проекта. Тут нужно очень четко определить куда и как двигаться, какие тропы уже пройдены другими людьми. Обратите внимание на следующие аспекты:

  • Название проекта.
  • Abstract (краткое описание проекта в один абзац).
  • Описание проекта (обратите внимание на конкретность постановки задачи и её реалистичность).
  • Outcomes - опишите, что конкретно будет выходом Вашего проекта (код, теорема, численные эксперименты, телеграм бот, веб сайт, приложение, рассказ).
  • Литературный обзор.
  • Детальный план работ. Ясно, что в процессе выполнения проекта он будет меняться, однако наличие плана здесь лучше его отсутствия. Здесь вы должны написать что вы будете показывать к стадиям в следующем семестре:
    • Начальная фаза проекта
    • Mid-term project review
    • Предзащита
    • Защита
  • Метрики качества. По возможности, приведите формальные и измеряемые показатели, по которым можно оценивать Ваше решение проект - это могут быть конкретные метрики качества алгоритмов, соц. опрос, логическое доказательство и т.д. Основная задача этого пункта - договориться на берегу о том, как мы сможем объективно оценить работу, проведенную в проекте. Обратите внимание, что результат проекта может быть “отрицательным” в том смысле, что мы собрались исследовать применение метода к какому-то классу задач и у нас не получилось. Это абсолютно нормально, тогда нужно будет просто описать этот процесс (мы попробовали и не вышло, но зато вот такое вот интересное наблюдали).
  • Отчёт о фазе прототипирования. На этом этапе необходимо максимально широкими мазками приступить к работе над проектом. Если есть существующий код - нужно его запустить, представить результаты ваших экспериментов, показать проблемы, с которыми вы столкнулись. Попытаться предпринять первые шаги к решению проекта. Сделать что-нибудь с наскока. Совсем идеально показать какой-нибудь прототип (если это применимо к проекту).

Формат сдачи

Загрузить в свой notion в соответствующее поле обновленный pdf с добавленным литературным обзором с учётом фидбека по предыдущим пунктам.

Критерии оценивания

Баллы будут сниматься в следующих случаях (список не полный):

  • Не учтены комментариипо предыдущим пунктам, если они былми.
  • План работ не реалистичный, очень поверхностный. Обратите внимание, что тяжело уверенно планировать творческие задачи (доказать теорему). Здесь лучше писать чуть более специфично (например, попробовать доказать/ обобщить доказательство из другого источника).
  • Нет метрик качества.
  • Нет литературного обзора.
  • Не написан чёткий выход (outcomes) проекта.
  • Нет отчёта о фазе прототипирования.
  • Изображения в proposal низкого качества плохо подписаны.

Начальная фаза

Постер в латехе с разделением на разделы, объяснением - что в каком разделе где будет. Для удобства приведен 📝 \LaTeX шаблон с 📜 примером. На этом моменте дается фидбек и ставятся задачи к следующему этапу.

Mid-project review

На этом моменте дается фидбек и ставятся задачи к защите проекта.

Предзащита

Publishing plan

На основании результатов проделанной работы мы совместно решаем каким образом необходимо опубликовать проделанный труд. Это может быть: * статья в журнале * статья на конференции * статья для летней школы * доклад на конференции * публикация на вашем сайте * статья в блоге * видео на YouTubeканале и т.д.

В частности, этот план содержит конкретные даты, выбранный журнал, куда это будет подаваться.

Публичная защита

К защите должен быть готов постер в латехе с результатами проекта. Подведение итогов. Здесь в первую очередь оценивается выступление студента. Оно должно быть понятным, структурированным, интересным.

Все дедлайны понимаются как 23:59:59 по Московскому времени.