МПОШ. Продуктовый сектор. Раздел “ИТ”. Практика заключительного этапа.

Задание доступно в электронном виде по ссылке: olimp.miet.ru/ppo_it

Условие

В 2226 году Земля установила контакт с множеством инопланетных цивилизаций. Учёный Михаил занимается приёмом, анализом и классификацией (определением цивилизации-отправителя) радиосигналов, посылаемых братьями по разуму по всей галактики. Но вот беда: различных видов инопланетян оказалось поразительно много, а звуки их голосов не всегда различимы человеческим ухом. Михаил решил прибегнуть к помощи сверхточных датчиков для улавливания сигналов и искусственного интеллекта для их классификации. С датчиками Михаил в состоянии разобраться сам, а вот инженер-программист из учёного посредственный. Помогите Михаилу написать нейронную сеть для классификации сигналов и разработать приложение для удобного взаимодействия с обученной моделью.

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

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

Техническое задание

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

Обучение модели

Обучение модели следует проводить в сервисе Яндекс DataSphere. Для доступа к сервису используйте учетные данные, выданные организаторами на площадке проведения, логин в домене ppo.idp.yandexcloud.net и пароль. Инструкция по работе с сервисом доступна по ссылке.

В наборе данных содержится 1600 записей, из них 1200 для обучения и 400 для валидации.

Авторизация

Необходимо предусмотреть 2 роли пользователей:

  • администратор;
  • пользователь.

Администратор

В функциональные возможности администратора должно входить только создание новых пользователей, с внесением информации о пользователе не менее чем в два текстовых полях (Имя, Фамилия).

Пользователь

В функциональные возможности пользователя должно входить:

  • загрузка набора данных для проверки работы модели;
  • просмотр аналитики.

Данные для входа пользователей должны храниться в СУБД.

Аналитика

В интерфейсе пользователя необходимо реализовать следующую функциональность:

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

Пользовательский интерфейс

Интерфейс пользователя должен предоставлять следующие возможности:

  • авторизация пользователей;
  • экранная форма/веб-страница с информацией о пользователе;
  • экранная форма/веб-страница с графиками и диаграммами;
  • масштабирование построенных графиков и диаграмм;
  • загрузка “тестового” набора данных через форму загрузки файла;
  • отображение точности и потерь на тестовом наборе данных.

Входные данные

Набор данных для обучения и валидации хранится в архиве в формате .npz. и доступен по ссылке: .

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

В массиве valid_x находятся wav-файлы посланий инопланетян, в valid_y - соответствующие им номера (классы) цивилизаций для валидации.

Набор данных для проверки работы модели нейросети хранится в архиве в формате .npz. Пароль от архива будет выдан экспертной комиссией при проверке работы.

В массиве test_x находятся wav-файлы посланий инопланетян, в test_y — соответствующие им номера (классы) цивилизаций.

Ссылка 1 для скачивания архива: https://disk.yandex.ru/d/39RhMM5NiJvgcg.

Ссылка 2 для скачивания архива: https://dt.miet.ru/owncloud/index.php/s/sCAGCM8iVZt4biR.

Рекомендации к выполнению

Программный продукт должен иметь графический пользовательский интерфейс и быть реализован на любой платформе.

Рекомендуется разделить программный продукт на модули: back-end и front-end.

Разработку рекомендуется вести с помощью системы контроля версий git.

Рекомендуется использовать unit-тестирование при разработке продукта.

Регламент испытаний

  1. Демонстрация лога обучения и методов сохранения модели
  2. Запуск программного продукта
  3. Авторизация администратора
  4. Создание пользователя по данным от жюри
  5. Авторизация пользователя
  6. Загрузка тестового набора данных
  7. Демонстрация информации о тестовом наборе данных (точность и потери)
  8. Демонстрация графиков и диаграмм
  9. Демонстрация работы СУБД, в том числе, включающая в себя проверку персистентного хранения данных
  10. Демонстрация работы unit-тестов
  11. Загрузка материалов в облачную папку

Загрузка решений

По окончании защиты необходимо загрузить все исходные файлы проекта:

  • архив с репозиторием/программный код;
  • обученную модель в формате .h5;
  • файлы БД (дамп БД);
  • снимки экрана пользовательского интерфейса -

в облачную папку в соответствии с наименованием вашей команды.

Адрес облачной папки:

https://cloud.predprof.olimpiada.ru/index.php/s/XqSC8kXAPEjf4zn

Наверх