Добавление неидеальных данных в набор для обучения агента, управляющего символьной машиной

В рамках проекта PySymGym разрабатывается инфраструктура для обучения искусственных нейронных сетей управлению символьными машинами. В том числе, разрабатывается структура набора данных для обучения и собирается сам набор, содержащий трассы исполнения методов. В текущей версии в наборе содержатся только лучшие полученные для данного метода трассы. Но есть гипотеза, что если добавить трассы с немного худшей метрикой (скажем, достигается 100% покрытие, но за бОльшее число шагов), то это может улучшить результаты обучения. Эту гипотезу и предстоит проверить. Для этого необходимо проделать следующее.

  • Разработать способ взвешенного добавления трасс в набор данных (в том числе, предложить функцию веса).
  • Реализовать необходимые функции и структуры данных.
  • Собрать новый набор данных.
  • Обучить на нём модель, оценить её качество.
Требования к студенту
  • Отличное знание языка Python.
  • Отличное знание PyTorch и соответствующей инфраструктуры, включая PyTorch Geometric.
  • Хорошее знание математических основ машинного обучения. В том числе, основы теории вероятностей и математической статистики.
  • Понимание основ статического анализа кода: граф потока данных, межпроцедурный/внутрипроцедурный анализ, символьное исполнение.
Уровень

Бакалаврская ВКР, Магистерская ВКР


Руководитель

Григорьев Семен Вячеславович


Консультант

Grigorev Semyon


Источник

Кафедра системного программирования СПбГУ